Update translations and PEP fixes

This commit is contained in:
Oliver Walters 2020-10-28 23:59:18 +11:00
parent ed8be5225d
commit 4a7e9a2278
9 changed files with 586 additions and 441 deletions

View File

@ -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

View File

@ -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)

View File

@ -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 <chschlue@gmail.com>\n"
"Language-Team: C <kde-i18n-doc@kde.org>\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"

View File

@ -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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 ""

View File

@ -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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 ""

View File

@ -390,7 +390,6 @@ class Part(MPTTModel):
return conflicts
def getLatestSerialNumber(self):
"""
Return the "latest" serial number for this Part.

View File

@ -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

View File

@ -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])