From 4a7e9a227876e2cbe7f0d706648341eafb0237d5 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Wed, 28 Oct 2020 23:59:18 +1100 Subject: [PATCH] Update translations and PEP fixes --- InvenTree/InvenTree/views.py | 1 - InvenTree/build/views.py | 4 +- InvenTree/locale/de/LC_MESSAGES/django.mo | Bin 48353 -> 48272 bytes InvenTree/locale/de/LC_MESSAGES/django.po | 353 +++++++++++++--------- InvenTree/locale/en/LC_MESSAGES/django.po | 332 +++++++++++--------- InvenTree/locale/es/LC_MESSAGES/django.po | 332 +++++++++++--------- InvenTree/part/models.py | 1 - InvenTree/part/views.py | 2 +- InvenTree/stock/views.py | 2 +- 9 files changed, 586 insertions(+), 441 deletions(-) diff --git a/InvenTree/InvenTree/views.py b/InvenTree/InvenTree/views.py index 16f77e5d9b..08d9084cfc 100644 --- a/InvenTree/InvenTree/views.py +++ b/InvenTree/InvenTree/views.py @@ -10,7 +10,6 @@ from __future__ import unicode_literals from django.utils.translation import gettext_lazy as _ from django.template.loader import render_to_string -from django.core.exceptions import ValidationError from django.http import JsonResponse, HttpResponseRedirect from django.urls import reverse_lazy diff --git a/InvenTree/build/views.py b/InvenTree/build/views.py index 6666089d11..660b17ddc5 100644 --- a/InvenTree/build/views.py +++ b/InvenTree/build/views.py @@ -513,7 +513,7 @@ class BuildCreate(AjaxCreateView): part = Part.objects.get(pk=form['part'].value()) # Part is not trackable - hide serial numbers - if not part.trackable: + if not part.trackable: form.fields['serial_numbers'].widget = HiddenInput() return form @@ -576,7 +576,7 @@ class BuildCreate(AjaxCreateView): # Check that the provided serial numbers are sensible try: - extracted = ExtractSerialNumbers(serials, quantity) + extracted = ExtractSerialNumbers(serials, quantity) except ValidationError as e: extracted = None form.add_error('serial_numbers', e.messages) diff --git a/InvenTree/locale/de/LC_MESSAGES/django.mo b/InvenTree/locale/de/LC_MESSAGES/django.mo index e21ba937971fa2f2467c9da5c3176d2cc9735dbf..1e93242c222ef0f88a5086ad80dee467b4e027bd 100644 GIT binary patch delta 12603 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 diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index a99811c6d0..e07947bcf4 100644 --- a/InvenTree/locale/de/LC_MESSAGES/django.po +++ b/InvenTree/locale/de/LC_MESSAGES/django.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-10-28 11:24+0000\n" +"POT-Creation-Date: 2020-10-28 12:50+0000\n" "PO-Revision-Date: 2020-05-03 11:32+0200\n" "Last-Translator: Christian Schlüter \n" "Language-Team: C \n" @@ -214,7 +214,35 @@ msgstr "Überschuss darf 100% nicht überschreiten" msgid "Overage must be an integer value or a percentage" msgstr "Überschuss muss eine Ganzzahl oder ein Prozentwert sein" -#: InvenTree/views.py:734 +#: InvenTree/views.py:466 +#, fuzzy +#| msgid "Delete BOM Item" +msgid "Delete Item" +msgstr "BOM-Position löschen" + +#: InvenTree/views.py:515 +#, fuzzy +#| msgid "Confim BOM item deletion" +msgid "Check box to confirm item deletion" +msgstr "Löschung von BOM-Position bestätigen" + +#: InvenTree/views.py:530 +#, fuzzy +#| msgid "No user information" +msgid "Edit User Information" +msgstr "Keine Benutzerinformation" + +#: InvenTree/views.py:541 +#, fuzzy +#| msgid "Select part" +msgid "Set Password" +msgstr "Teil auswählen" + +#: InvenTree/views.py:560 +msgid "Password fields must match" +msgstr "" + +#: InvenTree/views.py:730 msgid "Database Statistics" msgstr "Datenbankstatistiken" @@ -473,7 +501,7 @@ msgstr "Chargennummer für diese Bau-Ausgabe" msgid "External Link" msgstr "Externer Link" -#: build/models.py:178 part/models.py:579 stock/models.py:391 +#: build/models.py:178 part/models.py:596 stock/models.py:391 msgid "Link to external URL" msgstr "Link zu einer externen URL" @@ -482,7 +510,7 @@ msgstr "Link zu einer externen URL" #: order/templates/order/purchase_order_detail.html:202 #: order/templates/order/so_tabs.html:23 part/templates/part/tabs.html:70 #: stock/forms.py:306 stock/forms.py:338 stock/forms.py:366 stock/models.py:461 -#: stock/models.py:1412 stock/templates/stock/tabs.html:26 +#: stock/models.py:1409 stock/templates/stock/tabs.html:26 #: templates/js/barcode.js:391 templates/js/bom.js:250 #: templates/js/stock.js:116 templates/js/stock.js:571 msgid "Notes" @@ -663,7 +691,7 @@ msgstr "Zuweisung löschen" msgid "No BOM items found" msgstr "Keine BOM-Einträge gefunden" -#: build/templates/build/allocate.html:384 part/models.py:1431 +#: build/templates/build/allocate.html:384 part/models.py:1448 #: templates/js/part.js:530 templates/js/table_filters.js:150 msgid "Required" msgstr "benötigt" @@ -764,7 +792,7 @@ msgstr "Bau fertigstellen" msgid "Cancel Build" msgstr "Bau abbrechen" -#: build/templates/build/build_base.html:59 build/views.py:625 +#: build/templates/build/build_base.html:59 build/views.py:630 msgid "Delete Build" msgstr "Bau entfernt" @@ -937,7 +965,7 @@ msgstr "Fertig" msgid "Alter the quantity of stock allocated to the build output" msgstr "Lagerobjekt-Anzahl dem Bau zuweisen" -#: build/templates/build/index.html:24 build/views.py:511 +#: build/templates/build/index.html:24 build/views.py:505 msgid "New Build Order" msgstr "Neuer Bauauftrag" @@ -1013,85 +1041,97 @@ msgstr "Zuweisungsaufhebung bestätigen" msgid "Check the confirmation box" msgstr "Bestätigungsbox bestätigen" -#: build/views.py:228 build/views.py:636 +#: build/views.py:228 build/views.py:641 msgid "Unallocate Stock" msgstr "Zuweisung aufheben" -#: build/views.py:378 +#: build/views.py:377 msgid "Confirm completion of build" msgstr "Baufertigstellung bestätigen" -#: build/views.py:385 +#: build/views.py:383 msgid "Invalid location selected" msgstr "Ungültige Ortsauswahl" -#: build/views.py:410 stock/views.py:1652 +#: build/views.py:404 #, python-brace-format msgid "The following serial numbers already exist: ({sn})" msgstr "Die folgende Seriennummer existiert bereits: ({sn})" -#: build/views.py:431 +#: build/views.py:413 +#, fuzzy +#| msgid "Build order allocation is complete" +msgid "Build could not be completed" +msgstr "Bau-Zuweisung ist vollständig" + +#: build/views.py:425 msgid "Build marked as COMPLETE" msgstr "Bau als FERTIG markiert" -#: build/views.py:560 +#: build/views.py:554 msgid "Created new build" msgstr "Neuen Bau angelegt" -#: build/views.py:578 +#: build/views.py:571 msgid "Trackable part must have serial numbers specified" msgstr "" -#: build/views.py:610 +#: build/views.py:592 stock/models.py:829 stock/views.py:1650 +#, fuzzy +#| msgid "Serial numbers already exist: " +msgid "Serial numbers already exist" +msgstr "Seriennummern existieren bereits:" + +#: build/views.py:615 msgid "Edit Build Details" msgstr "Baudetails bearbeiten" -#: build/views.py:616 +#: build/views.py:621 msgid "Edited build" msgstr "Bau bearbeitet" -#: build/views.py:642 +#: build/views.py:647 msgid "Removed parts from build allocation" msgstr "Teile von Bauzuordnung entfernt" -#: build/views.py:654 +#: build/views.py:659 #, fuzzy #| msgid "Allocate Stock to Build" msgid "Allocate stock to build output" msgstr "Lagerbestand dem Bau zuweisen" -#: build/views.py:845 +#: build/views.py:850 msgid "Edit Stock Allocation" msgstr "Teilzuordnung bearbeiten" -#: build/views.py:850 +#: build/views.py:855 msgid "Updated Build Item" msgstr "Bauobjekt aktualisiert" -#: build/views.py:877 +#: build/views.py:882 #, fuzzy #| msgid "Add Sales Order Attachment" msgid "Add Build Order Attachment" msgstr "Auftragsanhang hinzufügen" -#: build/views.py:886 order/views.py:109 order/views.py:157 part/views.py:92 +#: build/views.py:891 order/views.py:109 order/views.py:157 part/views.py:92 #: stock/views.py:175 msgid "Added attachment" msgstr "Anhang hinzugefügt" -#: build/views.py:922 order/views.py:184 order/views.py:206 +#: build/views.py:927 order/views.py:184 order/views.py:206 msgid "Edit Attachment" msgstr "Anhang bearbeiten" -#: build/views.py:933 order/views.py:189 order/views.py:211 +#: build/views.py:938 order/views.py:189 order/views.py:211 msgid "Attachment updated" msgstr "Anhang aktualisiert" -#: build/views.py:943 order/views.py:226 order/views.py:241 +#: build/views.py:948 order/views.py:226 order/views.py:241 msgid "Delete Attachment" msgstr "Anhang löschen" -#: build/views.py:949 order/views.py:233 order/views.py:248 stock/views.py:233 +#: build/views.py:954 order/views.py:233 order/views.py:248 stock/views.py:233 msgid "Deleted attachment" msgstr "Anhang gelöscht" @@ -1602,7 +1642,7 @@ msgid "Pricing Information" msgstr "Preisinformationen ansehen" #: company/templates/company/supplier_part_pricing.html:16 company/views.py:410 -#: part/templates/part/sale_prices.html:13 part/views.py:2228 +#: part/templates/part/sale_prices.html:13 part/views.py:2230 msgid "Add Price Break" msgstr "Preisstaffel hinzufügen" @@ -1735,17 +1775,17 @@ msgstr "Neues Zuliefererteil anlegen" msgid "Delete Supplier Part" msgstr "Zuliefererteil entfernen" -#: company/views.py:416 part/views.py:2234 +#: company/views.py:416 part/views.py:2236 #, fuzzy #| msgid "Add Price Break" msgid "Added new price break" msgstr "Preisstaffel hinzufügen" -#: company/views.py:453 part/views.py:2279 +#: company/views.py:453 part/views.py:2281 msgid "Edit Price Break" msgstr "Preisstaffel bearbeiten" -#: company/views.py:469 part/views.py:2295 +#: company/views.py:469 part/views.py:2297 msgid "Delete Price Break" msgstr "Preisstaffel löschen" @@ -1850,7 +1890,7 @@ msgstr "" msgid "Date order was completed" msgstr "Bestellung als vollständig markieren" -#: order/models.py:185 order/models.py:259 part/views.py:1345 +#: order/models.py:185 order/models.py:259 part/views.py:1347 #: stock/models.py:249 stock/models.py:813 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" @@ -2465,117 +2505,117 @@ msgstr "Teile-Kategorien" msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "Teil '{p1}' wird in Stückliste für Teil '{p2}' benutzt (rekursiv)" -#: part/models.py:435 +#: part/models.py:452 #, fuzzy #| msgid "No serial numbers found" msgid "Next available serial numbers are" msgstr "Keine Seriennummern gefunden" -#: part/models.py:439 +#: part/models.py:456 msgid "Next available serial number is" msgstr "" -#: part/models.py:444 +#: part/models.py:461 #, fuzzy #| msgid "Empty serial number string" msgid "Most recent serial number is" msgstr "Keine Seriennummer angegeben" -#: part/models.py:522 +#: part/models.py:539 msgid "Part must be unique for name, IPN and revision" msgstr "Namen, Teile- und Revisionsnummern müssen eindeutig sein" -#: part/models.py:551 part/templates/part/detail.html:19 +#: part/models.py:568 part/templates/part/detail.html:19 msgid "Part name" msgstr "Name des Teils" -#: part/models.py:555 +#: part/models.py:572 msgid "Is this part a template part?" msgstr "Ist dieses Teil eine Vorlage?" -#: part/models.py:564 +#: part/models.py:581 msgid "Is this part a variant of another part?" msgstr "Ist dieses Teil eine Variante eines anderen Teils?" -#: part/models.py:566 +#: part/models.py:583 msgid "Part description" msgstr "Beschreibung des Teils" -#: part/models.py:568 +#: part/models.py:585 msgid "Part keywords to improve visibility in search results" msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" -#: part/models.py:573 +#: part/models.py:590 msgid "Part category" msgstr "Teile-Kategorie" -#: part/models.py:575 +#: part/models.py:592 msgid "Internal Part Number" msgstr "Interne Teilenummer" -#: part/models.py:577 +#: part/models.py:594 msgid "Part revision or version number" msgstr "Revisions- oder Versionsnummer" -#: part/models.py:591 +#: part/models.py:608 msgid "Where is this item normally stored?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: part/models.py:635 +#: part/models.py:652 msgid "Default supplier part" msgstr "Standard-Zulieferer?" -#: part/models.py:638 +#: part/models.py:655 msgid "Minimum allowed stock level" msgstr "Minimal zulässiger Lagerbestand" -#: part/models.py:640 +#: part/models.py:657 msgid "Stock keeping units for this part" msgstr "Stock Keeping Units (SKU) für dieses Teil" -#: part/models.py:642 +#: part/models.py:659 msgid "Can this part be built from other parts?" msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?" -#: part/models.py:644 +#: part/models.py:661 msgid "Can this part be used to build other parts?" msgstr "Kann dieses Teil zum Bau von anderen genutzt werden?" -#: part/models.py:646 +#: part/models.py:663 msgid "Does this part have tracking for unique items?" msgstr "Hat dieses Teil Tracking für einzelne Objekte?" -#: part/models.py:648 +#: part/models.py:665 msgid "Can this part be purchased from external suppliers?" msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?" -#: part/models.py:650 +#: part/models.py:667 msgid "Can this part be sold to customers?" msgstr "Kann dieses Teil an Kunden verkauft werden?" -#: part/models.py:652 +#: part/models.py:669 msgid "Is this part active?" msgstr "Ist dieses Teil aktiv?" -#: part/models.py:654 +#: part/models.py:671 msgid "Is this a virtual part, such as a software product or license?" msgstr "Ist dieses Teil virtuell, wie zum Beispiel eine Software oder Lizenz?" -#: part/models.py:656 +#: part/models.py:673 msgid "Part notes - supports Markdown formatting" msgstr "Bemerkungen - unterstüzt Markdown-Formatierung" -#: part/models.py:658 +#: part/models.py:675 msgid "Stored BOM checksum" msgstr "Prüfsumme der Stückliste gespeichert" -#: part/models.py:1383 +#: part/models.py:1400 #, fuzzy #| msgid "Stock item cannot be created for a template Part" msgid "Test templates can only be created for trackable parts" msgstr "Lagerobjekt kann nicht für Vorlagen-Teile angelegt werden" -#: part/models.py:1400 +#: part/models.py:1417 #, fuzzy #| msgid "" #| "A stock item with this serial number already exists for template part " @@ -2585,120 +2625,120 @@ msgstr "" "Ein Teil mit dieser Seriennummer existiert bereits für die Teilevorlage " "{part}" -#: part/models.py:1419 templates/js/part.js:521 templates/js/stock.js:92 +#: part/models.py:1436 templates/js/part.js:521 templates/js/stock.js:92 #, fuzzy #| msgid "Instance Name" msgid "Test Name" msgstr "Instanzname" -#: part/models.py:1420 +#: part/models.py:1437 #, fuzzy #| msgid "Serial number for this item" msgid "Enter a name for the test" msgstr "Seriennummer für dieses Teil" -#: part/models.py:1425 +#: part/models.py:1442 #, fuzzy #| msgid "Description" msgid "Test Description" msgstr "Beschreibung" -#: part/models.py:1426 +#: part/models.py:1443 #, fuzzy #| msgid "Brief description of the build" msgid "Enter description for this test" msgstr "Kurze Beschreibung des Baus" -#: part/models.py:1432 +#: part/models.py:1449 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:1437 templates/js/part.js:538 +#: part/models.py:1454 templates/js/part.js:538 #, fuzzy #| msgid "Required Parts" msgid "Requires Value" msgstr "benötigte Teile" -#: part/models.py:1438 +#: part/models.py:1455 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:1443 templates/js/part.js:545 +#: part/models.py:1460 templates/js/part.js:545 #, fuzzy #| msgid "Delete Attachment" msgid "Requires Attachment" msgstr "Anhang löschen" -#: part/models.py:1444 +#: part/models.py:1461 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:1477 +#: part/models.py:1494 msgid "Parameter template name must be unique" msgstr "Vorlagen-Name des Parameters muss eindeutig sein" -#: part/models.py:1482 +#: part/models.py:1499 msgid "Parameter Name" msgstr "Name des Parameters" -#: part/models.py:1484 +#: part/models.py:1501 msgid "Parameter Units" msgstr "Parameter Einheit" -#: part/models.py:1510 +#: part/models.py:1527 msgid "Parent Part" msgstr "Ausgangsteil" -#: part/models.py:1512 +#: part/models.py:1529 msgid "Parameter Template" msgstr "Parameter Vorlage" -#: part/models.py:1514 +#: part/models.py:1531 msgid "Parameter Value" msgstr "Parameter Wert" -#: part/models.py:1551 +#: part/models.py:1568 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:1559 +#: part/models.py:1576 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:1565 +#: part/models.py:1582 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:1567 +#: part/models.py:1584 #, fuzzy #| msgid "Confim BOM item deletion" msgid "This BOM item is optional" msgstr "Löschung von BOM-Position bestätigen" -#: part/models.py:1570 +#: part/models.py:1587 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschätzter Ausschuss (absolut oder prozentual)" -#: part/models.py:1573 +#: part/models.py:1590 msgid "BOM item reference" msgstr "Referenz des Objekts auf der Stückliste" -#: part/models.py:1576 +#: part/models.py:1593 msgid "BOM item notes" msgstr "Notizen zum Stücklisten-Objekt" -#: part/models.py:1578 +#: part/models.py:1595 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:1645 part/views.py:1351 part/views.py:1403 +#: part/models.py:1662 part/views.py:1353 part/views.py:1405 #: stock/models.py:239 #, fuzzy #| msgid "Overage must be an integer value or a percentage" msgid "Quantity must be integer value for trackable parts" msgstr "Überschuss muss eine Ganzzahl oder ein Prozentwert sein" -#: part/models.py:1661 +#: part/models.py:1678 #, fuzzy #| msgid "New BOM Item" msgid "BOM Item" @@ -2783,7 +2823,7 @@ msgstr "Stückliste validieren" msgid "Validate" msgstr "BOM validieren" -#: part/templates/part/bom.html:61 part/views.py:1642 +#: part/templates/part/bom.html:61 part/views.py:1644 msgid "Export Bill of Materials" msgstr "Stückliste exportieren" @@ -2899,7 +2939,7 @@ msgstr "Neuen Bau beginnen" msgid "All parts" msgstr "Alle Teile" -#: part/templates/part/category.html:24 part/views.py:2045 +#: part/templates/part/category.html:24 part/views.py:2047 msgid "Create new part category" msgstr "Teilkategorie anlegen" @@ -2999,6 +3039,22 @@ msgstr "Neuen Lager-Standort erstellen" msgid "Parametric Table" msgstr "Parameter Wert" +#: part/templates/part/create_part.html:11 +#, fuzzy +#| msgid "No matching data" +msgid "Possible Matching Parts" +msgstr "Keine passenden Daten" + +#: part/templates/part/create_part.html:12 +msgid "The new part may be a duplicate of these existing parts" +msgstr "" + +#: part/templates/part/create_part.html:16 +#, fuzzy +#| msgid "Batch" +msgid "match" +msgstr "Los" + #: part/templates/part/detail.html:9 msgid "Part Details" msgstr "Teile-Details" @@ -3179,7 +3235,7 @@ msgstr "Parameter hinzufügen" msgid "New Parameter" msgstr "Neuer Parameter" -#: part/templates/part/params.html:25 stock/models.py:1399 +#: part/templates/part/params.html:25 stock/models.py:1396 #: templates/js/stock.js:112 msgid "Value" msgstr "Wert" @@ -3476,129 +3532,139 @@ msgstr "Teil duplizieren" msgid "Copied part" msgstr "Teil kopiert" -#: part/views.py:513 templates/js/stock.js:833 +#: part/views.py:449 part/views.py:579 +msgid "Possible matches exist - confirm creation of new part" +msgstr "" + +#: part/views.py:514 templates/js/stock.js:833 msgid "Create New Part" msgstr "Neues Teil anlegen" -#: part/views.py:520 +#: part/views.py:521 msgid "Created new part" msgstr "Neues Teil angelegt" -#: part/views.py:735 +#: part/views.py:737 msgid "Part QR Code" msgstr "Teil-QR-Code" -#: part/views.py:754 +#: part/views.py:756 msgid "Upload Part Image" msgstr "Teilbild hochladen" -#: part/views.py:762 part/views.py:799 +#: part/views.py:764 part/views.py:801 msgid "Updated part image" msgstr "Teilbild aktualisiert" -#: part/views.py:771 +#: part/views.py:773 msgid "Select Part Image" msgstr "Teilbild auswählen" -#: part/views.py:802 +#: part/views.py:804 msgid "Part image not found" msgstr "Teilbild nicht gefunden" -#: part/views.py:813 +#: part/views.py:815 msgid "Edit Part Properties" msgstr "Teileigenschaften bearbeiten" -#: part/views.py:837 +#: part/views.py:839 msgid "Validate BOM" msgstr "BOM validieren" -#: part/views.py:1004 +#: part/views.py:867 +#, fuzzy +#| msgid "Confirm that the BOM is correct" +msgid "Confirm that the BOM is valid" +msgstr "Bestätigen, dass die Stückliste korrekt ist" + +#: part/views.py:1006 msgid "No BOM file provided" msgstr "Keine Stückliste angegeben" -#: part/views.py:1354 +#: part/views.py:1356 msgid "Enter a valid quantity" msgstr "Bitte eine gültige Anzahl eingeben" -#: part/views.py:1379 part/views.py:1382 +#: part/views.py:1381 part/views.py:1384 msgid "Select valid part" msgstr "Bitte ein gültiges Teil auswählen" -#: part/views.py:1388 +#: part/views.py:1390 msgid "Duplicate part selected" msgstr "Teil doppelt ausgewählt" -#: part/views.py:1426 +#: part/views.py:1428 msgid "Select a part" msgstr "Teil auswählen" -#: part/views.py:1432 +#: part/views.py:1434 #, fuzzy #| msgid "Select part to be used in BOM" msgid "Selected part creates a circular BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/views.py:1436 +#: part/views.py:1438 msgid "Specify quantity" msgstr "Anzahl angeben" -#: part/views.py:1692 +#: part/views.py:1694 msgid "Confirm Part Deletion" msgstr "Löschen des Teils bestätigen" -#: part/views.py:1701 +#: part/views.py:1703 msgid "Part was deleted" msgstr "Teil wurde gelöscht" -#: part/views.py:1710 +#: part/views.py:1712 msgid "Part Pricing" msgstr "Teilbepreisung" -#: part/views.py:1836 +#: part/views.py:1838 msgid "Create Part Parameter Template" msgstr "Teilparametervorlage anlegen" -#: part/views.py:1846 +#: part/views.py:1848 msgid "Edit Part Parameter Template" msgstr "Teilparametervorlage bearbeiten" -#: part/views.py:1855 +#: part/views.py:1857 msgid "Delete Part Parameter Template" msgstr "Teilparametervorlage löschen" -#: part/views.py:1865 +#: part/views.py:1867 msgid "Create Part Parameter" msgstr "Teilparameter anlegen" -#: part/views.py:1917 +#: part/views.py:1919 msgid "Edit Part Parameter" msgstr "Teilparameter bearbeiten" -#: part/views.py:1933 +#: part/views.py:1935 msgid "Delete Part Parameter" msgstr "Teilparameter löschen" -#: part/views.py:1992 +#: part/views.py:1994 msgid "Edit Part Category" msgstr "Teilkategorie bearbeiten" -#: part/views.py:2029 +#: part/views.py:2031 msgid "Delete Part Category" msgstr "Teilkategorie löschen" -#: part/views.py:2037 +#: part/views.py:2039 msgid "Part category was deleted" msgstr "Teilekategorie wurde gelöscht" -#: part/views.py:2100 +#: part/views.py:2102 msgid "Create BOM item" msgstr "BOM-Position anlegen" -#: part/views.py:2168 +#: part/views.py:2170 msgid "Edit BOM item" msgstr "BOM-Position beaarbeiten" -#: part/views.py:2218 +#: part/views.py:2220 msgid "Confim BOM item deletion" msgstr "Löschung von BOM-Position bestätigen" @@ -3900,82 +3966,78 @@ msgstr "Seriennummern muss eine Liste von Ganzzahlen sein" msgid "Quantity does not match serial numbers" msgstr "Anzahl stimmt nicht mit den Seriennummern überein" -#: stock/models.py:832 -msgid "Serial numbers already exist: " -msgstr "Seriennummern existieren bereits:" - -#: stock/models.py:857 +#: stock/models.py:854 msgid "Add serial number" msgstr "Seriennummer hinzufügen" -#: stock/models.py:860 +#: stock/models.py:857 #, python-brace-format msgid "Serialized {n} items" msgstr "{n} Teile serialisiert" -#: stock/models.py:971 +#: stock/models.py:968 msgid "StockItem cannot be moved as it is not in stock" msgstr "Lagerobjekt kann nicht bewegt werden, da kein Bestand vorhanden ist" -#: stock/models.py:1300 +#: stock/models.py:1297 msgid "Tracking entry title" msgstr "Name des Eintrags-Trackings" -#: stock/models.py:1302 +#: stock/models.py:1299 msgid "Entry notes" msgstr "Eintrags-Notizen" -#: stock/models.py:1304 +#: stock/models.py:1301 msgid "Link to external page for further information" msgstr "Link auf externe Seite für weitere Informationen" -#: stock/models.py:1364 +#: stock/models.py:1361 #, fuzzy #| msgid "Serial number for this item" msgid "Value must be provided for this test" msgstr "Seriennummer für dieses Teil" -#: stock/models.py:1370 +#: stock/models.py:1367 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1387 +#: stock/models.py:1384 msgid "Test" msgstr "" -#: stock/models.py:1388 +#: stock/models.py:1385 #, fuzzy #| msgid "Part name" msgid "Test name" msgstr "Name des Teils" -#: stock/models.py:1393 +#: stock/models.py:1390 #, fuzzy #| msgid "Search Results" msgid "Result" msgstr "Suchergebnisse" -#: stock/models.py:1394 templates/js/table_filters.js:140 +#: stock/models.py:1391 templates/js/table_filters.js:140 msgid "Test result" msgstr "" -#: stock/models.py:1400 +#: stock/models.py:1397 msgid "Test output value" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1403 #, fuzzy #| msgid "Attachments" msgid "Attachment" msgstr "Anhänge" -#: stock/models.py:1407 +#: stock/models.py:1404 #, fuzzy #| msgid "Delete attachment" msgid "Test result attachment" msgstr "Anhang löschen" -#: stock/models.py:1413 +#: stock/models.py:1410 #, fuzzy #| msgid "Edit notes" msgid "Test notes" @@ -4567,32 +4629,32 @@ msgstr "Anzahl muss größer Null sein" msgid "Invalid part selection" msgstr "Ungültige Teileauswahl" -#: stock/views.py:1680 +#: stock/views.py:1679 #, python-brace-format msgid "Created {n} new stock items" msgstr "{n} neue Lagerobjekte erstellt" -#: stock/views.py:1699 stock/views.py:1715 +#: stock/views.py:1698 stock/views.py:1714 msgid "Created new stock item" msgstr "Neues Lagerobjekt erstellt" -#: stock/views.py:1734 +#: stock/views.py:1733 msgid "Delete Stock Location" msgstr "Standort löschen" -#: stock/views.py:1748 +#: stock/views.py:1747 msgid "Delete Stock Item" msgstr "Lagerobjekt löschen" -#: stock/views.py:1760 +#: stock/views.py:1759 msgid "Delete Stock Tracking Entry" msgstr "Lagerbestands-Tracking-Eintrag löschen" -#: stock/views.py:1779 +#: stock/views.py:1778 msgid "Edit Stock Tracking Entry" msgstr "Lagerbestands-Tracking-Eintrag bearbeiten" -#: stock/views.py:1789 +#: stock/views.py:1788 msgid "Add Stock Tracking Entry" msgstr "Lagerbestands-Tracking-Eintrag hinzufügen" @@ -5818,9 +5880,6 @@ msgstr "Ausgewählte Stücklistenpositionen entfernen" #~ msgid "StockItem does not exist" #~ msgstr "Lagerobjekt existiert nicht" -#~ msgid "No matching data" -#~ msgstr "Keine passenden Daten" - #, fuzzy #~| msgid "Add stock" #~ msgid "Add to stock" diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po index eecf358fec..f55cc52b4a 100644 --- a/InvenTree/locale/en/LC_MESSAGES/django.po +++ b/InvenTree/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-10-28 11:24+0000\n" +"POT-Creation-Date: 2020-10-28 12:50+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -202,7 +202,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:734 +#: InvenTree/views.py:466 +msgid "Delete Item" +msgstr "" + +#: InvenTree/views.py:515 +msgid "Check box to confirm item deletion" +msgstr "" + +#: InvenTree/views.py:530 +msgid "Edit User Information" +msgstr "" + +#: InvenTree/views.py:541 +msgid "Set Password" +msgstr "" + +#: InvenTree/views.py:560 +msgid "Password fields must match" +msgstr "" + +#: InvenTree/views.py:730 msgid "Database Statistics" msgstr "" @@ -427,7 +447,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:178 part/models.py:579 stock/models.py:391 +#: build/models.py:178 part/models.py:596 stock/models.py:391 msgid "Link to external URL" msgstr "" @@ -436,7 +456,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:202 #: order/templates/order/so_tabs.html:23 part/templates/part/tabs.html:70 #: stock/forms.py:306 stock/forms.py:338 stock/forms.py:366 stock/models.py:461 -#: stock/models.py:1412 stock/templates/stock/tabs.html:26 +#: stock/models.py:1409 stock/templates/stock/tabs.html:26 #: templates/js/barcode.js:391 templates/js/bom.js:250 #: templates/js/stock.js:116 templates/js/stock.js:571 msgid "Notes" @@ -604,7 +624,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: build/templates/build/allocate.html:384 part/models.py:1431 +#: build/templates/build/allocate.html:384 part/models.py:1448 #: templates/js/part.js:530 templates/js/table_filters.js:150 msgid "Required" msgstr "" @@ -692,7 +712,7 @@ msgstr "" msgid "Cancel Build" msgstr "" -#: build/templates/build/build_base.html:59 build/views.py:625 +#: build/templates/build/build_base.html:59 build/views.py:630 msgid "Delete Build" msgstr "" @@ -847,7 +867,7 @@ msgstr "" msgid "Alter the quantity of stock allocated to the build output" msgstr "" -#: build/templates/build/index.html:24 build/views.py:511 +#: build/templates/build/index.html:24 build/views.py:505 msgid "New Build Order" msgstr "" @@ -918,81 +938,89 @@ msgstr "" msgid "Check the confirmation box" msgstr "" -#: build/views.py:228 build/views.py:636 +#: build/views.py:228 build/views.py:641 msgid "Unallocate Stock" msgstr "" -#: build/views.py:378 +#: build/views.py:377 msgid "Confirm completion of build" msgstr "" -#: build/views.py:385 +#: build/views.py:383 msgid "Invalid location selected" msgstr "" -#: build/views.py:410 stock/views.py:1652 +#: build/views.py:404 #, python-brace-format msgid "The following serial numbers already exist: ({sn})" msgstr "" -#: build/views.py:431 +#: build/views.py:413 +msgid "Build could not be completed" +msgstr "" + +#: build/views.py:425 msgid "Build marked as COMPLETE" msgstr "" -#: build/views.py:560 +#: build/views.py:554 msgid "Created new build" msgstr "" -#: build/views.py:578 +#: build/views.py:571 msgid "Trackable part must have serial numbers specified" msgstr "" -#: build/views.py:610 +#: build/views.py:592 stock/models.py:829 stock/views.py:1650 +msgid "Serial numbers already exist" +msgstr "" + +#: build/views.py:615 msgid "Edit Build Details" msgstr "" -#: build/views.py:616 +#: build/views.py:621 msgid "Edited build" msgstr "" -#: build/views.py:642 +#: build/views.py:647 msgid "Removed parts from build allocation" msgstr "" -#: build/views.py:654 +#: build/views.py:659 msgid "Allocate stock to build output" msgstr "" -#: build/views.py:845 +#: build/views.py:850 msgid "Edit Stock Allocation" msgstr "" -#: build/views.py:850 +#: build/views.py:855 msgid "Updated Build Item" msgstr "" -#: build/views.py:877 +#: build/views.py:882 msgid "Add Build Order Attachment" msgstr "" -#: build/views.py:886 order/views.py:109 order/views.py:157 part/views.py:92 +#: build/views.py:891 order/views.py:109 order/views.py:157 part/views.py:92 #: stock/views.py:175 msgid "Added attachment" msgstr "" -#: build/views.py:922 order/views.py:184 order/views.py:206 +#: build/views.py:927 order/views.py:184 order/views.py:206 msgid "Edit Attachment" msgstr "" -#: build/views.py:933 order/views.py:189 order/views.py:211 +#: build/views.py:938 order/views.py:189 order/views.py:211 msgid "Attachment updated" msgstr "" -#: build/views.py:943 order/views.py:226 order/views.py:241 +#: build/views.py:948 order/views.py:226 order/views.py:241 msgid "Delete Attachment" msgstr "" -#: build/views.py:949 order/views.py:233 order/views.py:248 stock/views.py:233 +#: build/views.py:954 order/views.py:233 order/views.py:248 stock/views.py:233 msgid "Deleted attachment" msgstr "" @@ -1460,7 +1488,7 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part_pricing.html:16 company/views.py:410 -#: part/templates/part/sale_prices.html:13 part/views.py:2228 +#: part/templates/part/sale_prices.html:13 part/views.py:2230 msgid "Add Price Break" msgstr "" @@ -1587,15 +1615,15 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: company/views.py:416 part/views.py:2234 +#: company/views.py:416 part/views.py:2236 msgid "Added new price break" msgstr "" -#: company/views.py:453 part/views.py:2279 +#: company/views.py:453 part/views.py:2281 msgid "Edit Price Break" msgstr "" -#: company/views.py:469 part/views.py:2295 +#: company/views.py:469 part/views.py:2297 msgid "Delete Price Break" msgstr "" @@ -1688,7 +1716,7 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:185 order/models.py:259 part/views.py:1345 +#: order/models.py:185 order/models.py:259 part/views.py:1347 #: stock/models.py:249 stock/models.py:813 msgid "Quantity must be greater than zero" msgstr "" @@ -2274,212 +2302,212 @@ msgstr "" msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:435 +#: part/models.py:452 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:439 +#: part/models.py:456 msgid "Next available serial number is" msgstr "" -#: part/models.py:444 +#: part/models.py:461 msgid "Most recent serial number is" msgstr "" -#: part/models.py:522 +#: part/models.py:539 msgid "Part must be unique for name, IPN and revision" msgstr "" -#: part/models.py:551 part/templates/part/detail.html:19 +#: part/models.py:568 part/templates/part/detail.html:19 msgid "Part name" msgstr "" -#: part/models.py:555 +#: part/models.py:572 msgid "Is this part a template part?" msgstr "" -#: part/models.py:564 +#: part/models.py:581 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:566 +#: part/models.py:583 msgid "Part description" msgstr "" -#: part/models.py:568 +#: part/models.py:585 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:573 +#: part/models.py:590 msgid "Part category" msgstr "" -#: part/models.py:575 +#: part/models.py:592 msgid "Internal Part Number" msgstr "" -#: part/models.py:577 +#: part/models.py:594 msgid "Part revision or version number" msgstr "" -#: part/models.py:591 +#: part/models.py:608 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:635 +#: part/models.py:652 msgid "Default supplier part" msgstr "" -#: part/models.py:638 +#: part/models.py:655 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:640 +#: part/models.py:657 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:642 +#: part/models.py:659 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:644 +#: part/models.py:661 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:646 +#: part/models.py:663 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:648 +#: part/models.py:665 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:650 +#: part/models.py:667 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:652 +#: part/models.py:669 msgid "Is this part active?" msgstr "" -#: part/models.py:654 +#: part/models.py:671 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:656 +#: part/models.py:673 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:658 +#: part/models.py:675 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1383 +#: part/models.py:1400 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:1400 +#: part/models.py:1417 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:1419 templates/js/part.js:521 templates/js/stock.js:92 +#: part/models.py:1436 templates/js/part.js:521 templates/js/stock.js:92 msgid "Test Name" msgstr "" -#: part/models.py:1420 +#: part/models.py:1437 msgid "Enter a name for the test" msgstr "" -#: part/models.py:1425 +#: part/models.py:1442 msgid "Test Description" msgstr "" -#: part/models.py:1426 +#: part/models.py:1443 msgid "Enter description for this test" msgstr "" -#: part/models.py:1432 +#: part/models.py:1449 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:1437 templates/js/part.js:538 +#: part/models.py:1454 templates/js/part.js:538 msgid "Requires Value" msgstr "" -#: part/models.py:1438 +#: part/models.py:1455 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:1443 templates/js/part.js:545 +#: part/models.py:1460 templates/js/part.js:545 msgid "Requires Attachment" msgstr "" -#: part/models.py:1444 +#: part/models.py:1461 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:1477 +#: part/models.py:1494 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:1482 +#: part/models.py:1499 msgid "Parameter Name" msgstr "" -#: part/models.py:1484 +#: part/models.py:1501 msgid "Parameter Units" msgstr "" -#: part/models.py:1510 +#: part/models.py:1527 msgid "Parent Part" msgstr "" -#: part/models.py:1512 +#: part/models.py:1529 msgid "Parameter Template" msgstr "" -#: part/models.py:1514 +#: part/models.py:1531 msgid "Parameter Value" msgstr "" -#: part/models.py:1551 +#: part/models.py:1568 msgid "Select parent part" msgstr "" -#: part/models.py:1559 +#: part/models.py:1576 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:1565 +#: part/models.py:1582 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:1567 +#: part/models.py:1584 msgid "This BOM item is optional" msgstr "" -#: part/models.py:1570 +#: part/models.py:1587 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:1573 +#: part/models.py:1590 msgid "BOM item reference" msgstr "" -#: part/models.py:1576 +#: part/models.py:1593 msgid "BOM item notes" msgstr "" -#: part/models.py:1578 +#: part/models.py:1595 msgid "BOM line checksum" msgstr "" -#: part/models.py:1645 part/views.py:1351 part/views.py:1403 +#: part/models.py:1662 part/views.py:1353 part/views.py:1405 #: stock/models.py:239 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:1661 +#: part/models.py:1678 msgid "BOM Item" msgstr "" @@ -2556,7 +2584,7 @@ msgstr "" msgid "Validate" msgstr "" -#: part/templates/part/bom.html:61 part/views.py:1642 +#: part/templates/part/bom.html:61 part/views.py:1644 msgid "Export Bill of Materials" msgstr "" @@ -2648,7 +2676,7 @@ msgstr "" msgid "All parts" msgstr "" -#: part/templates/part/category.html:24 part/views.py:2045 +#: part/templates/part/category.html:24 part/views.py:2047 msgid "Create new part category" msgstr "" @@ -2728,6 +2756,18 @@ msgstr "" msgid "Parametric Table" msgstr "" +#: part/templates/part/create_part.html:11 +msgid "Possible Matching Parts" +msgstr "" + +#: part/templates/part/create_part.html:12 +msgid "The new part may be a duplicate of these existing parts" +msgstr "" + +#: part/templates/part/create_part.html:16 +msgid "match" +msgstr "" + #: part/templates/part/detail.html:9 msgid "Part Details" msgstr "" @@ -2896,7 +2936,7 @@ msgstr "" msgid "New Parameter" msgstr "" -#: part/templates/part/params.html:25 stock/models.py:1399 +#: part/templates/part/params.html:25 stock/models.py:1396 #: templates/js/stock.js:112 msgid "Value" msgstr "" @@ -3151,127 +3191,135 @@ msgstr "" msgid "Copied part" msgstr "" -#: part/views.py:513 templates/js/stock.js:833 +#: part/views.py:449 part/views.py:579 +msgid "Possible matches exist - confirm creation of new part" +msgstr "" + +#: part/views.py:514 templates/js/stock.js:833 msgid "Create New Part" msgstr "" -#: part/views.py:520 +#: part/views.py:521 msgid "Created new part" msgstr "" -#: part/views.py:735 +#: part/views.py:737 msgid "Part QR Code" msgstr "" -#: part/views.py:754 +#: part/views.py:756 msgid "Upload Part Image" msgstr "" -#: part/views.py:762 part/views.py:799 +#: part/views.py:764 part/views.py:801 msgid "Updated part image" msgstr "" -#: part/views.py:771 +#: part/views.py:773 msgid "Select Part Image" msgstr "" -#: part/views.py:802 +#: part/views.py:804 msgid "Part image not found" msgstr "" -#: part/views.py:813 +#: part/views.py:815 msgid "Edit Part Properties" msgstr "" -#: part/views.py:837 +#: part/views.py:839 msgid "Validate BOM" msgstr "" -#: part/views.py:1004 +#: part/views.py:867 +msgid "Confirm that the BOM is valid" +msgstr "" + +#: part/views.py:1006 msgid "No BOM file provided" msgstr "" -#: part/views.py:1354 +#: part/views.py:1356 msgid "Enter a valid quantity" msgstr "" -#: part/views.py:1379 part/views.py:1382 +#: part/views.py:1381 part/views.py:1384 msgid "Select valid part" msgstr "" -#: part/views.py:1388 +#: part/views.py:1390 msgid "Duplicate part selected" msgstr "" -#: part/views.py:1426 +#: part/views.py:1428 msgid "Select a part" msgstr "" -#: part/views.py:1432 +#: part/views.py:1434 msgid "Selected part creates a circular BOM" msgstr "" -#: part/views.py:1436 +#: part/views.py:1438 msgid "Specify quantity" msgstr "" -#: part/views.py:1692 +#: part/views.py:1694 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:1701 +#: part/views.py:1703 msgid "Part was deleted" msgstr "" -#: part/views.py:1710 +#: part/views.py:1712 msgid "Part Pricing" msgstr "" -#: part/views.py:1836 +#: part/views.py:1838 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1846 +#: part/views.py:1848 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1855 +#: part/views.py:1857 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1865 +#: part/views.py:1867 msgid "Create Part Parameter" msgstr "" -#: part/views.py:1917 +#: part/views.py:1919 msgid "Edit Part Parameter" msgstr "" -#: part/views.py:1933 +#: part/views.py:1935 msgid "Delete Part Parameter" msgstr "" -#: part/views.py:1992 +#: part/views.py:1994 msgid "Edit Part Category" msgstr "" -#: part/views.py:2029 +#: part/views.py:2031 msgid "Delete Part Category" msgstr "" -#: part/views.py:2037 +#: part/views.py:2039 msgid "Part category was deleted" msgstr "" -#: part/views.py:2100 +#: part/views.py:2102 msgid "Create BOM item" msgstr "" -#: part/views.py:2168 +#: part/views.py:2170 msgid "Edit BOM item" msgstr "" -#: part/views.py:2218 +#: part/views.py:2220 msgid "Confim BOM item deletion" msgstr "" @@ -3526,72 +3574,68 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:832 -msgid "Serial numbers already exist: " -msgstr "" - -#: stock/models.py:857 +#: stock/models.py:854 msgid "Add serial number" msgstr "" -#: stock/models.py:860 +#: stock/models.py:857 #, python-brace-format msgid "Serialized {n} items" msgstr "" -#: stock/models.py:971 +#: stock/models.py:968 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1300 +#: stock/models.py:1297 msgid "Tracking entry title" msgstr "" -#: stock/models.py:1302 +#: stock/models.py:1299 msgid "Entry notes" msgstr "" -#: stock/models.py:1304 +#: stock/models.py:1301 msgid "Link to external page for further information" msgstr "" -#: stock/models.py:1364 +#: stock/models.py:1361 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1370 +#: stock/models.py:1367 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1387 +#: stock/models.py:1384 msgid "Test" msgstr "" -#: stock/models.py:1388 +#: stock/models.py:1385 msgid "Test name" msgstr "" -#: stock/models.py:1393 +#: stock/models.py:1390 msgid "Result" msgstr "" -#: stock/models.py:1394 templates/js/table_filters.js:140 +#: stock/models.py:1391 templates/js/table_filters.js:140 msgid "Test result" msgstr "" -#: stock/models.py:1400 +#: stock/models.py:1397 msgid "Test output value" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1403 msgid "Attachment" msgstr "" -#: stock/models.py:1407 +#: stock/models.py:1404 msgid "Test result attachment" msgstr "" -#: stock/models.py:1413 +#: stock/models.py:1410 msgid "Test notes" msgstr "" @@ -4075,32 +4119,32 @@ msgstr "" msgid "Invalid part selection" msgstr "" -#: stock/views.py:1680 +#: stock/views.py:1679 #, python-brace-format msgid "Created {n} new stock items" msgstr "" -#: stock/views.py:1699 stock/views.py:1715 +#: stock/views.py:1698 stock/views.py:1714 msgid "Created new stock item" msgstr "" -#: stock/views.py:1734 +#: stock/views.py:1733 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1748 +#: stock/views.py:1747 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1760 +#: stock/views.py:1759 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1779 +#: stock/views.py:1778 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1789 +#: stock/views.py:1788 msgid "Add Stock Tracking Entry" msgstr "" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index eecf358fec..f55cc52b4a 100644 --- a/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/InvenTree/locale/es/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-10-28 11:24+0000\n" +"POT-Creation-Date: 2020-10-28 12:50+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -202,7 +202,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:734 +#: InvenTree/views.py:466 +msgid "Delete Item" +msgstr "" + +#: InvenTree/views.py:515 +msgid "Check box to confirm item deletion" +msgstr "" + +#: InvenTree/views.py:530 +msgid "Edit User Information" +msgstr "" + +#: InvenTree/views.py:541 +msgid "Set Password" +msgstr "" + +#: InvenTree/views.py:560 +msgid "Password fields must match" +msgstr "" + +#: InvenTree/views.py:730 msgid "Database Statistics" msgstr "" @@ -427,7 +447,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:178 part/models.py:579 stock/models.py:391 +#: build/models.py:178 part/models.py:596 stock/models.py:391 msgid "Link to external URL" msgstr "" @@ -436,7 +456,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:202 #: order/templates/order/so_tabs.html:23 part/templates/part/tabs.html:70 #: stock/forms.py:306 stock/forms.py:338 stock/forms.py:366 stock/models.py:461 -#: stock/models.py:1412 stock/templates/stock/tabs.html:26 +#: stock/models.py:1409 stock/templates/stock/tabs.html:26 #: templates/js/barcode.js:391 templates/js/bom.js:250 #: templates/js/stock.js:116 templates/js/stock.js:571 msgid "Notes" @@ -604,7 +624,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: build/templates/build/allocate.html:384 part/models.py:1431 +#: build/templates/build/allocate.html:384 part/models.py:1448 #: templates/js/part.js:530 templates/js/table_filters.js:150 msgid "Required" msgstr "" @@ -692,7 +712,7 @@ msgstr "" msgid "Cancel Build" msgstr "" -#: build/templates/build/build_base.html:59 build/views.py:625 +#: build/templates/build/build_base.html:59 build/views.py:630 msgid "Delete Build" msgstr "" @@ -847,7 +867,7 @@ msgstr "" msgid "Alter the quantity of stock allocated to the build output" msgstr "" -#: build/templates/build/index.html:24 build/views.py:511 +#: build/templates/build/index.html:24 build/views.py:505 msgid "New Build Order" msgstr "" @@ -918,81 +938,89 @@ msgstr "" msgid "Check the confirmation box" msgstr "" -#: build/views.py:228 build/views.py:636 +#: build/views.py:228 build/views.py:641 msgid "Unallocate Stock" msgstr "" -#: build/views.py:378 +#: build/views.py:377 msgid "Confirm completion of build" msgstr "" -#: build/views.py:385 +#: build/views.py:383 msgid "Invalid location selected" msgstr "" -#: build/views.py:410 stock/views.py:1652 +#: build/views.py:404 #, python-brace-format msgid "The following serial numbers already exist: ({sn})" msgstr "" -#: build/views.py:431 +#: build/views.py:413 +msgid "Build could not be completed" +msgstr "" + +#: build/views.py:425 msgid "Build marked as COMPLETE" msgstr "" -#: build/views.py:560 +#: build/views.py:554 msgid "Created new build" msgstr "" -#: build/views.py:578 +#: build/views.py:571 msgid "Trackable part must have serial numbers specified" msgstr "" -#: build/views.py:610 +#: build/views.py:592 stock/models.py:829 stock/views.py:1650 +msgid "Serial numbers already exist" +msgstr "" + +#: build/views.py:615 msgid "Edit Build Details" msgstr "" -#: build/views.py:616 +#: build/views.py:621 msgid "Edited build" msgstr "" -#: build/views.py:642 +#: build/views.py:647 msgid "Removed parts from build allocation" msgstr "" -#: build/views.py:654 +#: build/views.py:659 msgid "Allocate stock to build output" msgstr "" -#: build/views.py:845 +#: build/views.py:850 msgid "Edit Stock Allocation" msgstr "" -#: build/views.py:850 +#: build/views.py:855 msgid "Updated Build Item" msgstr "" -#: build/views.py:877 +#: build/views.py:882 msgid "Add Build Order Attachment" msgstr "" -#: build/views.py:886 order/views.py:109 order/views.py:157 part/views.py:92 +#: build/views.py:891 order/views.py:109 order/views.py:157 part/views.py:92 #: stock/views.py:175 msgid "Added attachment" msgstr "" -#: build/views.py:922 order/views.py:184 order/views.py:206 +#: build/views.py:927 order/views.py:184 order/views.py:206 msgid "Edit Attachment" msgstr "" -#: build/views.py:933 order/views.py:189 order/views.py:211 +#: build/views.py:938 order/views.py:189 order/views.py:211 msgid "Attachment updated" msgstr "" -#: build/views.py:943 order/views.py:226 order/views.py:241 +#: build/views.py:948 order/views.py:226 order/views.py:241 msgid "Delete Attachment" msgstr "" -#: build/views.py:949 order/views.py:233 order/views.py:248 stock/views.py:233 +#: build/views.py:954 order/views.py:233 order/views.py:248 stock/views.py:233 msgid "Deleted attachment" msgstr "" @@ -1460,7 +1488,7 @@ msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part_pricing.html:16 company/views.py:410 -#: part/templates/part/sale_prices.html:13 part/views.py:2228 +#: part/templates/part/sale_prices.html:13 part/views.py:2230 msgid "Add Price Break" msgstr "" @@ -1587,15 +1615,15 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: company/views.py:416 part/views.py:2234 +#: company/views.py:416 part/views.py:2236 msgid "Added new price break" msgstr "" -#: company/views.py:453 part/views.py:2279 +#: company/views.py:453 part/views.py:2281 msgid "Edit Price Break" msgstr "" -#: company/views.py:469 part/views.py:2295 +#: company/views.py:469 part/views.py:2297 msgid "Delete Price Break" msgstr "" @@ -1688,7 +1716,7 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:185 order/models.py:259 part/views.py:1345 +#: order/models.py:185 order/models.py:259 part/views.py:1347 #: stock/models.py:249 stock/models.py:813 msgid "Quantity must be greater than zero" msgstr "" @@ -2274,212 +2302,212 @@ msgstr "" msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:435 +#: part/models.py:452 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:439 +#: part/models.py:456 msgid "Next available serial number is" msgstr "" -#: part/models.py:444 +#: part/models.py:461 msgid "Most recent serial number is" msgstr "" -#: part/models.py:522 +#: part/models.py:539 msgid "Part must be unique for name, IPN and revision" msgstr "" -#: part/models.py:551 part/templates/part/detail.html:19 +#: part/models.py:568 part/templates/part/detail.html:19 msgid "Part name" msgstr "" -#: part/models.py:555 +#: part/models.py:572 msgid "Is this part a template part?" msgstr "" -#: part/models.py:564 +#: part/models.py:581 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:566 +#: part/models.py:583 msgid "Part description" msgstr "" -#: part/models.py:568 +#: part/models.py:585 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:573 +#: part/models.py:590 msgid "Part category" msgstr "" -#: part/models.py:575 +#: part/models.py:592 msgid "Internal Part Number" msgstr "" -#: part/models.py:577 +#: part/models.py:594 msgid "Part revision or version number" msgstr "" -#: part/models.py:591 +#: part/models.py:608 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:635 +#: part/models.py:652 msgid "Default supplier part" msgstr "" -#: part/models.py:638 +#: part/models.py:655 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:640 +#: part/models.py:657 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:642 +#: part/models.py:659 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:644 +#: part/models.py:661 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:646 +#: part/models.py:663 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:648 +#: part/models.py:665 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:650 +#: part/models.py:667 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:652 +#: part/models.py:669 msgid "Is this part active?" msgstr "" -#: part/models.py:654 +#: part/models.py:671 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:656 +#: part/models.py:673 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:658 +#: part/models.py:675 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1383 +#: part/models.py:1400 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:1400 +#: part/models.py:1417 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:1419 templates/js/part.js:521 templates/js/stock.js:92 +#: part/models.py:1436 templates/js/part.js:521 templates/js/stock.js:92 msgid "Test Name" msgstr "" -#: part/models.py:1420 +#: part/models.py:1437 msgid "Enter a name for the test" msgstr "" -#: part/models.py:1425 +#: part/models.py:1442 msgid "Test Description" msgstr "" -#: part/models.py:1426 +#: part/models.py:1443 msgid "Enter description for this test" msgstr "" -#: part/models.py:1432 +#: part/models.py:1449 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:1437 templates/js/part.js:538 +#: part/models.py:1454 templates/js/part.js:538 msgid "Requires Value" msgstr "" -#: part/models.py:1438 +#: part/models.py:1455 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:1443 templates/js/part.js:545 +#: part/models.py:1460 templates/js/part.js:545 msgid "Requires Attachment" msgstr "" -#: part/models.py:1444 +#: part/models.py:1461 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:1477 +#: part/models.py:1494 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:1482 +#: part/models.py:1499 msgid "Parameter Name" msgstr "" -#: part/models.py:1484 +#: part/models.py:1501 msgid "Parameter Units" msgstr "" -#: part/models.py:1510 +#: part/models.py:1527 msgid "Parent Part" msgstr "" -#: part/models.py:1512 +#: part/models.py:1529 msgid "Parameter Template" msgstr "" -#: part/models.py:1514 +#: part/models.py:1531 msgid "Parameter Value" msgstr "" -#: part/models.py:1551 +#: part/models.py:1568 msgid "Select parent part" msgstr "" -#: part/models.py:1559 +#: part/models.py:1576 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:1565 +#: part/models.py:1582 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:1567 +#: part/models.py:1584 msgid "This BOM item is optional" msgstr "" -#: part/models.py:1570 +#: part/models.py:1587 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:1573 +#: part/models.py:1590 msgid "BOM item reference" msgstr "" -#: part/models.py:1576 +#: part/models.py:1593 msgid "BOM item notes" msgstr "" -#: part/models.py:1578 +#: part/models.py:1595 msgid "BOM line checksum" msgstr "" -#: part/models.py:1645 part/views.py:1351 part/views.py:1403 +#: part/models.py:1662 part/views.py:1353 part/views.py:1405 #: stock/models.py:239 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:1661 +#: part/models.py:1678 msgid "BOM Item" msgstr "" @@ -2556,7 +2584,7 @@ msgstr "" msgid "Validate" msgstr "" -#: part/templates/part/bom.html:61 part/views.py:1642 +#: part/templates/part/bom.html:61 part/views.py:1644 msgid "Export Bill of Materials" msgstr "" @@ -2648,7 +2676,7 @@ msgstr "" msgid "All parts" msgstr "" -#: part/templates/part/category.html:24 part/views.py:2045 +#: part/templates/part/category.html:24 part/views.py:2047 msgid "Create new part category" msgstr "" @@ -2728,6 +2756,18 @@ msgstr "" msgid "Parametric Table" msgstr "" +#: part/templates/part/create_part.html:11 +msgid "Possible Matching Parts" +msgstr "" + +#: part/templates/part/create_part.html:12 +msgid "The new part may be a duplicate of these existing parts" +msgstr "" + +#: part/templates/part/create_part.html:16 +msgid "match" +msgstr "" + #: part/templates/part/detail.html:9 msgid "Part Details" msgstr "" @@ -2896,7 +2936,7 @@ msgstr "" msgid "New Parameter" msgstr "" -#: part/templates/part/params.html:25 stock/models.py:1399 +#: part/templates/part/params.html:25 stock/models.py:1396 #: templates/js/stock.js:112 msgid "Value" msgstr "" @@ -3151,127 +3191,135 @@ msgstr "" msgid "Copied part" msgstr "" -#: part/views.py:513 templates/js/stock.js:833 +#: part/views.py:449 part/views.py:579 +msgid "Possible matches exist - confirm creation of new part" +msgstr "" + +#: part/views.py:514 templates/js/stock.js:833 msgid "Create New Part" msgstr "" -#: part/views.py:520 +#: part/views.py:521 msgid "Created new part" msgstr "" -#: part/views.py:735 +#: part/views.py:737 msgid "Part QR Code" msgstr "" -#: part/views.py:754 +#: part/views.py:756 msgid "Upload Part Image" msgstr "" -#: part/views.py:762 part/views.py:799 +#: part/views.py:764 part/views.py:801 msgid "Updated part image" msgstr "" -#: part/views.py:771 +#: part/views.py:773 msgid "Select Part Image" msgstr "" -#: part/views.py:802 +#: part/views.py:804 msgid "Part image not found" msgstr "" -#: part/views.py:813 +#: part/views.py:815 msgid "Edit Part Properties" msgstr "" -#: part/views.py:837 +#: part/views.py:839 msgid "Validate BOM" msgstr "" -#: part/views.py:1004 +#: part/views.py:867 +msgid "Confirm that the BOM is valid" +msgstr "" + +#: part/views.py:1006 msgid "No BOM file provided" msgstr "" -#: part/views.py:1354 +#: part/views.py:1356 msgid "Enter a valid quantity" msgstr "" -#: part/views.py:1379 part/views.py:1382 +#: part/views.py:1381 part/views.py:1384 msgid "Select valid part" msgstr "" -#: part/views.py:1388 +#: part/views.py:1390 msgid "Duplicate part selected" msgstr "" -#: part/views.py:1426 +#: part/views.py:1428 msgid "Select a part" msgstr "" -#: part/views.py:1432 +#: part/views.py:1434 msgid "Selected part creates a circular BOM" msgstr "" -#: part/views.py:1436 +#: part/views.py:1438 msgid "Specify quantity" msgstr "" -#: part/views.py:1692 +#: part/views.py:1694 msgid "Confirm Part Deletion" msgstr "" -#: part/views.py:1701 +#: part/views.py:1703 msgid "Part was deleted" msgstr "" -#: part/views.py:1710 +#: part/views.py:1712 msgid "Part Pricing" msgstr "" -#: part/views.py:1836 +#: part/views.py:1838 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1846 +#: part/views.py:1848 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1855 +#: part/views.py:1857 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1865 +#: part/views.py:1867 msgid "Create Part Parameter" msgstr "" -#: part/views.py:1917 +#: part/views.py:1919 msgid "Edit Part Parameter" msgstr "" -#: part/views.py:1933 +#: part/views.py:1935 msgid "Delete Part Parameter" msgstr "" -#: part/views.py:1992 +#: part/views.py:1994 msgid "Edit Part Category" msgstr "" -#: part/views.py:2029 +#: part/views.py:2031 msgid "Delete Part Category" msgstr "" -#: part/views.py:2037 +#: part/views.py:2039 msgid "Part category was deleted" msgstr "" -#: part/views.py:2100 +#: part/views.py:2102 msgid "Create BOM item" msgstr "" -#: part/views.py:2168 +#: part/views.py:2170 msgid "Edit BOM item" msgstr "" -#: part/views.py:2218 +#: part/views.py:2220 msgid "Confim BOM item deletion" msgstr "" @@ -3526,72 +3574,68 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:832 -msgid "Serial numbers already exist: " -msgstr "" - -#: stock/models.py:857 +#: stock/models.py:854 msgid "Add serial number" msgstr "" -#: stock/models.py:860 +#: stock/models.py:857 #, python-brace-format msgid "Serialized {n} items" msgstr "" -#: stock/models.py:971 +#: stock/models.py:968 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1300 +#: stock/models.py:1297 msgid "Tracking entry title" msgstr "" -#: stock/models.py:1302 +#: stock/models.py:1299 msgid "Entry notes" msgstr "" -#: stock/models.py:1304 +#: stock/models.py:1301 msgid "Link to external page for further information" msgstr "" -#: stock/models.py:1364 +#: stock/models.py:1361 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1370 +#: stock/models.py:1367 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1387 +#: stock/models.py:1384 msgid "Test" msgstr "" -#: stock/models.py:1388 +#: stock/models.py:1385 msgid "Test name" msgstr "" -#: stock/models.py:1393 +#: stock/models.py:1390 msgid "Result" msgstr "" -#: stock/models.py:1394 templates/js/table_filters.js:140 +#: stock/models.py:1391 templates/js/table_filters.js:140 msgid "Test result" msgstr "" -#: stock/models.py:1400 +#: stock/models.py:1397 msgid "Test output value" msgstr "" -#: stock/models.py:1406 +#: stock/models.py:1403 msgid "Attachment" msgstr "" -#: stock/models.py:1407 +#: stock/models.py:1404 msgid "Test result attachment" msgstr "" -#: stock/models.py:1413 +#: stock/models.py:1410 msgid "Test notes" msgstr "" @@ -4075,32 +4119,32 @@ msgstr "" msgid "Invalid part selection" msgstr "" -#: stock/views.py:1680 +#: stock/views.py:1679 #, python-brace-format msgid "Created {n} new stock items" msgstr "" -#: stock/views.py:1699 stock/views.py:1715 +#: stock/views.py:1698 stock/views.py:1714 msgid "Created new stock item" msgstr "" -#: stock/views.py:1734 +#: stock/views.py:1733 msgid "Delete Stock Location" msgstr "" -#: stock/views.py:1748 +#: stock/views.py:1747 msgid "Delete Stock Item" msgstr "" -#: stock/views.py:1760 +#: stock/views.py:1759 msgid "Delete Stock Tracking Entry" msgstr "" -#: stock/views.py:1779 +#: stock/views.py:1778 msgid "Edit Stock Tracking Entry" msgstr "" -#: stock/views.py:1789 +#: stock/views.py:1788 msgid "Add Stock Tracking Entry" msgstr "" diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index d10b2a8b1b..4f0ef0e3e3 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -390,7 +390,6 @@ class Part(MPTTModel): return conflicts - def getLatestSerialNumber(self): """ Return the "latest" serial number for this Part. diff --git a/InvenTree/part/views.py b/InvenTree/part/views.py index f9be91d237..bc6f5111e9 100644 --- a/InvenTree/part/views.py +++ b/InvenTree/part/views.py @@ -447,7 +447,7 @@ class PartDuplicate(AjaxCreateView): if not confirmed: msg = _('Possible matches exist - confirm creation of new part') - form.add_error('confirm_creation', msg) + form.add_error('confirm_creation', msg) form.pre_form_warning = msg valid = False diff --git a/InvenTree/stock/views.py b/InvenTree/stock/views.py index a0128b8318..563ac582df 100644 --- a/InvenTree/stock/views.py +++ b/InvenTree/stock/views.py @@ -1641,7 +1641,7 @@ class StockItemCreate(AjaxCreateView): try: serials = ExtractSerialNumbers(sn, quantity) - existing = part.find_conflicting_serial_numbers(serial) + existing = part.find_conflicting_serial_numbers(serials) if len(existing) > 0: exists = ",".join([str(x) for x in existing])