diff --git a/docker/nocobase-full/nocobase.conf b/docker/nocobase-full/nocobase.conf index 61ddc70335..7de9bbb630 100644 --- a/docker/nocobase-full/nocobase.conf +++ b/docker/nocobase-full/nocobase.conf @@ -17,7 +17,7 @@ server { server_name _; root /app/nocobase/packages/app/client/dist; index index.html; - client_max_body_size 20M; + client_max_body_size 0; access_log /var/log/nginx/nocobase.log apm; diff --git a/docker/nocobase/nocobase.conf b/docker/nocobase/nocobase.conf index 7c0c4d2c41..d178440bf9 100644 --- a/docker/nocobase/nocobase.conf +++ b/docker/nocobase/nocobase.conf @@ -17,7 +17,7 @@ server { server_name _; root /app/nocobase/node_modules/@nocobase/app/dist/client; index index.html; - client_max_body_size 1000M; + client_max_body_size 0; access_log /var/log/nginx/nocobase.log apm; gzip on; diff --git a/packages/core/cli/nocobase.conf.tpl b/packages/core/cli/nocobase.conf.tpl index a40343cc02..141ca74282 100644 --- a/packages/core/cli/nocobase.conf.tpl +++ b/packages/core/cli/nocobase.conf.tpl @@ -17,7 +17,7 @@ server { server_name _; root {{cwd}}/node_modules/@nocobase/app/dist/client; index index.html; - client_max_body_size 1000M; + client_max_body_size 0; access_log /var/log/nginx/nocobase.log apm; gzip on; diff --git a/packages/core/client/src/locale/de-DE.json b/packages/core/client/src/locale/de-DE.json new file mode 100644 index 0000000000..1f0df5805f --- /dev/null +++ b/packages/core/client/src/locale/de-DE.json @@ -0,0 +1,888 @@ +{ + "Display <1><0>10<1>20<2>50<3>100 items per page": "<1><0>10<1>20<2>50<3>100 Einträge pro Seite anzeigen", + "Meet <1><0>All<1>Any conditions in the group": "<1><0>Alle<1>Beliebige Bedingungen in der Gruppe erfüllen", + "Open in<1><0>Modal<1>Drawer<2>Window": "Öffnen in<1><0>Modal<1>Seitenleiste<2>Fenster", + "{{count}} filter items": "{{count}} Filterelemente", + "{{count}} more items": "{{count}} weitere Einträge", + "Total {{count}} items": "Insgesamt {{count}} Einträge", + "Today": "Heute", + "Yesterday": "Gestern", + "Tomorrow": "Morgen", + "Month": "Monat", + "Week": "Woche", + "This week": "Diese Woche", + "This month": "Dieser Monat", + "This year": "Dieses Jahr", + "Next year": "Nächstes Jahr", + "Last week": "Letzte Woche", + "Next week": "Nächste Woche", + "Last month": "Letzter Monat", + "Next month": "Nächster Monat", + "Last quarter": "Letztes Quartal", + "This quarter": "Dieses Quartal", + "Next quarter": "Nächstes Quartal", + "Last year": "Letztes Jahr", + "Last 7 days": "Letzte 7 Tage", + "Last 30 days": "Letzte 30 Tage", + "Last 90 days": "Letzte 90 Tage", + "Next 7 days": "Nächste 7 Tage", + "Next 30 days": "Nächste 30 Tage", + "Next 90 days": "Nächste 90 Tage", + "Work week": "Arbeitswoche", + "Day": "Tag", + "Agenda": "Agenda", + "Date": "Datum", + "Time": "Zeit", + "Event": "Ereignis", + "None": "Keine", + "Unconnected": "Nicht verbunden", + "System settings": "Systemeinstellungen", + "System title": "Systemtitel", + "Settings": "Einstellungen", + "Logo": "Logo", + "Add menu item": "Menüpunkt hinzufügen", + "Page": "Seite", + "Name": "Name", + "Icon": "Symbol", + "Group": "Gruppe", + "Link": "Link", + "Tab": "Tab", + "Save conditions": "Bedingungen speichern", + "Edit menu item": "Menüpunkt bearbeiten", + "Move to": "Verschieben nach", + "Insert left": "Links einfügen", + "Insert right": "Rechts einfügen", + "Insert inner": "Innen einfügen", + "Delete": "Löschen", + "Disassociate": "Trennen", + "Disassociate record": "Datensatz trennen", + "Are you sure you want to disassociate it?": "Sind Sie sicher, dass Sie die Verbindung trennen möchten?", + "UI editor": "UI-Editor", + "Collection": "Sammlung", + "Collection selector": "Sammlungsauswahl", + "Providing certain collections as options for users, typically used in polymorphic or inheritance scenarios": "Bestimmte Sammlungen als Optionen für Benutzer bereitstellen, typischerweise verwendet in polymorphen oder Vererbungsszenarien", + "Collections & Fields": "Sammlungen & Felder", + "All collections": "Alle Sammlungen", + "Add category": "Kategorie hinzufügen", + "Enable child collections": "Untersammlungen aktivieren", + "Allow adding records to the current collection": "Hinzufügen von Datensätzen zur aktuellen Sammlung erlauben", + "Delete category": "Kategorie löschen", + "Edit category": "Kategorie bearbeiten", + "Collection category": "Sammlungskategorie", + "Collection template": "Sammlungsvorlage", + "Sort": "Sortieren", + "Categories": "Kategorien", + "Visible": "Sichtbar", + "Read only": "Nur lesen", + "Easy reading": "Leicht lesbar", + "Hidden": "Versteckt", + "Hidden(reserved value)": "Versteckt (reservierter Wert)", + "Not required": "Nicht erforderlich", + "Value": "Wert", + "Disabled": "Deaktiviert", + "Enabled": "Aktiviert", + "Problematic": "Problematisch", + "Setting": "Einstellung", + "On": "Ein", + "Off": "Aus", + "Empty": "Leer", + "Linkage rule": "Verknüpfungsregel", + "Linkage rules": "Verknüpfungsregeln", + "Condition": "Bedingung", + "Properties": "Eigenschaften", + "Add linkage rule": "Verknüpfungsregel hinzufügen", + "Add property": "Eigenschaft hinzufügen", + "Category name": "Kategoriename", + "Roles & Permissions": "Rollen & Berechtigungen", + "Edit profile": "Profil bearbeiten", + "Change password": "Passwort ändern", + "Old password": "Altes Passwort", + "New password": "Neues Passwort", + "Switch role": "Rolle wechseln", + "Super admin": "Superadministrator", + "Language": "Sprache", + "Allow sign up": "Registrierung erlauben", + "Enable SMS authentication": "SMS-Authentifizierung aktivieren", + "Sign out": "Abmelden", + "Cancel": "Abbrechen", + "Submit": "Absenden", + "Close": "Schließen", + "Set the data scope": "Datenbereich festlegen", + "Set data loading mode": "Datenladungsmodus festlegen", + "Load all data when filter is empty": "Alle Daten laden, wenn der Filter leer ist", + "Do not load data when filter is empty": "Keine Daten laden, wenn der Filter leer ist", + "Data loading mode": "Datenladungsmodus", + "Data blocks": "Datenblöcke", + "Filter blocks": "Filterblöcke", + "Table": "Tabelle", + "Table OID(Inheritance)": "Tabellen-OID (Vererbung)", + "Form": "Formular", + "List": "Liste", + "Grid Card": "Rasterkarte", + "pixels": "Pixel", + "Screen size": "Bildschirmgröße", + "Display title": "Titel anzeigen", + "Set the count of columns displayed in a row": "Anzahl der Spalten in einer Zeile festlegen", + "Column": "Spalte", + "Phone device": "Mobiltelefon", + "Tablet device": "Tablet", + "Desktop device": "Desktop", + "Large screen device": "Großer Bildschirm", + "Collapse": "Einklappen", + "Select data source": "Datenquelle auswählen", + "Calendar": "Kalender", + "Delete events": "Ereignisse löschen", + "This event": "Dieses Ereignis", + "This and following events": "Dieses und folgende Ereignisse", + "All events": "Alle Ereignisse", + "Delete this event?": "Dieses Ereignis löschen?", + "Delete Event": "Ereignis löschen", + "Kanban": "Kanban", + "Gantt": "Gantt", + "Create gantt block": "Gantt-Block erstellen", + "Progress field": "Fortschrittsfeld", + "Time scale": "Zeitskala", + "Hour": "Stunde", + "Quarter of day": "Viertel des Tages", + "Half of day": "Halber Tag", + "Year": "Jahr", + "QuarterYear": "Jahresquartal", + "Select grouping field": "Gruppierungsfeld auswählen", + "Media": "Medien", + "Markdown": "Markdown", + "Wysiwyg": "Wysiwyg", + "Chart blocks": "Diagrammblöcke", + "Column chart": "Säulendiagramm", + "Bar chart": "Balkendiagramm", + "Line chart": "Liniendiagramm", + "Pie chart": "Kreisdiagramm", + "Area chart": "Flächendiagramm", + "Other chart": "Anderes Diagramm", + "Other blocks": "Andere Blöcke", + "In configuration": "In Konfiguration", + "Chart title": "Diagrammtitel", + "Chart type": "Diagrammtyp", + "Chart config": "Diagrammkonfiguration", + "Templates": "Vorlagen", + "Select template": "Vorlage auswählen", + "Action logs": "Aktionslogs", + "Create template": "Vorlage erstellen", + "Edit markdown": "Markdown bearbeiten", + "Add block": "Block hinzufügen", + "Add new": "Neu hinzufügen", + "Add record": "Datensatz hinzufügen", + "Add child": "Kind hinzufügen", + "Collapse all": "Alle einklappen", + "Expand all": "Alle ausklappen", + "Expand/Collapse": "Erweitern/Einklappen", + "Default collapse": "Standardmäßig eingeklappt", + "Tree table": "Baumtabelle", + "Custom field display name": "Benutzerdefinierter Feldanzeigename", + "Display fields": "Anzeigefelder der Sammlung", + "Edit record": "Datensatz bearbeiten", + "Delete menu item": "Menüpunkt löschen", + "Add page": "Seite hinzufügen", + "Add group": "Gruppe hinzufügen", + "Add link": "Link hinzufügen", + "Insert above": "Oben einfügen", + "Insert below": "Unten einfügen", + "Save": "Speichern", + "Delete block": "Block löschen", + "Are you sure you want to delete it?": "Sind Sie sicher, dass Sie es löschen möchten?", + "This is a demo text, **supports Markdown syntax**.": "Dies ist ein Beispieltext, **unterstützt Markdown-Syntax**.", + "Filter": "Filter", + "Connect data blocks": "Datenblöcke verbinden", + "Action type": "Aktionstyp", + "Actions": "Aktionen", + "Insert": "Einfügen", + "Insert if not exists": "Einfügen, wenn nicht vorhanden", + "Insert if not exists, or update": "Einfügen, wenn nicht vorhanden, sonst aktualisieren", + "Determine whether a record exists by the following fields": "Bestimmen Sie, ob ein Datensatz anhand der folgenden Felder existiert", + "Update": "Aktualisieren", + "Update record": "Datensatz aktualisieren", + "View": "Ansicht", + "View record": "Datensatz ansehen", + "Refresh": "Aktualisieren", + "Data changes": "Datenänderungen", + "Field name": "Feldname", + "Before change": "Vor der Änderung", + "After change": "Nach der Änderung", + "Delete record": "Datensatz löschen", + "Delete collection": "Sammlung löschen", + "Create collection": "Sammlung erstellen", + "Collection display name": "Anzeigename der Sammlung", + "Collection name": "Sammlungsname", + "Inherits": "Erbt von", + "Primary key, unique identifier, self growth": "Primärschlüssel, eindeutiger Bezeichner, automatische Erhöhung", + "Store the creation user of each record": "Speichert den Erstellungsbenutzer jedes Datensatzes", + "Store the last update user of each record": "Speichert den letzten Aktualisierungsbenutzer jedes Datensatzes", + "Store the creation time of each record": "Speichert die Erstellungszeit jedes Datensatzes", + "Store the last update time of each record": "Speichert die letzte Aktualisierungszeit jedes Datensatzes", + "More options": "Weitere Optionen", + "Records can be sorted": "Datensätze können sortiert werden", + "Calendar collection": "Kalendersammlung", + "General collection": "Allgemeine Sammlung", + "Connect to database view": "Mit Datenbankansicht verbinden", + "Sync from database": "Von Datenbank synchronisieren", + "Source collections": "Quellsammlungen", + "Field source": "Feldquelle", + "Preview": "Vorschau", + "Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.": "Zufällig generiert und kann geändert werden. Unterstützt Buchstaben, Zahlen und Unterstriche, muss mit einem Buchstaben beginnen.", + "Edit": "Bearbeiten", + "Edit collection": "Sammlung bearbeiten", + "Configure fields": "Felder konfigurieren", + "Configure columns": "Spalten konfigurieren", + "Edit field": "Feld bearbeiten", + "Override": "Überschreiben", + "Override field": "Feld überschreiben", + "Configure fields of {{title}}": "Felder von {{title}} konfigurieren", + "Association fields filter": "Filter für Verknüpfungsfelder", + "PK & FK fields": "PK & FK Felder", + "Association fields": "Verknüpfungsfelder", + "Choices fields": "Auswahlfelder", + "System fields": "Systemfelder", + "General fields": "Allgemeine Felder", + "Inherited fields": "Geerbte Felder", + "Parent collection fields": "Felder der übergeordneten Sammlung", + "Basic": "Grundlegend", + "Single line text": "Einzeiliger Text", + "Long text": "Langer Text", + "Phone": "Telefon", + "Email": "E-Mail", + "Number": "Zahl", + "Integer": "Ganzzahl", + "Percent": "Prozent", + "Password": "Passwort", + "Advanced type": "Erweitert", + "Formula": "Formel", + "Formula description": "Berechnet einen Wert in jedem Datensatz basierend auf anderen Feldern im selben Datensatz.", + "Choices": "Auswahlmöglichkeiten", + "Checkbox": "Kontrollkästchen", + "Single select": "Einzelauswahl", + "Multiple select": "Mehrfachauswahl", + "Radio group": "Radiogruppe", + "Checkbox group": "Kontrollkästchengruppe", + "China region": "China-Region", + "Date & Time": "Datum & Zeit", + "Datetime": "Datum/Zeit", + "Relation": "Beziehung", + "Link to": "Verknüpfen mit", + "Link to description": "Wird verwendet, um Sammlungsbeziehungen schnell zu erstellen und ist mit den meisten gängigen Szenarien kompatibel. Geeignet für Nicht-Entwickler. Als Feld dargestellt, ist es eine Dropdown-Auswahl zur Auswahl von Datensätzen aus der Zielsammlung. Nach der Erstellung werden gleichzeitig die zugehörigen Felder der aktuellen Sammlung in der Zielsammlung generiert.", + "Sub-table": "Untertabelle", + "Sub-details": "Unterdetails", + "Sub-form(Popover)": "Unterformular (Popover)", + "System info": "Systeminformationen", + "Created at": "Erstellt am", + "Last updated at": "Zuletzt aktualisiert am", + "Created by": "Erstellt von", + "Last updated by": "Zuletzt aktualisiert von", + "Add field": "Feld hinzufügen", + "Field display name": "Feldanzeigename", + "Field type": "Feldtyp", + "Field interface": "Feldschnittstelle", + "Date format": "Datumsformat", + "Year/Month/Day": "Jahr/Monat/Tag", + "Year-Month-Day": "Jahr-Monat-Tag", + "Day/Month/Year": "Tag/Monat/Jahr", + "Show time": "Zeit anzeigen", + "Time format": "Zeitformat", + "12 hour": "12 Stunden", + "24 hour": "24 Stunden", + "Relationship type": "Beziehungstyp", + "Inverse relationship type": "Inverse Beziehungstyp", + "Source collection": "Quellsammlung", + "Source key": "Quellschlüssel", + "Target collection": "Zielsammlung", + "Through collection": "Zwischensammlung", + "Target key": "Zielschlüssel", + "Foreign key": "Fremdschlüssel", + "One to one": "Eins zu Eins", + "One to many": "Eins zu Viele", + "Many to one": "Viele zu Eins", + "Many to many": "Viele zu Viele", + "Foreign key 1": "Fremdschlüssel 1", + "Foreign key 2": "Fremdschlüssel 2", + "One to one description": "Wird verwendet, um eine Eins-zu-Eins-Beziehung zu erstellen. Zum Beispiel hat ein Benutzer ein Profil.", + "One to many description": "Wird verwendet, um eine Eins-zu-Viele-Beziehung zu erstellen. Zum Beispiel hat ein Land viele Städte und eine Stadt kann nur in einem Land sein. Als Feld dargestellt, ist es eine Untertabelle, die die Datensätze der zugehörigen Sammlung anzeigt. Bei der Erstellung wird automatisch ein Viele-zu-Eins-Feld in der zugehörigen Sammlung generiert.", + "Many to one description": "Wird verwendet, um Viele-zu-Eins-Beziehungen zu erstellen. Zum Beispiel kann eine Stadt nur zu einem Land gehören und ein Land kann viele Städte haben. Als Feld dargestellt, ist es eine Dropdown-Auswahl zur Auswahl eines Datensatzes aus der zugehörigen Sammlung. Nach der Erstellung wird automatisch ein Eins-zu-Viele-Feld in der zugehörigen Sammlung generiert.", + "Many to many description": "Wird verwendet, um Viele-zu-Viele-Beziehungen zu erstellen. Zum Beispiel hat ein Schüler viele Lehrer und ein Lehrer hat viele Schüler. Als Feld dargestellt, ist es eine Dropdown-Auswahl zur Auswahl von Datensätzen aus der zugehörigen Sammlung.", + "Generated automatically if left blank": "Wird automatisch generiert, wenn leer gelassen", + "Display association fields": "Verknüpfungsfelder anzeigen", + "Display field title": "Feldtitel anzeigen", + "Field component": "Feldkomponente", + "Allow multiple": "Mehrere erlauben", + "Quick upload": "Schnelles Hochladen", + "Select file": "Datei auswählen", + "Subtable": "Untertabelle", + "Sub-form": "Unterformular", + "Field mode": "Feldmodus", + "Allow add new data": "Hinzufügen neuer Daten erlauben", + "Record picker": "Datensatzauswahl", + "Toggles the subfield mode": "Schaltet den Unterfeld-Modus um", + "Selector mode": "Auswahlmodus", + "Subtable mode": "Untertabellenmodus", + "Subform mode": "Unterformularmodus", + "Edit block title": "Blocktitel bearbeiten", + "Block title": "Blocktitel", + "Pattern": "Muster", + "Operator": "Operator", + "Editable": "Bearbeitbar", + "Readonly": "Schreibgeschützt", + "Easy-reading": "Leicht lesbar", + "Add filter": "Filter hinzufügen", + "Add filter group": "Filtergruppe hinzufügen", + "Comparision": "Vergleich", + "is": "ist", + "is not": "ist nicht", + "contains": "enthält", + "does not contain": "enthält nicht", + "starts with": "beginnt mit", + "not starts with": "beginnt nicht mit", + "ends with": "endet mit", + "not ends with": "endet nicht mit", + "is empty": "ist leer", + "is not empty": "ist nicht leer", + "Edit chart": "Diagramm bearbeiten", + "Add text": "Text hinzufügen", + "Filterable fields": "Filterbare Felder", + "Edit button": "Schaltfläche bearbeiten", + "Hide": "Ausblenden", + "Enable actions": "Aktionen aktivieren", + "Import": "Importieren", + "Export": "Exportieren", + "Customize": "Anpassen", + "Custom": "Benutzerdefiniert", + "Function": "Funktion", + "Popup form": "Popup-Formular", + "Flexible popup": "Flexibles Popup", + "Configure actions": "Aktionen konfigurieren", + "Display order number": "Bestellnummer anzeigen", + "Enable drag and drop sorting": "Drag & Drop-Sortierung aktivieren", + "Triggered when the row is clicked": "Wird ausgelöst, wenn auf die Zeile geklickt wird", + "Add tab": "Tab hinzufügen", + "Disable tabs": "Tabs deaktivieren", + "Details": "Details", + "Edit form": "Formular bearbeiten", + "Create form": "Formular erstellen", + "Form (Edit)": "Formular (Bearbeiten)", + "Form (Add new)": "Formular (Neu hinzufügen)", + "Edit tab": "Tab bearbeiten", + "Relationship blocks": "Beziehungsblöcke", + "Select record": "Datensatz auswählen", + "Display name": "Anzeigename", + "Select icon": "Symbol auswählen", + "Custom column name": "Benutzerdefinierter Spaltenname", + "Edit description": "Beschreibung bearbeiten", + "Required": "Erforderlich", + "Unique": "Eindeutig", + "Primary": "Primär", + "Auto increment": "Automatische Erhöhung", + "Label field": "Beschriftungsfeld", + "Default is the ID field": "Standard ist das ID-Feld", + "Set default sorting rules": "Standardsortierregeln festlegen", + "Set validation rules": "Validierungsregeln festlegen", + "Max length": "Maximale Länge", + "Min length": "Minimale Länge", + "Maximum": "Maximum", + "Minimum": "Minimum", + "Max length must greater than min length": "Maximale Länge muss größer als minimale Länge sein", + "Min length must less than max length": "Minimale Länge muss kleiner als maximale Länge sein", + "Maximum must greater than minimum": "Maximum muss größer als Minimum sein", + "Minimum must less than maximum": "Minimum muss kleiner als Maximum sein", + "Validation rule": "Validierungsregel", + "Add validation rule": "Validierungsregel hinzufügen", + "Format": "Format", + "Regular expression": "Regulärer Ausdruck", + "Error message": "Fehlermeldung", + "Length": "Länge", + "The field value cannot be greater than ": "Der Feldwert darf nicht größer sein als ", + "The field value cannot be less than ": "Der Feldwert darf nicht kleiner sein als ", + "The field value is not an integer number": "Der Feldwert ist keine ganze Zahl", + "Set default value": "Standardwert festlegen", + "Default value": "Standardwert", + "is before": "ist vor", + "is after": "ist nach", + "is on or after": "ist am oder nach", + "is on or before": "ist am oder vor", + "is between": "ist zwischen", + "Upload": "Hochladen", + "Select level": "Ebene auswählen", + "Province": "Provinz", + "City": "Stadt", + "Area": "Gebiet", + "Street": "Straße", + "Village": "Dorf", + "Must select to the last level": "Muss bis zur letzten Ebene ausgewählt werden", + "Move {{title}} to": "{{title}} verschieben nach", + "Target position": "Zielposition", + "After": "Nach", + "Before": "Vor", + "Add {{type}} before \"{{title}}\"": "{{type}} vor \"{{title}}\" hinzufügen", + "Add {{type}} after \"{{title}}\"": "{{type}} nach \"{{title}}\" hinzufügen", + "Add {{type}} in \"{{title}}\"": "{{type}} in \"{{title}}\" hinzufügen", + "Original name": "Ursprünglicher Name", + "Custom name": "Benutzerdefinierter Name", + "Custom Title": "Benutzerdefinierter Titel", + "Options": "Optionen", + "Option value": "Optionswert", + "Option label": "Optionsbezeichnung", + "Color": "Farbe", + "Background Color": "Hintergrundfarbe", + "Text Align": "Textausrichtung", + "Add option": "Option hinzufügen", + "Related collection": "Zugehörige Sammlung", + "Allow linking to multiple records": "Verknüpfung mit mehreren Datensätzen erlauben", + "Allow uploading multiple files": "Hochladen mehrerer Dateien erlauben", + "Configure calendar": "Kalender konfigurieren", + "Title field": "Titelfeld", + "Custom title": "Benutzerdefinierter Titel", + "Daily": "Täglich", + "Weekly": "Wöchentlich", + "Monthly": "Monatlich", + "Yearly": "Jährlich", + "Repeats": "Wiederholungen", + "Show lunar": "Mondkalender anzeigen", + "Start date field": "Startdatumsfeld", + "End date field": "Enddatumsfeld", + "Navigate": "Navigieren", + "Title": "Titel", + "Description": "Beschreibung", + "Select view": "Ansicht auswählen", + "Reset": "Zurücksetzen", + "Importable fields": "Importierbare Felder", + "Exportable fields": "Exportierbare Felder", + "Saved successfully": "Erfolgreich gespeichert", + "Nickname": "Spitzname", + "Sign in": "Anmelden", + "Sign in via account": "Über Konto anmelden", + "Sign in via phone": "Über Telefon anmelden", + "Create an account": "Konto erstellen", + "Sign up": "Registrieren", + "Confirm password": "Passwort bestätigen", + "Log in with an existing account": "Mit einem bestehenden Konto anmelden", + "Signed up successfully. It will jump to the login page.": "Registrierung erfolgreich. Sie werden zur Anmeldeseite weitergeleitet.", + "Password mismatch": "Passwörter stimmen nicht überein", + "Users": "Benutzer", + "Verification code": "Bestätigungscode", + "Send code": "Code senden", + "Retry after {{count}} seconds": "Wiederholen nach {{count}} Sekunden", + "Roles": "Rollen", + "Add role": "Rolle hinzufügen", + "Role name": "Rollenname", + "Configure": "Konfigurieren", + "Configure permissions": "Berechtigungen konfigurieren", + "Edit role": "Rolle bearbeiten", + "Action permissions": "Aktionsberechtigungen", + "Menu permissions": "Menüberechtigungen", + "Menu item name": "Menüpunktname", + "Allow access": "Zugriff erlauben", + "Action name": "Aktionsname", + "Allow action": "Aktion erlauben", + "Action scope": "Aktionsbereich", + "Operate on new data": "Mit neuen Daten arbeiten", + "Operate on existing data": "Mit vorhandenen Daten arbeiten", + "Yes": "Ja", + "No": "Nein", + "Red": "Rot", + "Magenta": "Magenta", + "Volcano": "Vulkan", + "Orange": "Orange", + "Gold": "Gold", + "Lime": "Limette", + "Green": "Grün", + "Cyan": "Cyan", + "Blue": "Blau", + "Geek blue": "Geek-Blau", + "Purple": "Lila", + "Default": "Standard", + "Add card": "Karte hinzufügen", + "edit title": "Titel bearbeiten", + "Turn pages": "Seiten umblättern", + "Others": "Andere", + "Other records": "Andere Datensätze", + "Save as template": "Als Vorlage speichern", + "Save as block template": "Als Blockvorlage speichern", + "Block templates": "Blockvorlagen", + "Block template": "Blockvorlage", + "Convert reference to duplicate": "Referenz in Duplikat umwandeln", + "Template name": "Vorlagenname", + "Block type": "Blocktyp", + "No blocks to connect": "Keine Blöcke zum Verbinden", + "Action column": "Aktionsspalte", + "Records per page": "Datensätze pro Seite", + "(Fields only)": "(Nur Felder)", + "Button title": "Schaltflächentitel", + "Button icon": "Schaltflächensymbol", + "Submitted successfully": "Erfolgreich übermittelt", + "Operation succeeded": "Operation erfolgreich", + "Operation failed": "Operation fehlgeschlagen", + "Open mode": "Öffnungsmodus", + "Popup size": "Popup-Größe", + "Small": "Klein", + "Middle": "Mittel", + "Large": "Groß", + "Size": "Größe", + "Oversized": "Übergroß", + "Auto": "Automatisch", + "Object Fit": "Objektanpassung", + "Cover": "Abdecken", + "Fill": "Füllen", + "Contain": "Enthalten", + "Scale Down": "Verkleinern", + "Menu item title": "Menüpunkttitel", + "Menu item icon": "Menüpunktsymbol", + "Target": "Ziel", + "Position": "Position", + "Insert before": "Davor einfügen", + "Insert after": "Danach einfügen", + "UI Editor": "UI-Editor", + "ASC": "Aufsteigend", + "DESC": "Absteigend", + "Add sort field": "Sortierfeld hinzufügen", + "ID": "ID", + "Identifier for program usage. Support letters, numbers and underscores, must start with an letter.": "Bezeichner für Programmnutzung. Unterstützt Buchstaben, Zahlen und Unterstriche, muss mit einem Buchstaben beginnen.", + "Drawer": "Seitenleiste", + "Dialog": "Dialog", + "Delete action": "Aktion löschen", + "Custom column title": "Benutzerdefinierter Spaltentitel", + "Column title": "Spaltentitel", + "Original title: ": "Ursprünglicher Titel: ", + "Delete table column": "Tabellenspalte löschen", + "Skip required validation": "Erforderliche Validierung überspringen", + "Form values": "Formularwerte", + "Fields values": "Feldwerte", + "The field has been deleted": "Das Feld wurde gelöscht", + "When submitting the following fields, the saved values are": "Beim Absenden der folgenden Felder sind die gespeicherten Werte", + "After successful submission": "Nach erfolgreicher Übermittlung", + "Then": "Dann", + "Stay on current page": "Auf aktueller Seite bleiben", + "Redirect to": "Weiterleiten zu", + "Save action": "Aktion speichern", + "Exists": "Existiert", + "Add condition": "Bedingung hinzufügen", + "Add condition group": "Bedingungsgruppe hinzufügen", + "exists": "existiert", + "not exists": "existiert nicht", + "Style": "Stil", + "=": "=", + "≠": "≠", + ">": ">", + "≥": "≥", + "<": "<", + "≤": "≤", + "Role UID": "Rollen-UID", + "Precision": "Genauigkeit", + "Formula mode": "Formelmodus", + "Expression": "Ausdruck", + "Input +, -, *, /, ( ) to calculate, input @ to open field variables.": "Geben Sie +, -, *, /, ( ) zum Berechnen ein, geben Sie @ ein, um Feldvariablen zu öffnen.", + "Formula error.": "Formelfehler.", + "Rich Text": "Rich Text", + "Junction collection": "Verbindungssammlung", + "Leave it blank, unless you need a custom intermediate table": "Lassen Sie es leer, es sei denn, Sie benötigen eine benutzerdefinierte Zwischentabelle", + "Fields": "Felder", + "Edit field title": "Feldtitel bearbeiten", + "Field title": "Feldtitel", + "Original field title: ": "Ursprünglicher Feldtitel: ", + "Edit tooltip": "Tooltip bearbeiten", + "Delete field": "Feld löschen", + "Select collection": "Sammlung auswählen", + "Blank block": "Leerer Block", + "Duplicate template": "Vorlage duplizieren", + "Reference template": "Referenzvorlage", + "Create calendar block": "Kalenderblock erstellen", + "Create kanban block": "Kanban-Block erstellen", + "Grouping field": "Gruppierungsfeld", + "Single select and radio fields can be used as the grouping field": "Einzelauswahl- und Radiofelder können als Gruppierungsfeld verwendet werden", + "Tab name": "Tab-Name", + "Current record blocks": "Blöcke des aktuellen Datensatzes", + "Popup message": "Popup-Nachricht", + "Delete role": "Rolle löschen", + "Role display name": "Rollenanzeigename", + "Default role": "Standardrolle", + "All collections use general action permissions by default; permission configured individually will override the default one.": "Alle Sammlungen verwenden standardmäßig allgemeine Aktionsberechtigungen; individuell konfigurierte Berechtigungen überschreiben die Standardeinstellung.", + "Allows configuration of the whole system, including UI, collections, permissions, etc.": "Ermöglicht die Konfiguration des gesamten Systems, einschließlich UI, Sammlungen, Berechtigungen usw.", + "New menu items are allowed to be accessed by default.": "Neue Menüpunkte dürfen standardmäßig zugegriffen werden.", + "Global permissions": "Globale Berechtigungen", + "General permissions": "Allgemeine Berechtigungen", + "Global action permissions": "Globale Aktionsberechtigungen", + "General action permissions": "Allgemeine Aktionsberechtigungen", + "Plugin settings permissions": "Plugin-Einstellungsberechtigungen", + "Allow to desgin pages": "Erlauben, Seiten zu gestalten", + "Allow to manage plugins": "Erlauben, Plugins zu verwalten", + "Allow to configure plugins": "Erlauben, Plugins zu konfigurieren", + "Allows to configure interface": "Erlaubt die Konfiguration der Schnittstelle", + "Allows to install, activate, disable plugins": "Erlaubt das Installieren, Aktivieren und Deaktivieren von Plugins", + "Allows to configure plugins": "Erlaubt die Konfiguration von Plugins", + "Action display name": "Anzeigeame der Aktion", + "Allow": "Erlauben", + "Data scope": "Datenbereich", + "Action on new records": "Aktion für neue Datensätze", + "Action on existing records": "Aktion für bestehende Datensätze", + "All records": "Alle Datensätze", + "Own records": "Eigene Datensätze", + "Permission policy": "Berechtigungsrichtlinie", + "Individual": "Individuell", + "General": "Allgemein", + "Accessible": "Zugänglich", + "Configure permission": "Berechtigung konfigurieren", + "Action permission": "Aktionsberechtigung", + "Field permission": "Feldberechtigung", + "Scope name": "Bereichsname", + "Unsaved changes": "Ungespeicherte Änderungen", + "Are you sure you don't want to save?": "Sind Sie sicher, dass Sie nicht speichern möchten?", + "Dragging": "Ziehen", + "Popup": "Popup", + "Trigger workflow": "Workflow auslösen", + "Request API": "API anfragen", + "Assign field values": "Feldwerte zuweisen", + "Constant value": "Konstanter Wert", + "Dynamic value": "Dynamischer Wert", + "Current user": "Aktueller Benutzer", + "Current role": "Aktuelle Rolle", + "Current record": "Aktueller Datensatz", + "Current collection": "Aktuelle Sammlung", + "Other collections": "Andere Sammlungen", + "Current popup record": "Aktueller Popup-Datensatz", + "Parent popup record": "Übergeordneter Popup-Datensatz", + "Associated records": "Zugehörige Datensätze", + "Parent record": "Übergeordneter Datensatz", + "Current time": "Aktuelle Zeit", + "System variables": "Systemvariablen", + "Date variables": "Datumsvariablen", + "Message popup close method": "Schließmethode für Popup-Nachrichten", + "Automatic close": "Automatisch schließen", + "Manually close": "Manuell schließen", + "After successful update": "Nach erfolgreicher Aktualisierung", + "Save record": "Datensatz speichern", + "Updated successfully": "Erfolgreich aktualisiert", + "After successful save": "Nach erfolgreichem Speichern", + "After clicking the custom button, the following field values will be assigned according to the following form.": "Nach dem Klicken auf die benutzerdefinierte Schaltfläche werden die folgenden Feldwerte gemäß dem folgenden Formular zugewiesen.", + "After clicking the custom button, the following fields of the current record will be saved according to the following form.": "Nach dem Klicken auf die benutzerdefinierte Schaltfläche werden die folgenden Felder des aktuellen Datensatzes gemäß dem folgenden Formular gespeichert.", + "Button background color": "Schaltflächen-Hintergrundfarbe", + "Highlight": "Hervorheben", + "Danger red": "Gefahr-Rot", + "Custom request": "Benutzerdefinierte Anfrage", + "Request settings": "Anfrageeinstellungen", + "Request URL": "Anfrage-URL", + "Request method": "Anfragemethode", + "Request query parameters": "Anfrageparameter", + "Request headers": "Anfrageheader", + "Request body": "Anfragekörper", + "Request success": "Anfrage erfolgreich", + "Invalid JSON format": "Ungültiges JSON-Format", + "After successful request": "Nach erfolgreicher Anfrage", + "Add exportable field": "Exportierbares Feld hinzufügen", + "Audit logs": "Prüfprotokolle", + "Record ID": "Datensatz-ID", + "User": "Benutzer", + "Field": "Feld", + "Select": "Auswählen", + "Select field": "Feld auswählen", + "Field value changes": "Feldwertänderungen", + "One to one (has one)": "Eins zu Eins (hat ein)", + "One to one (belongs to)": "Eins zu Eins (gehört zu)", + "Use the same time zone (GMT) for all users": "Verwenden Sie die gleiche Zeitzone (GMT) für alle Benutzer", + "Province/city/area name": "Provinz/Stadt/Gebietsname", + "Enabled languages": "Aktivierte Sprachen", + "View all plugins": "Alle Plugins anzeigen", + "Print": "Drucken", + "Done": "Fertig", + "Sign up successfully, and automatically jump to the sign in page": "Registrierung erfolgreich, Sie werden automatisch zur Anmeldeseite weitergeleitet", + "File manager": "Dateimanager", + "ACL": "ACL", + "Collection manager": "Sammlungsmanager", + "Plugin manager": "Plugin-Manager", + "Local": "Lokal", + "Built-in": "Eingebaut", + "Marketplace": "Marktplatz", + "Add plugin": "Plugin hinzufügen", + "Plugin source": "Plugin-Quelle", + "Upgrade": "Aktualisieren", + "Plugin dependencies check failed": "Überprüfung der Plugin-Abhängigkeiten fehlgeschlagen", + "More details": "Weitere Details", + "Upload new version": "Neue Version hochladen", + "Version": "Version", + "Npm package": "NPM-Paket", + "Npm package name": "NPM-Paketname", + "Upload plugin": "Plugin hochladen", + "Official plugin": "Offizielles Plugin", + "Add type": "Typ hinzufügen", + "Changelog": "Änderungsprotokoll", + "Dependencies check": "Abhängigkeitsprüfung", + "Update plugin": "Plugin aktualisieren", + "Installing": "Installiere", + "The deletion was successful.": "Das Löschen war erfolgreich.", + "Plugin Zip File": "Plugin-ZIP-Datei", + "Compressed file url": "URL der komprimierten Datei", + "Last updated": "Zuletzt aktualisiert", + "PackageName": "Paketname", + "DisplayName": "Anzeigename", + "Readme": "Readme", + "Dependencies compatibility check": "Kompatibilitätsprüfung der Abhängigkeiten", + "Plugin dependencies check failed, you should change the dependent version to meet the version requirements.": "Die Überprüfung der Plugin-Abhängigkeiten ist fehlgeschlagen. Sie sollten die abhängige Version ändern, um die Versionsanforderungen zu erfüllen.", + "Version range": "Versionsbereich", + "Plugin's version": "Plugin-Version", + "Result": "Ergebnis", + "No CHANGELOG.md file": "Keine CHANGELOG.md-Datei", + "No README.md file": "Keine README.md-Datei", + "Homepage": "Startseite", + "Drag and drop the file here or click to upload, file size should not exceed 30M": "Ziehen Sie die Datei hierher oder klicken Sie zum Hochladen, die Dateigröße sollte 30M nicht überschreiten", + "Dependencies check failed, can't enable.": "Abhängigkeitsprüfung fehlgeschlagen, kann nicht aktiviert werden.", + "Plugin starting...": "Plugin wird gestartet...", + "Plugin stopping...": "Plugin wird gestoppt...", + "Are you sure to delete this plugin?": "Sind Sie sicher, dass Sie dieses Plugin löschen möchten?", + "Are you sure to disable this plugin?": "Sind Sie sicher, dass Sie dieses Plugin deaktivieren möchten?", + "re-download file": "Datei erneut herunterladen", + "Not enabled": "Nicht aktiviert", + "Search plugin": "Plugin suchen", + "Author": "Autor", + "Plugin loading failed. Please check the server logs.": "Plugin-Ladung fehlgeschlagen. Bitte überprüfen Sie die Serverprotokolle.", + "Coming soon...": "Demnächst verfügbar...", + "All plugin settings": "Alle Plugin-Einstellungen", + "Bookmark": "Lesezeichen", + "Manage all settings": "Alle Einstellungen verwalten", + "Create inverse field in the target collection": "Inverses Feld in der Zielsammlung erstellen", + "Inverse field name": "Name des inversen Feldes", + "Inverse field display name": "Anzeigename des inversen Feldes", + "Bulk update": "Massenaktualisierung", + "After successful bulk update": "Nach erfolgreicher Massenaktualisierung", + "Bulk edit": "Massenbearbeitung", + "Data will be updated": "Daten werden aktualisiert", + "Selected": "Ausgewählt", + "All": "Alle", + "Update selected data?": "Ausgewählte Daten aktualisieren?", + "Update all data?": "Alle Daten aktualisieren?", + "Remains the same": "Bleibt gleich", + "Changed to": "Geändert zu", + "Clear": "Löschen", + "Add attach": "Anhang hinzufügen", + "Please select the records to be updated": "Bitte wählen Sie die zu aktualisierenden Datensätze aus", + "Selector": "Selektor", + "Inner": "Innen", + "Search and select collection": "Sammlung suchen und auswählen", + "Please fill in the iframe URL": "Bitte geben Sie die iframe-URL ein", + "Fix block": "Block fixieren", + "Plugin name": "Plugin-Name", + "Plugin tab name": "Plugin-Tab-Name", + "AutoGenId": "Automatisch generiertes ID-Feld", + "CreatedBy": "Erstellt von", + "UpdatedBy": "Aktualisiert von", + "CreatedAt": "Erstellt am", + "UpdatedAt": "Aktualisiert am", + "Column width": "Spaltenbreite", + "Sortable": "Sortierbar", + "Enable link": "Link aktivieren", + "This is likely a NocoBase internals bug. Please open an issue at <1>here": "Dies ist wahrscheinlich ein interner Fehler von NocoBase. Bitte öffnen Sie ein Problem <1>hier", + "Render Failed": "Rendering fehlgeschlagen", + "App error": "App-Fehler", + "Feedback": "Feedback", + "Try again": "Erneut versuchen", + "Download logs": "Protokolle herunterladen", + "Data template": "Datenvorlage", + "Duplicate": "Duplizieren", + "Duplicating": "Dupliziere", + "Duplicate mode": "Duplikationsmodus", + "Quick duplicate": "Schnelles Duplizieren", + "Duplicate and continue": "Duplizieren und fortfahren", + "Please configure the duplicate fields": "Bitte konfigurieren Sie die Duplikatfelder", + "Add": "Hinzufügen", + "Add new mode": "Neuer Hinzufügungsmodus", + "Quick add": "Schnell hinzufügen", + "Modal add": "Modal hinzufügen", + "Save mode": "Speichermodus", + "First or create": "Zuerst oder erstellen", + "Update or create": "Aktualisieren oder erstellen", + "Find by the following fields": "Nach den folgenden Feldern suchen", + "Create": "Erstellen", + "Current form": "Aktuelles Formular", + "Current object": "Aktuelles Objekt", + "Linkage with form fields": "Verknüpfung mit Formularfeldern", + "Allow add new, update and delete actions": "Hinzufügen, Aktualisieren und Löschen erlauben", + "Date display format": "Datumsanzeigeformat", + "Assign data scope for the template": "Datenbereich für die Vorlage zuweisen", + "Table selected records": "Ausgewählte Tabellendatensätze", + "Tag": "Tag", + "Tag color field": "Tag-Farbfeld", + "Sync successfully": "Synchronisierung erfolgreich", + "Sync from form fields": "Von Formularfeldern synchronisieren", + "Select all": "Alle auswählen", + "Restart": "Neustart", + "Restart application": "Anwendung neu starten", + "Cascade Select": "Kaskadierte Auswahl", + "Execute": "Ausführen", + "Please use a valid SELECT or WITH AS statement": "Bitte verwenden Sie eine gültige SELECT- oder WITH AS-Anweisung", + "Please confirm the SQL statement first": "Bitte bestätigen Sie zuerst die SQL-Anweisung", + "Automatically drop objects that depend on the collection (such as views), and in turn all objects that depend on those objects": "Automatisches Löschen von Objekten, die von der Sammlung abhängen (wie Ansichten), und wiederum aller Objekte, die von diesen Objekten abhängen", + "Sign in with another account": "Mit einem anderen Konto anmelden", + "Return to the main application": "Zurück zur Hauptanwendung", + "Permission deined": "Berechtigung verweigert", + "loading": "Lädt", + "name is required": "Name ist erforderlich", + "data source": "Datenquelle", + "Data source": "Datenquelle", + "DataSource": "Datenquelle", + "The {{type}} \"{{name}}\" may have been deleted. Please remove this {{blockType}}.": "Der {{type}} \"{{name}}\" wurde möglicherweise gelöscht. Bitte entfernen Sie diesen {{blockType}}.", + "Preset fields": "Voreingestellte Felder", + "Home page": "Startseite", + "Handbook": "Handbuch", + "License": "Lizenz", + "Generic properties": "Allgemeine Eigenschaften", + "Specific properties": "Spezifische Eigenschaften", + "Used for drag and drop sorting scenarios, supporting grouping sorting": "Wird für Drag & Drop-Sortierungsszenarien verwendet und unterstützt Gruppensortierung", + "Grouped sorting": "Gruppierte Sortierung", + "When a field is selected for grouping, it will be grouped first before sorting.": "Wenn ein Feld für die Gruppierung ausgewählt wird, wird es zuerst gruppiert, bevor es sortiert wird.", + "Departments": "Abteilungen", + "Main department": "Hauptabteilung", + "Department name": "Abteilungsname", + "Superior department": "Übergeordnete Abteilung", + "Owners": "Eigentümer", + "Plugin settings": "Plugin-Einstellungen", + "Menu": "Menü", + "Drag and drop sorting field": "Feld für Drag & Drop-Sortierung", + "This variable has been deprecated and can be replaced with \"Current form\"": "Diese Variable ist veraltet und kann durch \"Aktuelles Formular\" ersetzt werden", + "The value of this variable is derived from the query string of the page URL. This variable can only be used normally when the page has a query string.": "Der Wert dieser Variable wird aus der Abfragezeichenfolge der Seiten-URL abgeleitet. Diese Variable kann nur normal verwendet werden, wenn die Seite eine Abfragezeichenfolge hat.", + "URL search params": "URL-Suchparameter", + "Expand All": "Alle erweitern", + "Search": "Suchen", + "Clear default value": "Standardwert löschen", + "Open in new window": "In neuem Fenster öffnen", + "Sorry, the page you visited does not exist.": "Entschuldigung, die von Ihnen besuchte Seite existiert nicht.", + "is none of": "ist keines von", + "is any of": "ist eines von", + "Plugin dependency version mismatch": "Versionsinkompatibilität der Plugin-Abhängigkeit", + "The current dependency version of the plugin does not match the version of the application and may not work properly. Are you sure you want to continue enabling the plugin?": "Die aktuelle Abhängigkeitsversion des Plugins stimmt nicht mit der Version der Anwendung überein und funktioniert möglicherweise nicht ordnungsgemäß. Sind Sie sicher, dass Sie das Plugin weiterhin aktivieren möchten?", + "Allow multiple selection": "Mehrfachauswahl erlauben", + "Parent object": "Übergeordnetes Objekt", + "Skip getting the total number of table records during paging to speed up loading. It is recommended to enable this option for data tables with a large amount of data": "Überspringt das Abrufen der Gesamtanzahl der Tabellendatensätze während der Paginierung, um das Laden zu beschleunigen. Es wird empfohlen, diese Option für Datentabellen mit einer großen Datenmenge zu aktivieren", + "Enable secondary confirmation": "Sekundäre Bestätigung aktivieren", + "Notification": "Benachrichtigung", + "Ellipsis overflow content": "Auslassungszeichen für Überlaufinhalt", + "Hide column": "Spalte ausblenden", + "In configuration mode, the entire column becomes transparent. In non-configuration mode, the entire column will be hidden. Even if the entire column is hidden, its configured default values and other settings will still take effect.": "Im Konfigurationsmodus wird die gesamte Spalte transparent. Im Nicht-Konfigurationsmodus wird die gesamte Spalte ausgeblendet. Auch wenn die gesamte Spalte ausgeblendet ist, werden ihre konfigurierten Standardwerte und andere Einstellungen weiterhin wirksam.", + "Unauthenticated. Please sign in to continue.": "Nicht authentifiziert. Bitte melden Sie sich an, um fortzufahren.", + "User not found. Please sign in again to continue.": "Benutzer nicht gefunden. Bitte melden Sie sich erneut an, um fortzufahren.", + "Your session has expired. Please sign in again.": "Ihre Sitzung ist abgelaufen. Bitte melden Sie sich erneut an.", + "User password changed, please signin again.": "Benutzerpasswort geändert, bitte melden Sie sich erneut an.", + "Desktop routes": "Desktop-Routen", + "Route permissions": "Routenberechtigungen", + "New routes are allowed to be accessed by default": "Neue Routen dürfen standardmäßig zugegriffen werden", + "Route name": "Routenname", + "Mobile routes": "Mobile Routen", + "Show in menu": "Im Menü anzeigen", + "Hide in menu": "Im Menü ausblenden", + "Path": "Pfad", + "Type": "Typ", + "Access": "Zugriff", + "Routes": "Routen", + "Add child route": "Unterroute hinzufügen", + "Delete routes": "Routen löschen", + "Delete route": "Route löschen", + "Are you sure you want to hide these routes in menu?": "Sind Sie sicher, dass Sie diese Routen im Menü ausblenden möchten?", + "Are you sure you want to show these routes in menu?": "Sind Sie sicher, dass Sie diese Routen im Menü anzeigen möchten?", + "Are you sure you want to hide this menu?": "Sind Sie sicher, dass Sie dieses Menü ausblenden möchten?", + "After hiding, this menu will no longer appear in the menu bar. To show it again, you need to go to the route management page to configure it.": "Nach dem Ausblenden wird dieses Menü nicht mehr in der Menüleiste angezeigt. Um es wieder anzuzeigen, müssen Sie zur Routenverwaltungsseite gehen, um es zu konfigurieren.", + "If selected, the page will display Tab pages.": "Wenn ausgewählt, zeigt die Seite Tab-Seiten an.", + "If selected, the route will be displayed in the menu.": "Wenn ausgewählt, wird die Route im Menü angezeigt.", + "Are you sure you want to hide this tab?": "Sind Sie sicher, dass Sie diesen Tab ausblenden möchten?", + "After hiding, this tab will no longer appear in the tab bar. To show it again, you need to go to the route management page to set it.": "Nach dem Ausblenden wird dieser Tab nicht mehr in der Tableiste angezeigt. Um ihn wieder anzuzeigen, müssen Sie zur Routenverwaltungsseite gehen, um ihn einzustellen." +} diff --git a/packages/core/client/src/locale/it-IT.json b/packages/core/client/src/locale/it-IT.json index 8f29a720d2..e2c2e47e53 100644 --- a/packages/core/client/src/locale/it-IT.json +++ b/packages/core/client/src/locale/it-IT.json @@ -127,7 +127,7 @@ "Tablet device": "Tablet", "Desktop device": "Desktop", "Large screen device": "Schermo di grandi dimensioni", - "Collapse": "Collassa", + "Collapse": "Comprimi", "Select data source": "Seleziona origine dati", "Calendar": "Calendario", "Delete events": "Elimina eventi", @@ -171,10 +171,10 @@ "Add new": "Aggiungi nuovo", "Add record": "Aggiungi record", "Add child": "Aggiungi figlio", - "Collapse all": "Collassare tutto", - "Expand all": "Espandere tutto", - "Expand/Collapse": "Espandere/Collassare", - "Default collapse": "Collassa di default", + "Collapse all": "Comprimi tutto", + "Expand all": "Espandi tutto", + "Expand/Collapse": "Espandi/Comprimi", + "Default collapse": "Comprimi di default", "Tree table": "Tabella ad albero", "Custom field display name": "Nome visualizzato campo personalizzato ", "Display fields": "Visualizza campi", @@ -344,7 +344,7 @@ "Edit chart": "Modifica grafico", "Add text": "Aggiungi testo", "Filterable fields": "Campi filtrabili", - "Edit button": "Pulsante Modifica", + "Edit button": "Modifica pulsante", "Hide": "Nascondi", "Enable actions": "Abilita operazioni", "Import": "Importa", @@ -552,7 +552,7 @@ "Fields values": "Valori campi", "The field has been deleted": "Il campo è stato eliminato", "When submitting the following fields, the saved values are": "Quando si inviano i seguenti campi, i valori salvati sono", - "After successful submission": "Dopo una invio riuscito", + "After successful submission": "Dopo un invio riuscito", "Then": "Poi", "Stay on current page": "Resta sulla pagina corrente", "Redirect to": "Reindirizza a", @@ -658,9 +658,9 @@ "After clicking the custom button, the following field values will be assigned according to the following form.": "Dopo aver fatto clic sul pulsante personalizza, i seguenti valori verranno assegnati in base al seguente modulo.", "After clicking the custom button, the following fields of the current record will be saved according to the following form.": "Dopo aver fatto clic sul pulsante personalizza, i seguenti campi del record corrente verranno salvati in base al seguente modulo.", "Button background color": "Colore sfondo del pulsante", - "Highlight": "Evidenzia", - "Danger red": "Pericolo rosso", - "Custom request": "Personalizza richiesta", + "Highlight": "Evidenziato", + "Danger red": "Rosso pericolo", + "Custom request": "Richiesta personalizzata", "Request settings": "Impostazioni richiesta", "Request URL": "URL richiesta", "Request method": "Metodo richiesta", @@ -753,7 +753,7 @@ "Update all data?": "Aggiornare tutti i dati?", "Remains the same": "Rimane lo stesso", "Changed to": "Cambiato in", - "Clear": "Pulisci", + "Clear": "Cancella", "Add attach": "Aggiungi allegato", "Please select the records to be updated": "Si prega di selezionare i record da aggiornare", "Selector": "Selettore", @@ -841,7 +841,7 @@ "This variable has been deprecated and can be replaced with \"Current form\"": "Questa variabile è stata deprecata e può essere sostituita con \"Current form\"", "The value of this variable is derived from the query string of the page URL. This variable can only be used normally when the page has a query string.": "Il valore di questa variabile deriva dalla stringa di ricerca nell'URL della pagina. Questa variabile può essere utilizzata normalmente solo quando la pagina ha una stringa di ricerca.", "URL search params": "Parametri di ricerca URL", - "Expand All": "Espandere tutto", + "Expand All": "Espandi tutto", "Search": "Ricerca", "Clear default value": "Cancella il valore predefinito", "Open in new window": "Apri in una nuova finestra", diff --git a/packages/core/client/src/locale/zh-CN.json b/packages/core/client/src/locale/zh-CN.json index a69791144f..c0602c3236 100644 --- a/packages/core/client/src/locale/zh-CN.json +++ b/packages/core/client/src/locale/zh-CN.json @@ -1082,6 +1082,7 @@ "If selected, the route will be displayed in the menu.": "如果选中,该路由将显示在菜单中。", "Are you sure you want to hide this tab?": "你确定要隐藏该标签页吗?", "After hiding, this tab will no longer appear in the tab bar. To show it again, you need to go to the route management page to set it.": "隐藏后,该标签将不再显示在标签栏中。要想再次显示它,你需要到路由管理页面进行设置。", + "Date scope":"日期范围", "Deprecated": "已弃用", "The following old template features have been deprecated and will be removed in next version.": "以下旧的模板功能已弃用,将在下个版本移除。", "Full permissions": "全部权限" diff --git a/packages/core/client/src/route-switch/antd/admin-layout/index.tsx b/packages/core/client/src/route-switch/antd/admin-layout/index.tsx index 732a4c8f5b..235bfa1f71 100644 --- a/packages/core/client/src/route-switch/antd/admin-layout/index.tsx +++ b/packages/core/client/src/route-switch/antd/admin-layout/index.tsx @@ -74,7 +74,7 @@ const AllAccessDesktopRoutesContext = createContext<{ refresh: () => void; }>({ allAccessRoutes: emptyArray, - refresh: () => { }, + refresh: () => {}, }); AllAccessDesktopRoutesContext.displayName = 'AllAccessDesktopRoutesContext'; @@ -173,6 +173,7 @@ const layoutContentClass = css` const className1 = css` width: 168px; + height: var(--nb-header-height); margin-right: 4px; display: inline-flex; flex-shrink: 0; @@ -504,7 +505,7 @@ const IsMobileLayoutContext = React.createContext<{ setIsMobileLayout: React.Dispatch>; }>({ isMobileLayout: false, - setIsMobileLayout: () => { }, + setIsMobileLayout: () => {}, }); const MobileLayoutProvider: FC = (props) => { diff --git a/packages/core/client/src/schema-component/antd/association-field/SubTable.tsx b/packages/core/client/src/schema-component/antd/association-field/SubTable.tsx index bcfe463899..38209fca61 100644 --- a/packages/core/client/src/schema-component/antd/association-field/SubTable.tsx +++ b/packages/core/client/src/schema-component/antd/association-field/SubTable.tsx @@ -189,6 +189,7 @@ export const SubTable: any = observer( onChange: (page, pageSize) => { setCurrentPage(page); setPageSize(pageSize); + field.componentProps.pageSize = pageSize; field.onInput(field.value); }, showSizeChanger: true, diff --git a/packages/core/client/src/schema-component/antd/input/ReadPretty.tsx b/packages/core/client/src/schema-component/antd/input/ReadPretty.tsx index 94f038ddea..3bf5255fec 100644 --- a/packages/core/client/src/schema-component/antd/input/ReadPretty.tsx +++ b/packages/core/client/src/schema-component/antd/input/ReadPretty.tsx @@ -199,11 +199,29 @@ export interface URLReadPrettyProps { } const ellipsisStyle = { textOverflow: 'ellipsis', overflow: 'hidden', whiteSpace: 'nowrap', display: 'block' }; + +function encodeFileURL(url: string): string { + if (!url) { + return url; + } + + const parts = url.split('/'); + const filename = parts.pop(); + parts.push(encodeURIComponent(filename)); + const encodedURL = parts.join('/'); + return encodedURL; +} + ReadPretty.URL = (props: URLReadPrettyProps) => { // eslint-disable-next-line react-hooks/rules-of-hooks const prefixCls = usePrefixCls('description-url', props); const content = props.value && ( - + {props.value} ); diff --git a/packages/core/client/src/schema-component/antd/upload/Upload.tsx b/packages/core/client/src/schema-component/antd/upload/Upload.tsx index 57b00995d9..098dff9f52 100644 --- a/packages/core/client/src/schema-component/antd/upload/Upload.tsx +++ b/packages/core/client/src/schema-component/antd/upload/Upload.tsx @@ -32,6 +32,7 @@ import { toValueItem as toValueItemDefault, useBeforeUpload, useUploadProps, + encodeFileURL, } from './shared'; import { useStyles } from './style'; import type { ComposedUpload, DraggerProps, DraggerV2Props, UploadProps } from './type'; @@ -89,26 +90,27 @@ attachmentFileTypes.add({ }, }); -const iframePreviewSupportedTypes = ['application/pdf', 'audio/*', 'image/*', 'video/*']; +const iframePreviewSupportedTypes = ['application/pdf', 'audio/*', 'image/*', 'video/*', 'text/*']; function IframePreviewer({ index, list, onSwitchIndex }) { const { t } = useTranslation(); const file = list[index]; + const url = encodeFileURL(file.url); const onOpen = useCallback( (e) => { e.preventDefault(); e.stopPropagation(); - window.open(file.url); + window.open(url); }, - [file], + [url], ); const onDownload = useCallback( (e) => { e.preventDefault(); e.stopPropagation(); - saveAs(file.url, `${file.title}${file.extname}`); + saveAs(url, `${file.title}${file.extname}`); }, - [file], + [file.extname, file.title, url], ); const onClose = useCallback(() => { onSwitchIndex(null); @@ -148,7 +150,7 @@ function IframePreviewer({ index, list, onSwitchIndex }) { > {iframePreviewSupportedTypes.some((type) => matchMimetype(file, type)) ? (