diff --git a/VERSION b/VERSION
index ccbccc3d..eca07e4c 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.2.0
+2.1.2
diff --git a/composer.lock b/composer.lock
index 1970868e..a825af62 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4022,16 +4022,16 @@
},
{
"name": "dompdf/dompdf",
- "version": "v3.1.2",
+ "version": "v3.1.1",
"source": {
"type": "git",
"url": "https://github.com/dompdf/dompdf.git",
- "reference": "b3493e35d31a5e76ec24c3b64a29b0034b2f32a6"
+ "reference": "794ec856134a73d2a69a474c5d4faa47e1e645b1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/dompdf/dompdf/zipball/b3493e35d31a5e76ec24c3b64a29b0034b2f32a6",
- "reference": "b3493e35d31a5e76ec24c3b64a29b0034b2f32a6",
+ "url": "https://api.github.com/repos/dompdf/dompdf/zipball/794ec856134a73d2a69a474c5d4faa47e1e645b1",
+ "reference": "794ec856134a73d2a69a474c5d4faa47e1e645b1",
"shasum": ""
},
"require": {
@@ -4080,9 +4080,9 @@
"homepage": "https://github.com/dompdf/dompdf",
"support": {
"issues": "https://github.com/dompdf/dompdf/issues",
- "source": "https://github.com/dompdf/dompdf/tree/v3.1.2"
+ "source": "https://github.com/dompdf/dompdf/tree/v3.1.1"
},
- "time": "2025-09-23T03:06:41+00:00"
+ "time": "2025-09-20T17:30:31+00:00"
},
{
"name": "dompdf/php-font-lib",
@@ -4945,16 +4945,16 @@
},
{
"name": "jbtronics/dompdf-font-loader-bundle",
- "version": "v1.1.5",
+ "version": "v1.1.4",
"source": {
"type": "git",
"url": "https://github.com/jbtronics/dompdf-font-loader-bundle.git",
- "reference": "83a0e50ecceefea0a63915dae758e00788fd067e"
+ "reference": "1b41014a2dd9e82ba6a62e61deeebe3cdc1eaf1f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/jbtronics/dompdf-font-loader-bundle/zipball/83a0e50ecceefea0a63915dae758e00788fd067e",
- "reference": "83a0e50ecceefea0a63915dae758e00788fd067e",
+ "url": "https://api.github.com/repos/jbtronics/dompdf-font-loader-bundle/zipball/1b41014a2dd9e82ba6a62e61deeebe3cdc1eaf1f",
+ "reference": "1b41014a2dd9e82ba6a62e61deeebe3cdc1eaf1f",
"shasum": ""
},
"require": {
@@ -4994,22 +4994,22 @@
],
"support": {
"issues": "https://github.com/jbtronics/dompdf-font-loader-bundle/issues",
- "source": "https://github.com/jbtronics/dompdf-font-loader-bundle/tree/v1.1.5"
+ "source": "https://github.com/jbtronics/dompdf-font-loader-bundle/tree/v1.1.4"
},
- "time": "2025-07-25T20:29:05+00:00"
+ "time": "2025-07-07T20:39:34+00:00"
},
{
"name": "jbtronics/settings-bundle",
- "version": "v3.1.1",
+ "version": "v3.1.0",
"source": {
"type": "git",
"url": "https://github.com/jbtronics/settings-bundle.git",
- "reference": "1067dd3d816cd0a6be7ac3d3989587ea05040bd4"
+ "reference": "7f19bac5a66533c6974948a484871087301b2a2e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/jbtronics/settings-bundle/zipball/1067dd3d816cd0a6be7ac3d3989587ea05040bd4",
- "reference": "1067dd3d816cd0a6be7ac3d3989587ea05040bd4",
+ "url": "https://api.github.com/repos/jbtronics/settings-bundle/zipball/7f19bac5a66533c6974948a484871087301b2a2e",
+ "reference": "7f19bac5a66533c6974948a484871087301b2a2e",
"shasum": ""
},
"require": {
@@ -5070,7 +5070,7 @@
],
"support": {
"issues": "https://github.com/jbtronics/settings-bundle/issues",
- "source": "https://github.com/jbtronics/settings-bundle/tree/v3.1.1"
+ "source": "https://github.com/jbtronics/settings-bundle/tree/v3.1.0"
},
"funding": [
{
@@ -5082,7 +5082,7 @@
"type": "github"
}
],
- "time": "2025-09-22T22:00:15+00:00"
+ "time": "2025-09-19T06:54:58+00:00"
},
{
"name": "jfcherng/php-color-output",
@@ -7588,26 +7588,24 @@
},
{
"name": "paragonie/constant_time_encoding",
- "version": "v3.1.1",
+ "version": "v3.0.0",
"source": {
"type": "git",
"url": "https://github.com/paragonie/constant_time_encoding.git",
- "reference": "5e9b582660b997de205a84c02a3aac7c060900c9"
+ "reference": "df1e7fde177501eee2037dd159cf04f5f301a512"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/5e9b582660b997de205a84c02a3aac7c060900c9",
- "reference": "5e9b582660b997de205a84c02a3aac7c060900c9",
+ "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/df1e7fde177501eee2037dd159cf04f5f301a512",
+ "reference": "df1e7fde177501eee2037dd159cf04f5f301a512",
"shasum": ""
},
"require": {
"php": "^8"
},
"require-dev": {
- "infection/infection": "^0",
- "nikic/php-fuzzer": "^0",
- "phpunit/phpunit": "^9|^10|^11",
- "vimeo/psalm": "^4|^5|^6"
+ "phpunit/phpunit": "^9",
+ "vimeo/psalm": "^4|^5"
},
"type": "library",
"autoload": {
@@ -7653,7 +7651,7 @@
"issues": "https://github.com/paragonie/constant_time_encoding/issues",
"source": "https://github.com/paragonie/constant_time_encoding"
},
- "time": "2025-09-22T21:00:33+00:00"
+ "time": "2024-05-08T12:36:18+00:00"
},
{
"name": "paragonie/random_compat",
@@ -18872,16 +18870,16 @@
},
{
"name": "phpunit/phpunit",
- "version": "11.5.40",
+ "version": "11.5.39",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "4102b2f9250d6dd57d1a1c8c4132b1c744b14b1c"
+ "reference": "ad5597f79d8489d2870073ac0bc0dd0ad1fa9931"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/4102b2f9250d6dd57d1a1c8c4132b1c744b14b1c",
- "reference": "4102b2f9250d6dd57d1a1c8c4132b1c744b14b1c",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/ad5597f79d8489d2870073ac0bc0dd0ad1fa9931",
+ "reference": "ad5597f79d8489d2870073ac0bc0dd0ad1fa9931",
"shasum": ""
},
"require": {
@@ -18905,7 +18903,7 @@
"sebastian/comparator": "^6.3.2",
"sebastian/diff": "^6.0.2",
"sebastian/environment": "^7.2.1",
- "sebastian/exporter": "^6.3.1",
+ "sebastian/exporter": "^6.3.0",
"sebastian/global-state": "^7.0.2",
"sebastian/object-enumerator": "^6.0.1",
"sebastian/type": "^5.1.3",
@@ -18953,7 +18951,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.40"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.39"
},
"funding": [
{
@@ -18977,7 +18975,7 @@
"type": "tidelift"
}
],
- "time": "2025-09-23T06:23:40+00:00"
+ "time": "2025-09-14T06:20:41+00:00"
},
{
"name": "rector/rector",
diff --git a/src/Controller/PartListsController.php b/src/Controller/PartListsController.php
index 8ea218f4..b2df18c1 100644
--- a/src/Controller/PartListsController.php
+++ b/src/Controller/PartListsController.php
@@ -154,18 +154,13 @@ class PartListsController extends AbstractController
$filter_changer($filter);
}
- //If we are in a post request for the tables, we only have to apply the filter form if the submit query param was set
- //This saves us some time from creating this complicated term on simple list pages, where no special filter is applied
- $filterForm = null;
- if ($request->getMethod() !== 'POST' || $request->query->has('part_filter')) {
- $filterForm = $this->createForm(PartFilterType::class, $filter, ['method' => 'GET']);
- if ($form_changer !== null) {
- $form_changer($filterForm);
- }
-
- $filterForm->handleRequest($formRequest);
+ $filterForm = $this->createForm(PartFilterType::class, $filter, ['method' => 'GET']);
+ if($form_changer !== null) {
+ $form_changer($filterForm);
}
+ $filterForm->handleRequest($formRequest);
+
$table = $this->dataTableFactory->createFromType(PartsDataTable::class, array_merge(
['filter' => $filter], $additional_table_vars),
['pageLength' => $this->tableSettings->fullDefaultPageSize, 'lengthMenu' => PartsDataTable::LENGTH_MENU])
@@ -191,7 +186,7 @@ class PartListsController extends AbstractController
return $this->render($template, array_merge([
'datatable' => $table,
- 'filterForm' => $filterForm?->createView(),
+ 'filterForm' => $filterForm->createView(),
], $additonal_template_vars));
}
diff --git a/src/Entity/Base/AbstractCompany.php b/src/Entity/Base/AbstractCompany.php
index 57a3f722..947d1339 100644
--- a/src/Entity/Base/AbstractCompany.php
+++ b/src/Entity/Base/AbstractCompany.php
@@ -81,7 +81,7 @@ abstract class AbstractCompany extends AbstractPartsContainingDBElement
/**
* @var string The website of the company
*/
- #[Assert\Url(requireTld: false)]
+ #[Assert\Url]
#[Groups(['full', 'company:read', 'company:write', 'import', 'extended'])]
#[ORM\Column(type: Types::STRING)]
#[Assert\Length(max: 255)]
diff --git a/src/Entity/Parts/PartTraits/ManufacturerTrait.php b/src/Entity/Parts/PartTraits/ManufacturerTrait.php
index 911a0806..5d7f8749 100644
--- a/src/Entity/Parts/PartTraits/ManufacturerTrait.php
+++ b/src/Entity/Parts/PartTraits/ManufacturerTrait.php
@@ -49,7 +49,7 @@ trait ManufacturerTrait
/**
* @var string The url to the part on the manufacturer's homepage
*/
- #[Assert\Url(requireTld: false)]
+ #[Assert\Url]
#[Groups(['full', 'import', 'part:read', 'part:write'])]
#[ORM\Column(type: Types::TEXT)]
protected string $manufacturer_product_url = '';
diff --git a/src/Entity/PriceInformations/Orderdetail.php b/src/Entity/PriceInformations/Orderdetail.php
index 8ed76a46..3709b37d 100644
--- a/src/Entity/PriceInformations/Orderdetail.php
+++ b/src/Entity/PriceInformations/Orderdetail.php
@@ -124,7 +124,7 @@ class Orderdetail extends AbstractDBElement implements TimeStampableInterface, N
/**
* @var string The URL to the product on the supplier's website
*/
- #[Assert\Url(requireTld: false)]
+ #[Assert\Url]
#[Groups(['full', 'import', 'orderdetail:read', 'orderdetail:write'])]
#[ORM\Column(type: Types::TEXT)]
protected string $supplier_product_url = '';
diff --git a/translations/messages.de.xlf b/translations/messages.de.xlf
index 06326a21..66f8fb31 100644
--- a/translations/messages.de.xlf
+++ b/translations/messages.de.xlf
@@ -8924,12 +8924,6 @@ Element 1 -> Element 1.2
Bauteil ändern
-
-
- part_list.action.scrollable_hint
- Scrollen Sie, um alle Aktionen anzuzeigen
-
- part_list.action.action.title
@@ -9320,72 +9314,6 @@ Element 1 -> Element 1.2
Name des Anhangs
-
-
- filter.bulk_import_job.label
- Massenimport-Auftrag
-
-
-
-
- filter.bulk_import_job.job_status
- Auftragsstatus
-
-
-
-
- filter.bulk_import_job.part_status_in_job
- Bauteile-Status in Auftrag
-
-
-
-
- filter.bulk_import_job.status.pending
- Ausstehend
-
-
-
-
- filter.bulk_import_job.status.in_progress
- In Bearbeitung
-
-
-
-
- filter.bulk_import_job.status.completed
- Abgeschlossen
-
-
-
-
- filter.bulk_import_job.status.stopped
- Angehalten
-
-
-
-
- filter.bulk_import_job.status.failed
- Fehlgeschlagen
-
-
-
-
- filter.bulk_import_job.part_status.pending
- Ausstehend
-
-
-
-
- filter.bulk_import_job.part_status.completed
- Abgeschlossen
-
-
-
-
- filter.bulk_import_job.part_status.skipped
- Übersprungen
-
- filter.choice_constraint.operator.ANY
@@ -10958,12 +10886,6 @@ Element 1 -> Element 1.2
Export als XML
-
-
- part_list.action.export_xlsx
- Export als Excel
-
- parts.import.title
@@ -13559,635 +13481,5 @@ Bitte beachten Sie, dass Sie sich nicht als deaktivierter Benutzer ausgeben kön
Min. Vorschaubild-Breite (px)
-
-
- info_providers.bulk_import.step1.title
- Massenimport von Datenquellen – Schritt 1
-
-
-
-
- info_providers.bulk_import.parts_selected
- Bauteile ausgewählt
-
-
-
-
- info_providers.bulk_import.step1.global_mapping_description
- Konfigurieren Sie Feldzuordnungen, die auf alle ausgewählten Teile angewendet werden sollen. Beispiel: „MPN → LCSC + Mouser” bedeutet, dass die Anbieter LCSC und Mouser anhand des MPN-Feldes jedes Teils durchsucht werden.
-
-
-
-
- info_providers.bulk_import.selected_parts
- Ausgewählte Bauteile
-
-
-
-
- info_providers.bulk_import.field_mappings
- Feldzuordnungen
-
-
-
-
- info_providers.bulk_import.field_mappings_help
- Legen Sie fest, welche Bauteilefelder mit welchen Informationsanbietern durchsucht werden sollen. Mehrere Zuordnungen werden kombiniert.
-
-
-
-
- info_providers.bulk_import.add_mapping
- Zuordnung hinzufügen
-
-
-
-
- info_providers.bulk_import.search_results.title
- Suchergebnisse
-
-
-
-
- info_providers.bulk_import.errors
- Fehler
-
-
-
-
- info_providers.bulk_import.results_found
- %count% Ergebnisse gefunden
-
-
-
-
- info_providers.bulk_import.source_field
- Bauteilefeld
-
-
-
-
- info_providers.bulk_import.view_existing
- Existierendes ansehen
-
-
-
-
- info_providers.bulk_search.search_field
- Suchfeld
-
-
-
-
- info_providers.bulk_search.providers
- Datenquellen
-
-
-
-
- info_providers.bulk_import.actions.label
- Aktionen
-
-
-
-
- info_providers.bulk_search.providers.help
- Wählen Sie aus, welche Datenquellen durchsucht werden sollen, wenn Bauteile dieses Feld haben.
-
-
-
-
- info_providers.bulk_search.submit
- Alle Bauteile suchen
-
-
-
-
- info_providers.bulk_search.field.select
- Wählen Sie ein Feld zum Suchen aus
-
-
-
-
- info_providers.bulk_search.field.mpn
- Herstellernummer (MPN)
-
-
-
-
- info_providers.bulk_search.field.name
- Bauteile Name
-
-
-
-
- part_list.action.action.info_provider
- Datenquellen
-
-
-
-
- part_list.action.bulk_info_provider_import
- Massenimport von Datenquellen
-
-
-
-
- info_providers.bulk_import.step1.spn_recommendation
- Lieferantenteilenummer (SPN) wird für bessere Ergebnisse empfohlen. Fügen Sie für jeden Lieferanten eine Zuordnung hinzu, damit dessen SPNs verwendet werden können.
-
-
-
-
- info_providers.bulk_import.update_part
- Bauteil aktualisieren
-
-
-
-
- info_providers.bulk_import.prefetch_details
- Vorabruf der Bauteiledetails
-
-
-
-
- info_providers.bulk_import.prefetch_details_help
- Details für alle Ergebnisse vorab abrufen. Dies dauert zwar länger, beschleunigt jedoch den Arbeitsablauf für die Aktualisierung von Bauteilen.
-
-
-
-
- info_providers.bulk_import.step2.title
- Massenimport von Informationsquellen
-
-
-
-
- info_providers.bulk_import.step2.card_title
- Massenimport für %count% Bauteile – %date%
-
-
-
-
- info_providers.bulk_import.parts
- Bauteile
-
-
-
-
- info_providers.bulk_import.results
- Ergebnisse
-
-
-
-
- info_providers.bulk_import.created_at
- Erstellt am
-
-
-
-
- info_providers.bulk_import.status.in_progress
- In Bearbeitung
-
-
-
-
- info_providers.bulk_import.status.completed
- Abgeschlossen
-
-
-
-
- info_providers.bulk_import.status.failed
- Fehlgeschlagen
-
-
-
-
- info_providers.bulk_import.table.name
- Name
-
-
-
-
- info_providers.bulk_import.table.description
- Beschreibung
-
-
-
-
- info_providers.bulk_import.table.manufacturer
- Hersteller
-
-
-
-
- info_providers.bulk_import.table.provider
- Quelle
-
-
-
-
- info_providers.bulk_import.table.source_field
- Bauteilefeld
-
-
-
-
- info_providers.bulk_import.back
- Zurück
-
-
-
-
- info_providers.bulk_import.progress
- Fortschritt:
-
-
-
-
- info_providers.bulk_import.status.pending
- Ausstehend
-
-
-
-
- info_providers.bulk_import.completed
- abgeschlossen
-
-
-
-
- info_providers.bulk_import.skipped
- übersprungen
-
-
-
-
- info_providers.bulk_import.mark_completed
- Als abgeschlossen markieren
-
-
-
-
- info_providers.bulk_import.mark_skipped
- Als übersprungen markieren
-
-
-
-
- info_providers.bulk_import.mark_pending
- Als ausstehend markieren
-
-
-
-
- info_providers.bulk_import.skip_reason
- Grund des Überspringens
-
-
-
-
- info_providers.bulk_import.editing_part
- Bearbeite Bauteil als Teil des Massenimports
-
-
-
-
- info_providers.bulk_import.complete
- Abgeschlossen
-
-
-
-
- info_providers.bulk_import.existing_jobs
- Existierende Aufträge
-
-
-
-
- info_providers.bulk_import.job_name
- Auftragsname
-
-
-
-
- info_providers.bulk_import.parts_count
- Bauteileanzahl
-
-
-
-
- info_providers.bulk_import.results_count
- Ergebnisanzahl
-
-
-
-
- info_providers.bulk_import.progress_label
- Fortschritt: %current%/%total%
-
-
-
-
- info_providers.bulk_import.manage_jobs
- Massenimportaufträge verwalten
-
-
-
-
- info_providers.bulk_import.view_results
- Ergebnisse anzeigen
-
-
-
-
- info_providers.bulk_import.status
- Status
-
-
-
-
- info_providers.bulk_import.manage_jobs_description
- Alle Ihre Massenimportaufträge anzeigen und verwalten. Um einen neuen Auftrag zu erstellen, wählen Sie Bauteile aus und klicken Sie auf „Massenimport von Informationsanbietern”.
-
-
-
-
- info_providers.bulk_import.no_jobs_found
- Es wurden keine Massenimportaufträge gefunden.
-
-
-
-
- info_providers.bulk_import.create_first_job
- Erstellen Sie Ihren ersten Massenimportauftrag, indem Sie mehrere Bauteile in einer Bauteiletabelle auswählen und die Option „Massenimport aus Informationsanbieter“ auswählen.
-
-
-
-
- info_providers.bulk_import.confirm_delete_job
- Möchten Sie diesen Auftrag wirklich löschen?
-
-
-
-
- info_providers.bulk_import.job_name_template
- Massenimport für %count% Teile
-
-
-
-
- info_providers.bulk_import.step2.instructions.title
- So verwenden Sie den Massenimport
-
-
-
-
- info_providers.bulk_import.step2.instructions.description
- Befolgen Sie diese Schritte, um Ihre Teile effizient zu aktualisieren:
-
-
-
-
- info_providers.bulk_import.step2.instructions.step1
- Klicken Sie auf „Teil aktualisieren“, um ein Teil aus den Informationsquellen zu aktualisieren.
-
-
-
-
- info_providers.bulk_import.step2.instructions.step2
- Überprüfen und ändern Sie die Teileinformationen nach Bedarf. Hinweis: Sie müssen zweimal auf „Speichern“ klicken, um die Änderungen zu speichern.
-
-
-
-
- info_providers.bulk_import.step2.instructions.step3
- Klicken Sie auf „Abgeschlossen“, um den Teil als erledigt zu markieren und zu dieser Übersicht zurückzukehren.
-
-
-
-
- info_providers.bulk_import.created_by
- Erstellt von
-
-
-
-
- info_providers.bulk_import.completed_at
- Abgeschlossen am
-
-
-
-
- info_providers.bulk_import.action.label
- Aktion
-
-
-
-
- info_providers.bulk_import.action.delete
- Löschen
-
-
-
-
- info_providers.bulk_import.status.active
- Aktiv
-
-
-
-
- info_providers.bulk_import.progress.title
- Fortschritt
-
-
-
-
- info_providers.bulk_import.progress.completed_text
- %completed%/%total% abgeschlossen
-
-
-
-
- info_providers.bulk_import.status.stopped
- Angehalten
-
-
-
-
- info_providers.bulk_import.action.stop
- Stop
-
-
-
-
- info_providers.bulk_import.confirm_stop_job
- Sind sie sicher, dass sie diesen Auftrag anhalten wollen?
-
-
-
-
- part.filter.in_bulk_import_job
- Im Massenimport-Auftrag
-
-
-
-
- part.filter.bulk_import_job_status
- Status des Massenimportauftrags
-
-
-
-
- part.filter.bulk_import_part_status
- Status des Bauteils im Massenimport
-
-
-
-
- part.edit.tab.bulk_import
- Massenimportauftrag
-
-
-
-
- bulk_import.status.pending
- Ausstehend
-
-
-
-
- bulk_import.status.in_progress
- In Bearbeitung
-
-
-
-
- bulk_import.status.completed
- Abgeschlossen
-
-
-
-
- bulk_import.status.stopped
- Angehalten
-
-
-
-
- bulk_import.status.failed
- Fehlgeschlagen
-
-
-
-
- bulk_import.part_status.pending
- Ausstehend
-
-
-
-
- bulk_import.part_status.completed
- Abgeschlossen
-
-
-
-
- bulk_import.part_status.skipped
- Übersprungen
-
-
-
-
- bulk_import.part_status.failed
- Fehlgeschlagen
-
-
-
-
- bulk_info_provider_import_job.label
- Massenimport von Informationquellen
-
-
-
-
- bulk_info_provider_import_job_part.label
- Massenimportauftrag Bauteil
-
-
-
-
- info_providers.bulk_search.priority
- Priorität
-
-
-
-
- info_providers.bulk_search.priority.help
- Niedrigere Zahlen = höhere Priorität. Gleiche Priorität = Ergebnisse kombinieren. Unterschiedliche Prioritäten = zuerst die höchste versuchen, bei fehlenden Ergebnissen auf die niedrigere zurückgreifen.
-
-
-
-
- info_providers.bulk_import.priority_system.title
- Prioritätssystem
-
-
-
-
- info_providers.bulk_import.priority_system.description
- Lower numbers = higher priority. Same priority = combine results. Different priorities = try highest first, fallback if no results.
-
-
-
-
- info_providers.bulk_import.priority_system.example
- Beispiel: Priorität 1: „LCSC SPN → LCSC“, Priorität 2: „MPN → LCSC + Mouser“, Priorität 3: „Name → Alle Anbieter“
-
-
-
-
- info_providers.bulk_import.search.submit
- Datenquellen
-
-
-
-
- info_providers.bulk_import.research.title
- Bauteile erneut suchen
-
-
-
-
- info_providers.bulk_import.research.description
- Erneute Suche nach Teilen unter Verwendung aktualisierter Informationen (z. B. neue MPNs). Verwendet dieselben Feldzuordnungen wie die ursprüngliche Suche.
-
-
-
-
- info_providers.bulk_import.research.all_pending
- Alle ausstehenden Teile erneut suchen
-
-
-
-
- info_providers.bulk_import.research.part
- Erneut suchen
-
-
-
-
- info_providers.bulk_import.research.part_tooltip
- Dieses Bauteil mit aktualisierten Informationen erneut suchen
-
-
-
-
- info_providers.bulk_import.max_mappings_reached
- Maximale Anzahl von Zuordnungen erreicht
-
-
diff --git a/translations/messages.en.xlf b/translations/messages.en.xlf
index a2ec2f65..b109eb6f 100644
--- a/translations/messages.en.xlf
+++ b/translations/messages.en.xlf
@@ -9339,6 +9339,12 @@ Element 1 -> Element 1.2
Part Status in Job
+
+
+ filter.bulk_import_job.status.any
+ Any Status
+
+ filter.bulk_import_job.status.pending
@@ -9369,6 +9375,12 @@ Element 1 -> Element 1.2
Failed
+
+
+ filter.bulk_import_job.part_status.any
+ Any Part Status
+
+ filter.bulk_import_job.part_status.pending
@@ -12392,7 +12404,7 @@ Please note, that you can not impersonate a disabled user. If you try you will g
settings.ips.element14.apiKey.help
- You can register for an API key on <a href="https://partner.element14.com/">https://partner.element14.com/</a>.
+ https://partner.element14.com/.]]>
@@ -12404,7 +12416,7 @@ Please note, that you can not impersonate a disabled user. If you try you will g
settings.ips.element14.storeId.help
- The store domain to retrieve the data from. This decides the language and currency of results. See <a href="https://partner.element14.com/docs/Product_Search_API_REST__Description">here</a> for a list of valid domains.
+ here for a list of valid domains.]]>
@@ -12422,7 +12434,7 @@ Please note, that you can not impersonate a disabled user. If you try you will g
settings.ips.tme.token.help
- You can get an API token and secret on <a href="https://developers.tme.eu/en/">https://developers.tme.eu/en/</a>.
+ https://developers.tme.eu/en/.]]>
@@ -12470,7 +12482,7 @@ Please note, that you can not impersonate a disabled user. If you try you will g
settings.ips.mouser.apiKey.help
- You can register for an API key on <a href="https://eu.mouser.com/api-hub/">https://eu.mouser.com/api-hub/</a>.
+ https://eu.mouser.com/api-hub/.]]>
@@ -12548,7 +12560,7 @@ Please note, that you can not impersonate a disabled user. If you try you will g
settings.system.attachments
- Attachments & Files
+
@@ -12572,7 +12584,7 @@ Please note, that you can not impersonate a disabled user. If you try you will g
settings.system.attachments.allowDownloads.help
- With this option users can download external files into Part-DB by providing an URL. <b>Attention: This can be a security issue, as it might allow users to access intranet ressources via Part-DB!</b>
+ Attention: This can be a security issue, as it might allow users to access intranet ressources via Part-DB!]]>
@@ -12746,8 +12758,8 @@ Please note, that you can not impersonate a disabled user. If you try you will g
settings.system.localization.base_currency_description
- The currency that is used to store price information and exchange rates in. This currency is assumed, when no currency is set for a price information.
-<b>Please note that the currencies are not converted, when changing this value. So changing the default currency after you already added price information, will result in wrong prices!</b>
+ Please note that the currencies are not converted, when changing this value. So changing the default currency after you already added price information, will result in wrong prices!]]>
@@ -12777,7 +12789,7 @@ Please note, that you can not impersonate a disabled user. If you try you will g
settings.misc.kicad_eda.category_depth.help
- This value determines the depth of the category tree, that is visible inside KiCad. 0 means that only the top level categories are visible. Set to a value > 0 to show more levels. Set to -1, to show all parts of Part-DB inside a sigle cnategory in KiCad.
+ 0 to show more levels. Set to -1, to show all parts of Part-DB inside a sigle cnategory in KiCad.]]>
@@ -12795,7 +12807,7 @@ Please note, that you can not impersonate a disabled user. If you try you will g
settings.behavior.sidebar.items.help
- The menus which appear at the sidebar by default. Order of items can be changed via drag & drop.
+
@@ -12843,7 +12855,7 @@ Please note, that you can not impersonate a disabled user. If you try you will g
settings.behavior.table.parts_default_columns.help
- The columns to show by default in part tables. Order of items can be changed via drag & drop.
+
@@ -12897,7 +12909,7 @@ Please note, that you can not impersonate a disabled user. If you try you will g
settings.ips.oemsecrets.sortMode.M
- Completeness & Manufacturer name
+
@@ -13626,6 +13638,12 @@ Please note, that you can not impersonate a disabled user. If you try you will g
Source Field
+
+
+ info_providers.bulk_import.create_part
+ Create Part
+
+ info_providers.bulk_import.view_existing
@@ -13692,6 +13710,18 @@ Please note, that you can not impersonate a disabled user. If you try you will g
Bulk Info Provider Import
+
+
+ info_providers.bulk_import.clear_selections
+ Clear All Selections
+
+
+
+
+ info_providers.bulk_import.clear_row
+ Clear this row's selections
+
+ info_providers.bulk_import.step1.spn_recommendation
@@ -13794,18 +13824,126 @@ Please note, that you can not impersonate a disabled user. If you try you will g
Source Field
+
+
+ info_providers.bulk_import.table.action
+ Action
+
+
+
+
+ info_providers.bulk_import.action.select
+ Select
+
+
+
+
+ info_providers.bulk_import.action.deselect
+ Deselect
+
+
+
+
+ info_providers.bulk_import.action.view_details
+ View Details
+
+
+
+
+ info_providers.bulk_import.no_results
+ No results found
+
+
+
+
+ info_providers.bulk_import.processing
+ Processing...
+
+
+
+
+ info_providers.bulk_import.error
+ Error occurred during import
+
+
+
+
+ info_providers.bulk_import.success
+ Import completed successfully
+
+
+
+
+ info_providers.bulk_import.partial_success
+ Import completed with some errors
+
+
+
+
+ info_providers.bulk_import.retry
+ Retry
+
+
+
+
+ info_providers.bulk_import.cancel
+ Cancel
+
+
+
+
+ info_providers.bulk_import.confirm
+ Confirm Import
+
+ info_providers.bulk_import.backBack
+
+
+ info_providers.bulk_import.next
+ Next
+
+
+
+
+ info_providers.bulk_import.finish
+ Finish
+
+ info_providers.bulk_import.progressProgress:
+
+
+ info_providers.bulk_import.time_remaining
+ Estimated time remaining: %time%
+
+
+
+
+ info_providers.bulk_import.details_modal.title
+ Part Details
+
+
+
+
+ info_providers.bulk_import.details_modal.close
+ Close
+
+
+
+
+ info_providers.bulk_import.details_modal.select_this_part
+ Select This Part
+
+ info_providers.bulk_import.status.pending
@@ -14010,6 +14148,24 @@ Please note, that you can not impersonate a disabled user. If you try you will g
%completed% / %total% completed
+
+
+ info_providers.bulk_import.error.deleting_job
+ Error deleting job
+
+
+
+
+ info_providers.bulk_import.error.unknown
+ Unknown error
+
+
+
+
+ info_providers.bulk_import.error.deleting_job_with_details
+ Error deleting job: %error%
+
+ info_providers.bulk_import.status.stopped
@@ -14034,6 +14190,18 @@ Please note, that you can not impersonate a disabled user. If you try you will g
In Bulk Import Job
+
+
+ part.filter.in_bulk_import_job.yes
+ Yes
+
+
+
+
+ part.filter.in_bulk_import_job.no
+ No
+
+ part.filter.bulk_import_job_status
@@ -14106,14 +14274,20 @@ Please note, that you can not impersonate a disabled user. If you try you will g
Failed
-
+
+ filter.operator
+ Operator
+
+
+
+ bulk_info_provider_import_job.labelBulk info provider import
-
+ bulk_info_provider_import_job_part.labelBulk Import Job Part
@@ -14154,6 +14328,12 @@ Please note, that you can not impersonate a disabled user. If you try you will g
Search Providers
+
+
+ info_providers.bulk_import.searching
+ Searching
+
+ info_providers.bulk_import.research.title
@@ -14185,7 +14365,7 @@ Please note, that you can not impersonate a disabled user. If you try you will g
-
+ info_providers.bulk_import.max_mappings_reachedMaximum number of mappings reached