diff --git a/InvenTree/build/templates/build/sidebar.html b/InvenTree/build/templates/build/sidebar.html
index 5db7635700..d0652cd3c1 100644
--- a/InvenTree/build/templates/build/sidebar.html
+++ b/InvenTree/build/templates/build/sidebar.html
@@ -2,14 +2,21 @@
{% load static %}
{% load inventree_extras %}
-{% include "sidebar_item.html" with label='details' text='{% trans "Build Order Details" %}' icon="fa-info-circle" %}
+{% trans "Build Order Details" as text %}
+{% include "sidebar_item.html" with label='details' text=text icon="fa-info-circle" %}
{% if build.active %}
-{% include "sidebar_item.html" with label='allocate' text='{% trans "Allocate Stock" %}' icon="fa-tasks" %}
+{% trans "Allocate Stock" as text %}
+{% include "sidebar_item.html" with label='allocate' text=text icon="fa-tasks" %}
{% endif %}
{% if not build.is_complete %}
-{% include "sidebar_item.html" with label='outputs' text='{% trans "Pending Items" %}' icon="fa-tools" %}
+{% trans "Pending Items" as text %}
+{% include "sidebar_item.html" with label='outputs' text=text icon="fa-tools" %}
{% endif %}
-{% include "sidebar_item.html" with label='completed' text='{% trans "Completed Items" %}' icon="fa-boxes" %}
-{% include "sidebar_item.html" with label='children' text='{% trans "Child Build Orders" %}' icon="fa-sitemap" %}
-{% include "sidebar_item.html" with label='attachments' text='{% trans "Attachments" %}' icon="fa-paperclip" %}
-{% include "sidebar_item.html" with label='notes' text='{% trans "Notes" %}' icon="fa-clipboard" %}
+{% trans "Completed Items" as text %}
+{% include "sidebar_item.html" with label='completed' text=text icon="fa-boxes" %}
+{% trans "Child Build Orders" as text %}
+{% include "sidebar_item.html" with label='children' text=text icon="fa-sitemap" %}
+{% trans "Attachments" as text %}
+{% include "sidebar_item.html" with label='attachments' text=text icon="fa-paperclip" %}
+{% trans "Notes" as text %}
+{% include "sidebar_item.html" with label='notes' text=text icon="fa-clipboard" %}
diff --git a/InvenTree/company/templates/company/manufacturer_part_sidebar.html b/InvenTree/company/templates/company/manufacturer_part_sidebar.html
index 56eb06755c..bd613f76aa 100644
--- a/InvenTree/company/templates/company/manufacturer_part_sidebar.html
+++ b/InvenTree/company/templates/company/manufacturer_part_sidebar.html
@@ -2,5 +2,7 @@
{% load static %}
{% load inventree_extras %}
-{% include "sidebar_item.html" with label='parameters' text='{% trans "Parameters" %}' icon="fa-th-list" %}
-{% include "sidebar_item.html" with label='supplier-parts' text='{% trans "Supplier Parts" %}' icon="fa-building" %}
\ No newline at end of file
+{% trans "Parameters" as text %}
+{% include "sidebar_item.html" with label='parameters' text=text icon="fa-th-list" %}
+{% trans "Supplier Parts" as text %}
+{% include "sidebar_item.html" with label='supplier-parts' text=text icon="fa-building" %}
\ No newline at end of file
diff --git a/InvenTree/company/templates/company/sidebar.html b/InvenTree/company/templates/company/sidebar.html
index 1e9e50868d..0063853732 100644
--- a/InvenTree/company/templates/company/sidebar.html
+++ b/InvenTree/company/templates/company/sidebar.html
@@ -3,17 +3,24 @@
{% load inventree_extras %}
{% if company.is_manufacturer %}
-{% include "sidebar_item.html" with label='manufacturer-parts' text='{% trans "Manufactured Parts" %}' icon="fa-industry" %}
+{% trans "Manufactured Parts" as text %}
+{% include "sidebar_item.html" with label='manufacturer-parts' text=text icon="fa-industry" %}
{% endif %}
{% if company.is_supplier %}
-{% include "sidebar_item.html" with label='supplier-parts' text='{% trans "Supplied Parts" %}' icon="fa-building" %}
-{% include "sidebar_item.html" with label='purchase-orders' text='{% trans "Purchase Orders" %}' icon="fa-shopping-cart" %}
+{% trans "Supplied Parts" as text %}
+{% include "sidebar_item.html" with label='supplier-parts' text=text icon="fa-building" %}
+{% trans "Purchase Orders" as text %}
+{% include "sidebar_item.html" with label='purchase-orders' text=text icon="fa-shopping-cart" %}
{% endif %}
{% if company.is_manufacturer or company.is_supplier %}
-{% include "sidebar_item.html" with label='company-stock' text='{% trans "Supplied Stock Items" %}' icon="fa-boxes" %}
+{% trans "Supplied Stock Items" as text %}
+{% include "sidebar_item.html" with label='company-stock' text=text icon="fa-boxes" %}
{% endif %}
{% if company.is_customer %}
-{% include "sidebar_item.html" with label='sales-orders' text='{% trans "Sales Orders" %}' icon="fa-truck" %}
-{% include "sidebar_item.html" with label='assigned-stock' text='{% trans "Assigned Stock Items" %}' icon="fa-sign-out-alt" %}
+{% trans "Sales Orders" as text %}
+{% include "sidebar_item.html" with label='sales-orders' text=text icon="fa-truck" %}
+{% trans "Assigned Stock Items" as text %}
+{% include "sidebar_item.html" with label='assigned-stock' text=text icon="fa-sign-out-alt" %}
{% endif %}
-{% include "sidebar_item.html" with label='company-notes' text='{% trans "Notes" %}' icon="fa-clipboard" %}
+{% trans "Notes" as text %}
+{% include "sidebar_item.html" with label='company-notes' text=text icon="fa-clipboard" %}
diff --git a/InvenTree/company/templates/company/supplier_part_sidebar.html b/InvenTree/company/templates/company/supplier_part_sidebar.html
index 55ebb809f4..91c0682e00 100644
--- a/InvenTree/company/templates/company/supplier_part_sidebar.html
+++ b/InvenTree/company/templates/company/supplier_part_sidebar.html
@@ -2,6 +2,9 @@
{% load static %}
{% load inventree_extras %}
-{% include "sidebar_item.html" with label='stock' text='{% trans "Stock Items" %}' icon="fa-boxes" %}
-{% include "sidebar_item.html" with label='purchase-orders' text='{% trans "Purchase Orders" %}' icon="fa-shopping-cart" %}
-{% include "sidebar_item.html" with label='pricing' text='{% trans "Supplier Part Pricing" %}' icon="fa-dollar-sign" %}
+{% trans "Stock Items" as text %}
+{% include "sidebar_item.html" with label='stock' text=text icon="fa-boxes" %}
+{% trans "Purchase Orders" as text %}
+{% include "sidebar_item.html" with label='purchase-orders' text=text icon="fa-shopping-cart" %}
+{% trans "Supplier Part Pricing" as text %}
+{% include "sidebar_item.html" with label='pricing' text=text icon="fa-dollar-sign" %}
diff --git a/InvenTree/locale/de/LC_MESSAGES/django.mo b/InvenTree/locale/de/LC_MESSAGES/django.mo
index e90eab101b..de1e091409 100644
Binary files a/InvenTree/locale/de/LC_MESSAGES/django.mo and b/InvenTree/locale/de/LC_MESSAGES/django.mo differ
diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po
index 549ecdddf9..9fe47d1626 100644
--- a/InvenTree/locale/de/LC_MESSAGES/django.po
+++ b/InvenTree/locale/de/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-11 06:21+0000\n"
+"POT-Creation-Date: 2021-11-22 22:08+0000\n"
"PO-Revision-Date: 2021-10-11 06:29\n"
"Last-Translator: \n"
"Language-Team: German\n"
@@ -33,260 +33,268 @@ msgstr "Keine passende Aktion gefunden"
msgid "Enter date"
msgstr "Datum eingeben"
-#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123
-#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27
-#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71
-#: part/forms.py:108 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:564
+#: InvenTree/forms.py:120 build/forms.py:48 build/forms.py:69 build/forms.py:93
+#: order/forms.py:26 order/forms.py:37 order/forms.py:48 order/forms.py:59
+#: order/forms.py:70 part/forms.py:108 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:594
msgid "Confirm"
msgstr "Bestätigen"
-#: InvenTree/forms.py:132
+#: InvenTree/forms.py:136
msgid "Confirm delete"
msgstr "Löschung bestätigen"
-#: InvenTree/forms.py:133
+#: InvenTree/forms.py:137
msgid "Confirm item deletion"
msgstr "Löschung von Position bestätigen"
-#: InvenTree/forms.py:164
+#: InvenTree/forms.py:168
msgid "Enter password"
msgstr "Passwort eingeben"
-#: InvenTree/forms.py:165
+#: InvenTree/forms.py:169
msgid "Enter new password"
msgstr "Neues Passwort eingeben"
-#: InvenTree/forms.py:172
+#: InvenTree/forms.py:176
msgid "Confirm password"
msgstr "Passwort wiederholen"
-#: InvenTree/forms.py:173
+#: InvenTree/forms.py:177
msgid "Confirm new password"
msgstr "Neues Passwort bestätigen"
-#: InvenTree/forms.py:205
+#: InvenTree/forms.py:209
msgid "Select Category"
msgstr "Kategorie auswählen"
-#: InvenTree/forms.py:226
-msgid "E-mail (again)"
-msgstr ""
-
#: InvenTree/forms.py:230
-msgid "E-mail address confirmation"
+msgid "Email (again)"
msgstr ""
-#: InvenTree/forms.py:250
+#: InvenTree/forms.py:234
+#, fuzzy
+#| msgid "Edit order information"
+msgid "Email address confirmation"
+msgstr "Bestellung bearbeiten"
+
+#: InvenTree/forms.py:254
msgid "You must type the same email each time."
msgstr ""
-#: InvenTree/helpers.py:401
+#: InvenTree/helpers.py:430
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr "Doppelte Seriennummer: {n}"
-#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437
-#: stock/views.py:1340
+#: InvenTree/helpers.py:437 order/models.py:318 order/models.py:440
+#: stock/views.py:1264
msgid "Invalid quantity provided"
msgstr "Keine gültige Menge"
-#: InvenTree/helpers.py:411
+#: InvenTree/helpers.py:440
msgid "Empty serial number string"
msgstr "Keine Seriennummer angegeben"
-#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:462 InvenTree/helpers.py:465 InvenTree/helpers.py:468
+#: InvenTree/helpers.py:493
#, python-brace-format
msgid "Invalid group: {g}"
msgstr "Ungültige Gruppe: {g}"
-#: InvenTree/helpers.py:469
+#: InvenTree/helpers.py:498
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr "Doppelte Seriennummer: {g}"
-#: InvenTree/helpers.py:477
+#: InvenTree/helpers.py:506
msgid "No serial numbers found"
msgstr "Keine Seriennummern gefunden"
-#: InvenTree/helpers.py:481
+#: InvenTree/helpers.py:510
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr "Anzahl der eindeutigen Seriennummern ({s}) muss mit der Anzahl ({q}) übereinstimmen"
-#: InvenTree/models.py:66 stock/models.py:1823
+#: InvenTree/models.py:109 stock/models.py:1874
msgid "Attachment"
msgstr "Anhang"
-#: InvenTree/models.py:67
+#: InvenTree/models.py:110
msgid "Select file to attach"
msgstr "Datei zum Anhängen auswählen"
-#: InvenTree/models.py:69 templates/js/translated/attachment.js:87
+#: InvenTree/models.py:112 templates/js/translated/attachment.js:91
msgid "Comment"
msgstr "Kommentar"
-#: InvenTree/models.py:69
+#: InvenTree/models.py:112
msgid "File comment"
msgstr "Datei-Kommentar"
-#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055
-#: common/models.py:1056 part/models.py:2055
-#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/translated/stock.js:1669
+#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185
+#: common/models.py:1186 part/models.py:2205 part/models.py:2225
+#: report/templates/report/inventree_test_report_base.html:96
+#: templates/js/translated/stock.js:2054
msgid "User"
msgstr "Benutzer"
-#: InvenTree/models.py:79
+#: InvenTree/models.py:122
msgid "upload date"
msgstr "Hochladedatum"
-#: InvenTree/models.py:99
+#: InvenTree/models.py:142
msgid "Filename must not be empty"
msgstr "Dateiname darf nicht leer sein"
-#: InvenTree/models.py:122
+#: InvenTree/models.py:165
msgid "Invalid attachment directory"
msgstr "Ungültiges Verzeichnis für Anhang"
-#: InvenTree/models.py:132
+#: InvenTree/models.py:175
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr "Dateiname enthält ungültiges Zeichen '{c}'"
-#: InvenTree/models.py:135
+#: InvenTree/models.py:178
msgid "Filename missing extension"
msgstr "Dateiendung fehlt"
-#: InvenTree/models.py:142
+#: InvenTree/models.py:185
msgid "Attachment with this filename already exists"
msgstr "Anhang mit diesem Dateinamen bereits vorhanden"
-#: InvenTree/models.py:149
+#: InvenTree/models.py:192
msgid "Error renaming file"
msgstr "Fehler beim Umbenennen"
-#: InvenTree/models.py:184
+#: InvenTree/models.py:227
msgid "Invalid choice"
msgstr "Ungültige Auswahl"
-#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415
-#: label/models.py:112 part/models.py:659 part/models.py:2216
-#: part/templates/part/part_base.html:241 report/models.py:181
-#: templates/js/translated/company.js:637 templates/js/translated/part.js:477
-#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141
-#: templates/js/translated/stock.js:1462
+#: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415
+#: label/models.py:112 part/models.py:741 part/models.py:2389
+#: part/templates/part/detail.html:25 report/models.py:181
+#: templates/js/translated/company.js:637 templates/js/translated/part.js:498
+#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272
+#: templates/js/translated/stock.js:1847
msgid "Name"
msgstr "Name"
-#: InvenTree/models.py:207 build/models.py:189
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/manufacturer_part.html:76
-#: company/templates/company/supplier_part.html:75 label/models.py:119
-#: order/models.py:158 part/models.py:682
-#: part/templates/part/part_base.html:246
+#: InvenTree/models.py:250 build/models.py:207
+#: build/templates/build/detail.html:25 company/models.py:354
+#: company/models.py:570 company/templates/company/manufacturer_part.html:80
+#: company/templates/company/supplier_part.html:81 label/models.py:119
+#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30
#: part/templates/part/set_category.html:14 report/models.py:194
-#: report/models.py:551 report/models.py:590
+#: report/models.py:553 report/models.py:592
#: report/templates/report/inventree_build_order_base.html:118
-#: templates/InvenTree/settings/header.html:9
-#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217
-#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344
+#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214
+#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621
+#: templates/js/translated/company.js:344
#: templates/js/translated/company.js:547
-#: templates/js/translated/company.js:836 templates/js/translated/order.js:672
-#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056
-#: templates/js/translated/part.js:536 templates/js/translated/part.js:724
-#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153
-#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819
-#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519
+#: templates/js/translated/company.js:836 templates/js/translated/order.js:673
+#: templates/js/translated/order.js:833 templates/js/translated/order.js:1069
+#: templates/js/translated/part.js:557 templates/js/translated/part.js:745
+#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291
+#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121
+#: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904
msgid "Description"
msgstr "Beschreibung"
-#: InvenTree/models.py:208
+#: InvenTree/models.py:251
msgid "Description (optional)"
msgstr "Beschreibung (optional)"
-#: InvenTree/models.py:216
+#: InvenTree/models.py:259
msgid "parent"
msgstr "Eltern"
-#: InvenTree/serializers.py:55 part/models.py:2475
+#: InvenTree/serializers.py:62 part/models.py:2674
msgid "Must be a valid number"
msgstr "Muss eine gültige Nummer sein"
-#: InvenTree/serializers.py:244
+#: InvenTree/serializers.py:251
msgid "Filename"
msgstr "Dateiname"
-#: InvenTree/settings.py:529
+#: InvenTree/settings.py:663
msgid "German"
msgstr "Deutsch"
-#: InvenTree/settings.py:530
+#: InvenTree/settings.py:664
msgid "Greek"
msgstr "Griechisch"
-#: InvenTree/settings.py:531
+#: InvenTree/settings.py:665
msgid "English"
msgstr "Englisch"
-#: InvenTree/settings.py:532
+#: InvenTree/settings.py:666
msgid "Spanish"
msgstr "Spanisch"
-#: InvenTree/settings.py:533
+#: InvenTree/settings.py:667
+msgid "Spanish (Mexican)"
+msgstr ""
+
+#: InvenTree/settings.py:668
msgid "French"
msgstr "Französisch"
-#: InvenTree/settings.py:534
+#: InvenTree/settings.py:669
msgid "Hebrew"
msgstr "Hebräisch"
-#: InvenTree/settings.py:535
+#: InvenTree/settings.py:670
msgid "Italian"
msgstr "Italienisch"
-#: InvenTree/settings.py:536
+#: InvenTree/settings.py:671
msgid "Japanese"
msgstr "Japanisch"
-#: InvenTree/settings.py:537
+#: InvenTree/settings.py:672
msgid "Korean"
msgstr "Koreanisch"
-#: InvenTree/settings.py:538
+#: InvenTree/settings.py:673
msgid "Dutch"
msgstr "Niederländisch"
-#: InvenTree/settings.py:539
+#: InvenTree/settings.py:674
msgid "Norwegian"
msgstr "Norwegisch"
-#: InvenTree/settings.py:540
+#: InvenTree/settings.py:675
msgid "Polish"
msgstr "Polnisch"
-#: InvenTree/settings.py:541
+#: InvenTree/settings.py:676
+msgid "Portugese"
+msgstr ""
+
+#: InvenTree/settings.py:677
msgid "Russian"
msgstr "Russisch"
-#: InvenTree/settings.py:542
+#: InvenTree/settings.py:678
msgid "Swedish"
msgstr "Schwedisch"
-#: InvenTree/settings.py:543
+#: InvenTree/settings.py:679
msgid "Thai"
msgstr "Thailändisch"
-#: InvenTree/settings.py:544
+#: InvenTree/settings.py:680
msgid "Turkish"
msgstr "Türkisch"
-#: InvenTree/settings.py:545
+#: InvenTree/settings.py:681
msgid "Vietnamese"
msgstr "Vietnamesisch"
-#: InvenTree/settings.py:546
+#: InvenTree/settings.py:682
msgid "Chinese"
msgstr "Chinesisch"
@@ -302,196 +310,196 @@ msgstr "E-Mail-Backend nicht konfiguriert"
msgid "InvenTree system health checks failed"
msgstr "InvenTree Status-Überprüfung fehlgeschlagen"
-#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145
-#: InvenTree/status_codes.py:314
+#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142
+#: InvenTree/status_codes.py:311
msgid "Pending"
msgstr "Ausstehend"
-#: InvenTree/status_codes.py:105
+#: InvenTree/status_codes.py:102
msgid "Placed"
msgstr "Platziert"
-#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317
+#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:314
msgid "Complete"
msgstr "Fertig"
-#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147
-#: InvenTree/status_codes.py:316
+#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144
+#: InvenTree/status_codes.py:313
msgid "Cancelled"
msgstr "Storniert"
-#: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148
-#: InvenTree/status_codes.py:190
+#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145
+#: InvenTree/status_codes.py:187
msgid "Lost"
msgstr "Verloren"
-#: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149
-#: InvenTree/status_codes.py:192
+#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146
+#: InvenTree/status_codes.py:189
msgid "Returned"
msgstr "Zurückgegeben"
-#: InvenTree/status_codes.py:146
-#: order/templates/order/sales_order_base.html:131
+#: InvenTree/status_codes.py:143
+#: order/templates/order/sales_order_base.html:147
msgid "Shipped"
msgstr "Versendet"
-#: InvenTree/status_codes.py:186
+#: InvenTree/status_codes.py:183
msgid "OK"
msgstr "OK"
-#: InvenTree/status_codes.py:187
+#: InvenTree/status_codes.py:184
msgid "Attention needed"
msgstr "erfordert Eingriff"
-#: InvenTree/status_codes.py:188
+#: InvenTree/status_codes.py:185
msgid "Damaged"
msgstr "Beschädigt"
-#: InvenTree/status_codes.py:189
+#: InvenTree/status_codes.py:186
msgid "Destroyed"
msgstr "Zerstört"
-#: InvenTree/status_codes.py:191
+#: InvenTree/status_codes.py:188
msgid "Rejected"
msgstr "Zurückgewiesen"
-#: InvenTree/status_codes.py:272
+#: InvenTree/status_codes.py:269
msgid "Legacy stock tracking entry"
msgstr "Alter Lagerbestands-Tracking-Eintrag"
-#: InvenTree/status_codes.py:274
+#: InvenTree/status_codes.py:271
msgid "Stock item created"
msgstr "Lagerbestand erstellt"
-#: InvenTree/status_codes.py:276
+#: InvenTree/status_codes.py:273
msgid "Edited stock item"
msgstr "Lagerbestand bearbeitet"
-#: InvenTree/status_codes.py:277
+#: InvenTree/status_codes.py:274
msgid "Assigned serial number"
msgstr "Seriennummer hinzugefügt"
-#: InvenTree/status_codes.py:279
+#: InvenTree/status_codes.py:276
msgid "Stock counted"
msgstr "Lagerbestand gezählt"
-#: InvenTree/status_codes.py:280
+#: InvenTree/status_codes.py:277
msgid "Stock manually added"
msgstr "Lagerbestand manuell hinzugefügt"
-#: InvenTree/status_codes.py:281
+#: InvenTree/status_codes.py:278
msgid "Stock manually removed"
msgstr "Lagerbestand manuell entfernt"
-#: InvenTree/status_codes.py:283
+#: InvenTree/status_codes.py:280
msgid "Location changed"
msgstr "Standort geändert"
-#: InvenTree/status_codes.py:285
+#: InvenTree/status_codes.py:282
msgid "Installed into assembly"
msgstr "In Baugruppe installiert"
-#: InvenTree/status_codes.py:286
+#: InvenTree/status_codes.py:283
msgid "Removed from assembly"
msgstr "Aus Baugruppe entfernt"
-#: InvenTree/status_codes.py:288
+#: InvenTree/status_codes.py:285
msgid "Installed component item"
msgstr "Komponente installiert"
-#: InvenTree/status_codes.py:289
+#: InvenTree/status_codes.py:286
msgid "Removed component item"
msgstr "Komponente entfernt"
-#: InvenTree/status_codes.py:291
+#: InvenTree/status_codes.py:288
msgid "Split from parent item"
msgstr "Vom übergeordneten Element geteilt"
-#: InvenTree/status_codes.py:292
+#: InvenTree/status_codes.py:289
msgid "Split child item"
msgstr "Unterobjekt geteilt"
-#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186
+#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202
msgid "Sent to customer"
msgstr "Zum Kunden geschickt"
-#: InvenTree/status_codes.py:295
+#: InvenTree/status_codes.py:292
msgid "Returned from customer"
msgstr "Rücksendung vom Kunden"
-#: InvenTree/status_codes.py:297
+#: InvenTree/status_codes.py:294
msgid "Build order output created"
msgstr "Endprodukt erstellt"
-#: InvenTree/status_codes.py:298
+#: InvenTree/status_codes.py:295
msgid "Build order output completed"
msgstr "Endprodukt fertiggestellt"
-#: InvenTree/status_codes.py:300
+#: InvenTree/status_codes.py:297
msgid "Received against purchase order"
msgstr "Gegen Bestellung empfangen"
-#: InvenTree/status_codes.py:315
+#: InvenTree/status_codes.py:312
msgid "Production"
msgstr "in Arbeit"
-#: InvenTree/validators.py:22
+#: InvenTree/validators.py:23
msgid "Not a valid currency code"
msgstr "Kein gültiger Währungscode"
-#: InvenTree/validators.py:50
+#: InvenTree/validators.py:51
msgid "Invalid character in part name"
msgstr "Ungültiger Buchstabe im Teilenamen"
-#: InvenTree/validators.py:63
+#: InvenTree/validators.py:64
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN muss zu Regex-Muster {pat} passen"
-#: InvenTree/validators.py:77 InvenTree/validators.py:91
-#: InvenTree/validators.py:105
+#: InvenTree/validators.py:78 InvenTree/validators.py:92
+#: InvenTree/validators.py:106
#, python-brace-format
msgid "Reference must match pattern {pattern}"
msgstr "Referenz muss zu Regex-Muster {pattern} passen"
-#: InvenTree/validators.py:113
+#: InvenTree/validators.py:114
#, python-brace-format
msgid "Illegal character in name ({x})"
msgstr "Ungültiges Zeichen im Namen ({x})"
-#: InvenTree/validators.py:132 InvenTree/validators.py:148
+#: InvenTree/validators.py:133 InvenTree/validators.py:149
msgid "Overage value must not be negative"
msgstr "Überschuss-Wert darf nicht negativ sein"
-#: InvenTree/validators.py:150
+#: InvenTree/validators.py:151
msgid "Overage must not exceed 100%"
msgstr "Überschuss darf 100% nicht überschreiten"
-#: InvenTree/validators.py:157
+#: InvenTree/validators.py:158
msgid "Overage must be an integer value or a percentage"
msgstr "Überschuss muss eine Ganzzahl oder ein Prozentwert sein"
-#: InvenTree/views.py:616
+#: InvenTree/views.py:536
msgid "Delete Item"
msgstr "Element löschen"
-#: InvenTree/views.py:665
+#: InvenTree/views.py:585
msgid "Check box to confirm item deletion"
msgstr "Häkchen setzen um Löschung von Objekt zu bestätigen"
-#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17
msgid "Edit User Information"
msgstr "Benutzerinformationen bearbeiten"
-#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21
msgid "Set Password"
msgstr "Passwort eingeben"
-#: InvenTree/views.py:710
+#: InvenTree/views.py:630
msgid "Password fields must match"
msgstr "Passwörter stimmen nicht überein"
-#: InvenTree/views.py:954 templates/navbar.html:97
+#: InvenTree/views.py:863 templates/navbar.html:101
msgid "System Information"
msgstr "Systeminformationen"
@@ -535,599 +543,586 @@ msgstr "Barcode ist bereits BestandsObjekt zugeordnet"
msgid "Barcode associated with StockItem"
msgstr "Barcode zugeordnet zu BestandsObjekt"
-#: build/api.py:213
-msgid "Matching build order does not exist"
-msgstr "Es existiert kein passender Build-Auftrag"
-
-#: build/forms.py:37
-msgid "Build Order reference"
-msgstr "Bauauftrags-Referenz"
-
-#: build/forms.py:38
-msgid "Order target date"
-msgstr "geplantes Bestelldatum"
-
-#: build/forms.py:42 build/templates/build/build_base.html:146
-#: build/templates/build/detail.html:124
-#: order/templates/order/order_base.html:124
-#: order/templates/order/sales_order_base.html:124
-#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689
-#: templates/js/translated/order.js:1074
-msgid "Target Date"
-msgstr "Zieldatum"
-
-#: build/forms.py:43 build/models.py:279
-msgid "Target date for build completion. Build will be overdue after this date."
-msgstr "Zieldatum für Bauauftrag-Fertigstellung."
-
-#: build/forms.py:48 build/forms.py:90 build/models.py:1281
-#: build/templates/build/allocation_card.html:23
-#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:1087
-#: company/forms.py:42 company/templates/company/supplier_part.html:226
-#: order/forms.py:101 order/forms.py:123 order/models.py:720
-#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249
-#: part/forms.py:265 part/forms.py:281 part/models.py:2377
+#: build/forms.py:36 build/models.py:1283
+#: build/templates/build/build_base.html:124
+#: build/templates/build/detail.html:35 common/models.py:1225
+#: company/forms.py:42 company/templates/company/supplier_part.html:251
+#: order/forms.py:102 order/models.py:729 order/models.py:991
+#: order/templates/order/order_wizard/match_parts.html:30
+#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237
+#: part/forms.py:253 part/forms.py:269 part/models.py:2576
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030
+#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
-#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:140 stock/templates/stock/item_base.html:269
-#: stock/templates/stock/stock_adjust.html:18
-#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264
-#: templates/js/translated/build.js:314 templates/js/translated/build.js:638
-#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515
-#: templates/js/translated/model_renderers.js:74
-#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170
-#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444
-#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487
-#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654
-#: templates/js/translated/stock.js:1829
+#: report/templates/report/inventree_test_report_base.html:81
+#: report/templates/report/inventree_test_report_base.html:139
+#: stock/forms.py:156 stock/serializers.py:286
+#: stock/templates/stock/item_base.html:256
+#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441
+#: templates/js/translated/build.js:235 templates/js/translated/build.js:435
+#: templates/js/translated/build.js:629 templates/js/translated/build.js:639
+#: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362
+#: templates/js/translated/model_renderers.js:99
+#: templates/js/translated/order.js:870 templates/js/translated/order.js:1183
+#: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268
+#: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457
+#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626
+#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347
+#: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141
msgid "Quantity"
msgstr "Anzahl"
-#: build/forms.py:49
-msgid "Number of items to build"
-msgstr "Anzahl der zu bauenden Teile"
-
-#: build/forms.py:91
+#: build/forms.py:37
msgid "Enter quantity for build output"
msgstr "Menge der Endprodukte angeben"
-#: build/forms.py:95 order/forms.py:95 stock/forms.py:83
+#: build/forms.py:41 order/forms.py:96 stock/forms.py:95
+#: stock/serializers.py:307 templates/js/translated/stock.js:194
+#: templates/js/translated/stock.js:348
msgid "Serial Numbers"
msgstr "Seriennummer"
-#: build/forms.py:97
+#: build/forms.py:43
msgid "Enter serial numbers for build outputs"
msgstr "Seriennummer für dieses Endprodukt eingeben"
-#: build/forms.py:103
+#: build/forms.py:49
msgid "Confirm creation of build output"
msgstr "Anlage von Endprodukt(en) bestätigen"
-#: build/forms.py:124
+#: build/forms.py:70
msgid "Confirm deletion of build output"
msgstr "Löschen des Endprodukt bestätigen"
-#: build/forms.py:145
-msgid "Confirm unallocation of stock"
-msgstr "Aufhebung der BestandsZuordnung bestätigen"
-
-#: build/forms.py:174
+#: build/forms.py:94
msgid "Mark build as complete"
msgstr "Bauauftrag als vollständig markieren"
-#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284
-#: stock/forms.py:280 stock/serializers.py:553
-#: stock/templates/stock/item_base.html:299
-#: stock/templates/stock/stock_adjust.html:17
-#: templates/js/translated/barcode.js:385
-#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299
-#: templates/js/translated/build.js:650 templates/js/translated/order.js:347
-#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263
-#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179
-#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921
-#: templates/js/translated/stock.js:1546
-msgid "Location"
-msgstr "Lagerort"
-
-#: build/forms.py:199
-msgid "Location of completed parts"
-msgstr "Lagerort der Endprodukte"
-
-#: build/forms.py:203 build/templates/build/build_base.html:138
-#: build/templates/build/detail.html:62 order/models.py:563
-#: order/serializers.py:238 stock/templates/stock/item_base.html:422
-#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251
-#: templates/js/translated/order.js:430 templates/js/translated/order.js:676
-#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896
-#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845
-msgid "Status"
-msgstr "Status"
-
-#: build/forms.py:204
-msgid "Build output stock status"
-msgstr "Bestands-Status der Endprodukte"
-
-#: build/forms.py:211
-msgid "Confirm incomplete"
-msgstr "Bauauftrag nicht fertiggestellt"
-
-#: build/forms.py:212
-msgid "Confirm completion with incomplete stock allocation"
-msgstr "Fertigstellung mit nicht kompletter Bestandszuordnung bestätigen"
-
-#: build/forms.py:215
-msgid "Confirm build completion"
-msgstr "Bauauftrag-Fertigstellung bestätigen"
-
-#: build/forms.py:240
+#: build/forms.py:107
msgid "Confirm cancel"
msgstr "Abbruch bestätigen"
-#: build/forms.py:240 build/views.py:65
+#: build/forms.py:107 build/views.py:65
msgid "Confirm build cancellation"
msgstr "Bauabbruch bestätigen"
-#: build/models.py:115
+#: build/models.py:133
msgid "Invalid choice for parent build"
msgstr "Ungültige Wahl für übergeordneten Bauauftrag"
-#: build/models.py:119 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:73
+#: build/models.py:137 build/templates/build/build_base.html:9
+#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:276
+#: templates/js/translated/build.js:397
msgid "Build Order"
msgstr "Bauauftrag"
-#: build/models.py:120 build/templates/build/index.html:8
-#: build/templates/build/index.html:15
-#: order/templates/order/sales_order_detail.html:34
-#: order/templates/order/so_navbar.html:19
-#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50
-#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229
-#: templates/InvenTree/search.html:171
-#: templates/InvenTree/settings/navbar.html:113
-#: templates/InvenTree/settings/navbar.html:115 users/models.py:44
+#: build/models.py:138 build/templates/build/build_base.html:13
+#: build/templates/build/index.html:8 build/templates/build/index.html:12
+#: order/templates/order/sales_order_detail.html:42
+#: templates/InvenTree/index.html:221 templates/InvenTree/search.html:145
+#: users/models.py:44
msgid "Build Orders"
msgstr "Bauaufträge"
-#: build/models.py:180
+#: build/models.py:198
msgid "Build Order Reference"
msgstr "Bauauftragsreferenz"
-#: build/models.py:181 order/models.py:246 order/models.py:547
-#: order/models.py:727 part/models.py:2386
+#: build/models.py:199 order/models.py:249 order/models.py:556
+#: order/models.py:736 part/models.py:2585
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734
-#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863
-#: templates/js/translated/order.js:1438
+#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119
+#: templates/js/translated/order.js:864 templates/js/translated/order.js:1451
msgid "Reference"
msgstr "Referenz"
-#: build/models.py:192
+#: build/models.py:210
msgid "Brief description of the build"
msgstr "Kurze Beschreibung des Baus"
-#: build/models.py:201 build/templates/build/build_base.html:163
-#: build/templates/build/detail.html:80
+#: build/models.py:219 build/templates/build/build_base.html:156
+#: build/templates/build/detail.html:88
msgid "Parent Build"
msgstr "Eltern-Bauauftrag"
-#: build/models.py:202
+#: build/models.py:220
msgid "BuildOrder to which this build is allocated"
msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist"
-#: build/models.py:207 build/templates/build/build_base.html:128
-#: build/templates/build/detail.html:29 company/models.py:705
-#: order/models.py:780 order/models.py:851
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298
-#: part/models.py:2000 part/models.py:2016 part/models.py:2035
-#: part/models.py:2053 part/models.py:2132 part/models.py:2254
-#: part/models.py:2361 part/templates/part/detail.html:199
+#: build/models.py:225 build/templates/build/build_base.html:119
+#: build/templates/build/detail.html:30 company/models.py:705
+#: order/models.py:789 order/models.py:860
+#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357
+#: part/models.py:2151 part/models.py:2167 part/models.py:2186
+#: part/models.py:2203 part/models.py:2305 part/models.py:2427
+#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
-#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384
-#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611
-#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222
-#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488
-#: templates/js/translated/company.js:745 templates/js/translated/order.js:425
-#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422
-#: templates/js/translated/part.js:705 templates/js/translated/part.js:875
-#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776
-#: templates/js/translated/stock.js:1817
+#: templates/InvenTree/search.html:86
+#: templates/email/build_order_required_stock.html:17
+#: templates/email/low_stock_notification.html:16
+#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213
+#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620
+#: templates/js/translated/build.js:988 templates/js/translated/build.js:1359
+#: templates/js/translated/build.js:1626 templates/js/translated/company.js:488
+#: templates/js/translated/company.js:745 templates/js/translated/order.js:426
+#: templates/js/translated/order.js:818 templates/js/translated/order.js:1435
+#: templates/js/translated/part.js:726 templates/js/translated/part.js:892
+#: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:2129
msgid "Part"
msgstr "Teil"
-#: build/models.py:215
+#: build/models.py:233
msgid "Select part to build"
msgstr "Teil für den Bauauftrag wählen"
-#: build/models.py:220
+#: build/models.py:238
msgid "Sales Order Reference"
msgstr "Auftrag Referenz"
-#: build/models.py:224
+#: build/models.py:242
msgid "SalesOrder to which this build is allocated"
msgstr "Bestellung, die diesem Bauauftrag zugewiesen ist"
-#: build/models.py:229 templates/js/translated/build.js:962
+#: build/models.py:247 templates/js/translated/build.js:1347
msgid "Source Location"
msgstr "Quell-Lagerort"
-#: build/models.py:233
+#: build/models.py:251
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr "Entnahme-Lagerort für diesen Bauauftrag wählen (oder leer lassen für einen beliebigen Lagerort)"
-#: build/models.py:238
+#: build/models.py:256
msgid "Destination Location"
msgstr "Ziel-Lagerort"
-#: build/models.py:242
+#: build/models.py:260
msgid "Select location where the completed items will be stored"
msgstr "Lagerort an dem fertige Objekte gelagert werden auswählen"
-#: build/models.py:246
+#: build/models.py:264
msgid "Build Quantity"
msgstr "Bau-Anzahl"
-#: build/models.py:249
+#: build/models.py:267
msgid "Number of stock items to build"
msgstr "Anzahl der zu bauenden BestandsObjekt"
-#: build/models.py:253
+#: build/models.py:271
msgid "Completed items"
msgstr "Fertiggestellte Teile"
-#: build/models.py:255
+#: build/models.py:273
msgid "Number of stock items which have been completed"
msgstr "Anzahl der fertigen BestandsObjekte"
-#: build/models.py:259 part/templates/part/part_base.html:198
+#: build/models.py:277 part/templates/part/part_base.html:216
msgid "Build Status"
msgstr "Bauauftrags-Status"
-#: build/models.py:263
+#: build/models.py:281
msgid "Build status code"
msgstr "Bau-Statuscode"
-#: build/models.py:267 stock/models.py:513
+#: build/models.py:285 stock/models.py:544
msgid "Batch Code"
msgstr "Losnummer"
-#: build/models.py:271
+#: build/models.py:289
msgid "Batch code for this build output"
msgstr "Losnummer für dieses Endprodukt"
-#: build/models.py:274 order/models.py:162 part/models.py:854
-#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069
+#: build/models.py:292 order/models.py:165 part/models.py:936
+#: part/templates/part/detail.html:86 templates/js/translated/order.js:1082
msgid "Creation Date"
msgstr "Erstelldatum"
-#: build/models.py:278 order/models.py:569
+#: build/models.py:296 order/models.py:578
msgid "Target completion date"
msgstr "geplantes Fertigstellungsdatum"
-#: build/models.py:282 order/models.py:288
-#: templates/js/translated/build.js:1293
+#: build/models.py:297
+msgid "Target date for build completion. Build will be overdue after this date."
+msgstr "Zieldatum für Bauauftrag-Fertigstellung."
+
+#: build/models.py:300 order/models.py:291
+#: templates/js/translated/build.js:1697
msgid "Completion Date"
msgstr "Fertigstellungsdatum"
-#: build/models.py:288
+#: build/models.py:306
msgid "completed by"
msgstr "Fertiggestellt von"
-#: build/models.py:296 templates/js/translated/build.js:1264
+#: build/models.py:314 templates/js/translated/build.js:1668
msgid "Issued by"
msgstr "Aufgegeben von"
-#: build/models.py:297
+#: build/models.py:315
msgid "User who issued this build order"
msgstr "Nutzer der diesen Bauauftrag erstellt hat"
-#: build/models.py:305 build/templates/build/build_base.html:184
-#: build/templates/build/detail.html:108 order/models.py:176
-#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:145 part/models.py:858
+#: build/models.py:323 build/templates/build/build_base.html:177
+#: build/templates/build/detail.html:116 order/models.py:179
+#: order/templates/order/order_base.html:154
+#: order/templates/order/sales_order_base.html:161 part/models.py:940
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1680
msgid "Responsible"
msgstr "Verantwortlicher Benutzer"
-#: build/models.py:306
+#: build/models.py:324
msgid "User responsible for this build order"
msgstr "Nutzer der für diesen Bauauftrag zuständig ist"
-#: build/models.py:311 build/templates/build/detail.html:94
-#: company/templates/company/manufacturer_part.html:83
-#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:266 stock/models.py:507
-#: stock/templates/stock/item_base.html:359
+#: build/models.py:329 build/templates/build/detail.html:102
+#: company/templates/company/manufacturer_part.html:87
+#: company/templates/company/supplier_part.html:88
+#: part/templates/part/detail.html:80 stock/models.py:538
+#: stock/templates/stock/item_base.html:346
msgid "External Link"
msgstr "Externer Link"
-#: build/models.py:312 part/models.py:716 stock/models.py:509
+#: build/models.py:330 part/models.py:798 stock/models.py:540
msgid "Link to external URL"
msgstr "Link zu einer externen URL"
-#: build/models.py:316 build/templates/build/navbar.html:52
-#: company/models.py:142 company/models.py:577
-#: company/templates/company/navbar.html:69
-#: company/templates/company/navbar.html:72 order/models.py:180
-#: order/models.py:729 order/templates/order/po_navbar.html:38
-#: order/templates/order/po_navbar.html:41
-#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:843
-#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120
-#: part/templates/part/navbar.html:123
+#: build/models.py:334 build/serializers.py:201 company/models.py:142
+#: company/models.py:577 order/models.py:183 order/models.py:738
+#: part/models.py:925 part/templates/part/detail.html:223
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579
-#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451
-#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59
-#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841
-#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540
-#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040
+#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610
+#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325
+#: stock/serializers.py:584 templates/js/translated/barcode.js:58
+#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841
+#: templates/js/translated/order.js:963 templates/js/translated/order.js:1561
+#: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340
msgid "Notes"
msgstr "Notizen"
-#: build/models.py:317
+#: build/models.py:335
msgid "Extra build notes"
msgstr "Extranotizen für den Bauauftrag"
-#: build/models.py:714
+#: build/models.py:710
msgid "No build output specified"
msgstr "kein Endprodukt angegeben"
-#: build/models.py:717
+#: build/models.py:713
msgid "Build output is already completed"
msgstr "Endprodukt bereits hergstellt"
-#: build/models.py:720
+#: build/models.py:716
msgid "Build output does not match Build Order"
msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein"
-#: build/models.py:1102
+#: build/models.py:1108
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Bauauftragsposition muss ein Endprodukt festlegen, da der übergeordnete Teil verfolgbar ist"
-#: build/models.py:1111
+#: build/models.py:1117
#, python-brace-format
msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1121
+#: build/models.py:1127
msgid "Stock item is over-allocated"
msgstr "BestandObjekt ist zu oft zugewiesen"
-#: build/models.py:1127 order/models.py:955
+#: build/models.py:1133 order/models.py:964
msgid "Allocation quantity must be greater than zero"
msgstr "Reserviermenge muss größer null sein"
-#: build/models.py:1133
+#: build/models.py:1139
msgid "Quantity must be 1 for serialized stock"
msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein"
-#: build/models.py:1191
+#: build/models.py:1193
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1251 stock/templates/stock/item_base.html:331
-#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195
-#: templates/navbar.html:35
+#: build/models.py:1253 stock/templates/stock/item_base.html:318
+#: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599
+#: templates/navbar.html:33
msgid "Build"
msgstr "Bauauftrag"
-#: build/models.py:1252
+#: build/models.py:1254
msgid "Build to allocate parts"
msgstr "Bauauftrag starten um Teile zuzuweisen"
-#: build/models.py:1268 build/serializers.py:151
+#: build/models.py:1270 build/serializers.py:328
#: stock/templates/stock/item_base.html:8
-#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:353
-#: stock/templates/stock/stock_adjust.html:16
-#: templates/js/translated/build.js:287 templates/js/translated/build.js:292
-#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148
-#: templates/js/translated/stock.js:1605
+#: stock/templates/stock/item_base.html:16
+#: stock/templates/stock/item_base.html:340
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:413
+#: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742
+#: templates/js/translated/order.js:1156 templates/js/translated/order.js:1161
+#: templates/js/translated/stock.js:1990
msgid "Stock Item"
msgstr "BestandsObjekt"
-#: build/models.py:1269
+#: build/models.py:1271
msgid "Source stock item"
msgstr "Quell-BestandsObjekt"
-#: build/models.py:1282
+#: build/models.py:1284
msgid "Stock quantity to allocate to build"
msgstr "BestandsObjekt-Anzahl dem Bauauftrag zuweisen"
-#: build/models.py:1290
+#: build/models.py:1292
msgid "Install into"
msgstr "Installiere in"
-#: build/models.py:1291
+#: build/models.py:1293
msgid "Destination stock item"
msgstr "Ziel-BestandsObjekt"
-#: build/serializers.py:133 part/models.py:2501
-msgid "BOM Item"
-msgstr "Stücklisten-Position"
-
-#: build/serializers.py:142
-msgid "bom_item.part must point to the same part as the build order"
-msgstr ""
-
-#: build/serializers.py:157
-msgid "Item must be in stock"
-msgstr "Teil muss auf Lager sein"
-
-#: build/serializers.py:171 order/models.py:313 order/serializers.py:231
-#: stock/models.py:351 stock/models.py:1072
-msgid "Quantity must be greater than zero"
-msgstr "Anzahl muss größer Null sein"
-
-#: build/serializers.py:180
+#: build/serializers.py:137 build/serializers.py:357
msgid "Build Output"
msgstr "Endprodukt"
+#: build/serializers.py:146
+#, fuzzy
+#| msgid "Build output does not match build"
+msgid "Build output does not match the parent build"
+msgstr "Endprodukt stimmt nicht mit Bauauftrag überein"
+
+#: build/serializers.py:150
+#, fuzzy
+#| msgid "Build output does not match Build Order"
+msgid "Output part does not match BuildOrder part"
+msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein"
+
+#: build/serializers.py:154
+#, fuzzy
+#| msgid "Build output is already completed"
+msgid "This build output has already been completed"
+msgstr "Endprodukt bereits hergstellt"
+
+#: build/serializers.py:158
+#, fuzzy
+#| msgid "This Sales Order has not been fully allocated"
+msgid "This build output is not fully allocated"
+msgstr "Dieser Auftrag ist nicht vollständig zugeordnet"
+
+#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285
+#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686
+#: stock/templates/stock/item_base.html:286
+#: templates/js/translated/barcode.js:384
+#: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420
+#: templates/js/translated/build.js:1027 templates/js/translated/order.js:348
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1276
+#: templates/js/translated/order.js:1282 templates/js/translated/part.js:180
+#: templates/js/translated/stock.js:480 templates/js/translated/stock.js:1221
+#: templates/js/translated/stock.js:1931
+msgid "Location"
+msgstr "Lagerort"
+
+#: build/serializers.py:191
+#, fuzzy
+#| msgid "Location of completed parts"
+msgid "Location for completed build outputs"
+msgstr "Lagerort der Endprodukte"
+
+#: build/serializers.py:197 build/templates/build/build_base.html:129
+#: build/templates/build/detail.html:63 order/models.py:572
+#: order/serializers.py:238 stock/templates/stock/item_base.html:409
+#: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655
+#: templates/js/translated/order.js:431 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196
+#: templates/js/translated/stock.js:2008 templates/js/translated/stock.js:2157
+msgid "Status"
+msgstr "Status"
+
#: build/serializers.py:213
+#, fuzzy
+#| msgid "A list of stock items must be provided"
+msgid "A list of build outputs must be provided"
+msgstr "Eine Liste der Lagerbestände muss angegeben werden"
+
+#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700
+#: part/models.py:2859
+msgid "BOM Item"
+msgstr "Stücklisten-Position"
+
+#: build/serializers.py:269
+#, fuzzy
+#| msgid "Build Output"
+msgid "Build output"
+msgstr "Endprodukt"
+
+#: build/serializers.py:278
+#, fuzzy
+#| msgid "Build output does not match build"
+msgid "Build output must point to the same build"
+msgstr "Endprodukt stimmt nicht mit Bauauftrag überein"
+
+#: build/serializers.py:319
+msgid "bom_item.part must point to the same part as the build order"
+msgstr ""
+
+#: build/serializers.py:334
+msgid "Item must be in stock"
+msgstr "Teil muss auf Lager sein"
+
+#: build/serializers.py:348 order/models.py:316 order/serializers.py:231
+#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298
+msgid "Quantity must be greater than zero"
+msgstr "Anzahl muss größer Null sein"
+
+#: build/serializers.py:390
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Verfügbare Menge ({q}) überschritten"
-#: build/serializers.py:219
+#: build/serializers.py:396
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:226
+#: build/serializers.py:403
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:254
+#: build/serializers.py:431
msgid "Allocation items must be provided"
msgstr ""
-#: build/templates/build/allocation_card.html:21
-#: build/templates/build/complete_output.html:46
-#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:501 stock/templates/stock/item_base.html:251
-#: templates/js/translated/build.js:636
-#: templates/js/translated/model_renderers.js:72
-#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342
-msgid "Serial Number"
-msgstr "Seriennummer"
+#: build/tasks.py:92
+#, fuzzy
+#| msgid "Required for Build Orders"
+msgid "Stock required for build order"
+msgstr "Für Bauaufträge benötigt"
-#: build/templates/build/build_base.html:18
+#: build/templates/build/build_base.html:39
+#: order/templates/order/order_base.html:28
+#: order/templates/order/sales_order_base.html:38
+msgid "Print actions"
+msgstr "Aktionen drucken"
+
+#: build/templates/build/build_base.html:43
+#, fuzzy
+#| msgid "Print Order Reports"
+msgid "Print build order report"
+msgstr "Berichte drucken"
+
+#: build/templates/build/build_base.html:50
+msgid "Build actions"
+msgstr "Bau-Auftrag Aktionen"
+
+#: build/templates/build/build_base.html:54
+msgid "Edit Build"
+msgstr "Bauauftrag bearbeiten"
+
+#: build/templates/build/build_base.html:56
+#: build/templates/build/build_base.html:207 build/views.py:56
+msgid "Cancel Build"
+msgstr "Bauauftrag abbrechen"
+
+#: build/templates/build/build_base.html:59
+msgid "Delete Build"
+msgstr "Bauauftrag löschen"
+
+#: build/templates/build/build_base.html:64
+#: build/templates/build/build_base.html:65
+#: build/templates/build/build_base.html:223
+msgid "Complete Build"
+msgstr "Bauauftrag fertigstellen"
+
+#: build/templates/build/build_base.html:79
#, python-format
msgid "This Build Order is allocated to Sales Order %(link)s"
msgstr "Dieser Bauauftrag ist dem Auftrag %(link)s zugeordnet"
-#: build/templates/build/build_base.html:25
+#: build/templates/build/build_base.html:86
#, python-format
msgid "This Build Order is a child of Build Order %(link)s"
msgstr "Dieser Bauauftrag ist dem Bauauftrag %(link)s untergeordnet"
-#: build/templates/build/build_base.html:32
+#: build/templates/build/build_base.html:93
msgid "Build Order is ready to mark as completed"
msgstr "Bauauftrag ist bereit abgeschlossen zu werden"
-#: build/templates/build/build_base.html:37
+#: build/templates/build/build_base.html:98
msgid "Build Order cannot be completed as outstanding outputs remain"
msgstr "Bauauftrag kann nicht abgeschlossen werden, da es noch ausstehende Endprodukte gibt"
-#: build/templates/build/build_base.html:42
+#: build/templates/build/build_base.html:103
msgid "Required build quantity has not yet been completed"
msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt"
-#: build/templates/build/build_base.html:47
+#: build/templates/build/build_base.html:108
msgid "Stock has not been fully allocated to this Build Order"
msgstr "Lagerbestand wurde Bauauftrag noch nicht vollständig zugewiesen"
-#: build/templates/build/build_base.html:75
-#: company/templates/company/company_base.html:40
-#: company/templates/company/manufacturer_part.html:29
-#: company/templates/company/supplier_part.html:30
-#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:30
-#: stock/templates/stock/item_base.html:62
-#: stock/templates/stock/location.html:31
-msgid "Admin view"
-msgstr "Admin"
+#: build/templates/build/build_base.html:138
+#: build/templates/build/detail.html:132
+#: order/templates/order/order_base.html:140
+#: order/templates/order/sales_order_base.html:140
+#: report/templates/report/inventree_build_order_base.html:126
+#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690
+#: templates/js/translated/order.js:1087
+msgid "Target Date"
+msgstr "Zieldatum"
-#: build/templates/build/build_base.html:81
-#: build/templates/build/build_base.html:150
-#: order/templates/order/order_base.html:32
-#: order/templates/order/order_base.html:86
-#: order/templates/order/sales_order_base.html:43
-#: order/templates/order/sales_order_base.html:93
-#: templates/js/translated/table_filters.js:272
-#: templates/js/translated/table_filters.js:300
-#: templates/js/translated/table_filters.js:317
-msgid "Overdue"
-msgstr "Überfällig"
-
-#: build/templates/build/build_base.html:90
-msgid "Print actions"
-msgstr "Aktionen drucken"
-
-#: build/templates/build/build_base.html:94
-msgid "Print Build Order"
-msgstr "Bauauftrag drucken"
-
-#: build/templates/build/build_base.html:100
-#: build/templates/build/build_base.html:222
-msgid "Complete Build"
-msgstr "Bauauftrag fertigstellen"
-
-#: build/templates/build/build_base.html:105
-msgid "Build actions"
-msgstr "Bau-Auftrag Aktionen"
-
-#: build/templates/build/build_base.html:109
-msgid "Edit Build"
-msgstr "Bauauftrag bearbeiten"
-
-#: build/templates/build/build_base.html:111
-#: build/templates/build/build_base.html:206 build/views.py:56
-msgid "Cancel Build"
-msgstr "Bauauftrag abbrechen"
-
-#: build/templates/build/build_base.html:114
-msgid "Delete Build"
-msgstr "Bauauftrag löschen"
-
-#: build/templates/build/build_base.html:124
-#: build/templates/build/detail.html:15
-msgid "Build Details"
-msgstr "Bau-Status"
-
-#: build/templates/build/build_base.html:150
+#: build/templates/build/build_base.html:143
#, python-format
msgid "This build was due on %(target)s"
msgstr "Bauauftrag war fällig am %(target)s"
-#: build/templates/build/build_base.html:157
-#: build/templates/build/detail.html:67
-msgid "Progress"
-msgstr "Fortschritt"
+#: build/templates/build/build_base.html:143
+#: build/templates/build/build_base.html:188
+#: order/templates/order/order_base.html:81
+#: order/templates/order/order_base.html:102
+#: order/templates/order/sales_order_base.html:78
+#: order/templates/order/sales_order_base.html:107
+#: templates/js/translated/table_filters.js:288
+#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:333
+msgid "Overdue"
+msgstr "Überfällig"
-#: build/templates/build/build_base.html:170
-#: build/templates/build/detail.html:87 order/models.py:848
+#: build/templates/build/build_base.html:150
+#: build/templates/build/detail.html:68 build/templates/build/detail.html:143
+#: templates/js/translated/build.js:1641
+#: templates/js/translated/table_filters.js:298
+msgid "Completed"
+msgstr "Fertig"
+
+#: build/templates/build/build_base.html:163
+#: build/templates/build/detail.html:95 order/models.py:857
#: order/templates/order/sales_order_base.html:9
-#: order/templates/order/sales_order_base.html:35
+#: order/templates/order/sales_order_base.html:28
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:293
-#: templates/js/translated/order.js:1016
+#: stock/templates/stock/item_base.html:280
+#: templates/js/translated/order.js:1029
msgid "Sales Order"
msgstr "Auftrag"
-#: build/templates/build/build_base.html:177
-#: build/templates/build/detail.html:101
+#: build/templates/build/build_base.html:170
+#: build/templates/build/detail.html:109
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr "Aufgegeben von"
-#: build/templates/build/build_base.html:214
+#: build/templates/build/build_base.html:215
msgid "Incomplete Outputs"
msgstr "Unfertige Endprodukte"
-#: build/templates/build/build_base.html:215
+#: build/templates/build/build_base.html:216
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr "Bauauftrag kann nicht abgeschlossen werden, da es noch unvollständige Endprodukte gibt"
@@ -1175,220 +1170,205 @@ msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt"
msgid "Required stock has not been fully allocated"
msgstr "Benötigter Bestand wurde nicht vollständig zugewiesen"
-#: build/templates/build/complete_output.html:10
-msgid "Stock allocation is complete for this output"
-msgstr "Lagerzuordnung für dieses Endprodukt ist vollständig"
+#: build/templates/build/detail.html:16
+msgid "Build Details"
+msgstr "Bau-Status"
-#: build/templates/build/complete_output.html:14
-msgid "Stock allocation is incomplete"
-msgstr "Bestandszuordnung ist nicht vollständig"
-
-#: build/templates/build/complete_output.html:20
-msgid "tracked parts have not been fully allocated"
-msgstr "verfolgte Teile wurden nicht vollständig zugewiesen"
-
-#: build/templates/build/complete_output.html:41
-msgid "The following items will be created"
-msgstr "Die folgenden Objekte werden erstellt"
-
-#: build/templates/build/detail.html:38
+#: build/templates/build/detail.html:39
msgid "Stock Source"
msgstr "Ausgangs-Lager"
-#: build/templates/build/detail.html:43
+#: build/templates/build/detail.html:44
msgid "Stock can be taken from any available location."
msgstr "Bestand kann jedem verfügbaren Lagerort entnommen werden."
-#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134
-#: templates/js/translated/order.js:431 templates/js/translated/order.js:939
+#: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150
+#: templates/js/translated/order.js:432 templates/js/translated/order.js:952
msgid "Destination"
msgstr "Ziel-Lager"
-#: build/templates/build/detail.html:56
+#: build/templates/build/detail.html:57
msgid "Destination location not specified"
msgstr "Ziel-Lagerort nicht angegeben"
-#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:317
-#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852
-#: templates/js/translated/table_filters.js:129
-#: templates/js/translated/table_filters.js:211
+#: build/templates/build/detail.html:74 templates/js/translated/build.js:647
+#, fuzzy
+#| msgid "Related Parts"
+msgid "Allocated Parts"
+msgstr "Verknüpfte Teile"
+
+#: build/templates/build/detail.html:81
+#: stock/templates/stock/item_base.html:304
+#: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164
+#: templates/js/translated/table_filters.js:145
+#: templates/js/translated/table_filters.js:227
msgid "Batch"
msgstr "Losnummer"
-#: build/templates/build/detail.html:119
-#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:118
-#: templates/js/translated/build.js:1259
+#: build/templates/build/detail.html:127
+#: order/templates/order/order_base.html:127
+#: order/templates/order/sales_order_base.html:134
+#: templates/js/translated/build.js:1663
msgid "Created"
msgstr "Erstellt"
-#: build/templates/build/detail.html:130
+#: build/templates/build/detail.html:138
msgid "No target date set"
msgstr "Kein Ziel-Datum gesetzt"
-#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237
-#: templates/js/translated/table_filters.js:282
-msgid "Completed"
-msgstr "Fertig"
-
-#: build/templates/build/detail.html:139
+#: build/templates/build/detail.html:147
msgid "Build not complete"
msgstr "Bauauftrag ist nicht vollständig"
-#: build/templates/build/detail.html:150 build/templates/build/navbar.html:35
+#: build/templates/build/detail.html:158
msgid "Child Build Orders"
msgstr "Unter-Bauaufträge"
-#: build/templates/build/detail.html:166
+#: build/templates/build/detail.html:173
msgid "Allocate Stock to Build"
msgstr "Lagerbestand Bauauftrag zuweisen"
-#: build/templates/build/detail.html:172
-msgid "Allocate stock to build"
-msgstr "Lagerbestand Bauauftrag zuweisen"
-
-#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20
-#: build/templates/build/navbar.html:23
-msgid "Allocate Stock"
-msgstr "Lagerbestand zuweisen"
-
-#: build/templates/build/detail.html:175 templates/js/translated/build.js:817
+#: build/templates/build/detail.html:177 templates/js/translated/build.js:1202
msgid "Unallocate stock"
msgstr "Bestandszuordnung aufheben"
-#: build/templates/build/detail.html:176 build/views.py:257
+#: build/templates/build/detail.html:178
msgid "Unallocate Stock"
msgstr "Bestandszuordnung aufheben"
-#: build/templates/build/detail.html:179
+#: build/templates/build/detail.html:180
+msgid "Allocate stock to build"
+msgstr "Lagerbestand Bauauftrag zuweisen"
+
+#: build/templates/build/detail.html:181
+msgid "Allocate Stock"
+msgstr "Lagerbestand zuweisen"
+
+#: build/templates/build/detail.html:184
msgid "Order required parts"
msgstr "Benötigte Teile bestellen"
-#: build/templates/build/detail.html:180
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72 order/views.py:509
-#: part/templates/part/category.html:140
+#: build/templates/build/detail.html:185
+#: company/templates/company/detail.html:38
+#: company/templates/company/detail.html:85 order/views.py:509
+#: part/templates/part/category.html:166
msgid "Order Parts"
msgstr "Teile bestellen"
-#: build/templates/build/detail.html:186
+#: build/templates/build/detail.html:197
msgid "Untracked stock has been fully allocated for this Build Order"
msgstr "Nicht verfolgter Lagerbestand wurde Bauauftrag vollständig zugewiesen"
-#: build/templates/build/detail.html:190
+#: build/templates/build/detail.html:201
msgid "Untracked stock has not been fully allocated for this Build Order"
msgstr "Nicht verfolgter Lagerbestand wurde Bauauftrag noch nicht vollständig zugewiesen"
-#: build/templates/build/detail.html:197
+#: build/templates/build/detail.html:208
msgid "Allocate selected items"
msgstr ""
-#: build/templates/build/detail.html:209
+#: build/templates/build/detail.html:218
msgid "This Build Order does not have any associated untracked BOM items"
msgstr "Dieser Bauauftrag hat keine zugeordneten Stücklisten-Einträge"
-#: build/templates/build/detail.html:218
+#: build/templates/build/detail.html:227
msgid "Incomplete Build Outputs"
msgstr "Unfertige Endprodukte"
-#: build/templates/build/detail.html:223
+#: build/templates/build/detail.html:231
msgid "Create new build output"
msgstr "Neues Endprodukt anlegen"
-#: build/templates/build/detail.html:224
-msgid "Create New Output"
-msgstr "Neues Endprodukt anlegen"
+#: build/templates/build/detail.html:232
+#, fuzzy
+#| msgid "Build Output"
+msgid "New Build Output"
+msgstr "Endprodukt"
-#: build/templates/build/detail.html:237
-msgid "Create a new build output"
-msgstr "Neues Endprodukt anlegen"
+#: build/templates/build/detail.html:246
+#, fuzzy
+#| msgid "Actions"
+msgid "Output Actions"
+msgstr "Aktionen"
-#: build/templates/build/detail.html:238
-msgid "No incomplete build outputs remain."
-msgstr "Keine unfertigen Endprodukte verbleibend."
+#: build/templates/build/detail.html:250
+#, fuzzy
+#| msgid "Delete selected items"
+msgid "Complete selected items"
+msgstr "Ausgewählte Positionen löschen"
-#: build/templates/build/detail.html:239
-msgid "Create a new build output using the button above"
-msgstr "Neues Endprodukt mit der Schaltfläche oberhalb anlegen"
+#: build/templates/build/detail.html:251
+#, fuzzy
+#| msgid "Incomplete Outputs"
+msgid "Complete outputs"
+msgstr "Unfertige Endprodukte"
-#: build/templates/build/detail.html:247
+#: build/templates/build/detail.html:266
msgid "Completed Build Outputs"
msgstr "Fertiggestellte Endprodukte"
-#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42
-#: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35
-#: order/templates/order/sales_order_detail.html:43
-#: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173
-#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117
-#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47
-#: stock/templates/stock/navbar.html:50
+#: build/templates/build/detail.html:278
+#: order/templates/order/purchase_order_detail.html:60
+#: order/templates/order/sales_order_detail.html:52
+#: part/templates/part/detail.html:300 stock/templates/stock/item.html:95
msgid "Attachments"
msgstr "Anhänge"
-#: build/templates/build/detail.html:269
+#: build/templates/build/detail.html:294
msgid "Build Notes"
msgstr "Bauauftrags-Notizen"
-#: build/templates/build/detail.html:273 build/templates/build/detail.html:414
-#: company/templates/company/detail.html:169
-#: company/templates/company/detail.html:196
-#: order/templates/order/purchase_order_detail.html:71
-#: order/templates/order/purchase_order_detail.html:104
-#: order/templates/order/sales_order_detail.html:58
-#: order/templates/order/sales_order_detail.html:85
-#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103
-#: stock/templates/stock/item.html:188
+#: build/templates/build/detail.html:298 build/templates/build/detail.html:489
+#: company/templates/company/detail.html:188
+#: company/templates/company/detail.html:215
+#: order/templates/order/purchase_order_detail.html:80
+#: order/templates/order/purchase_order_detail.html:108
+#: order/templates/order/sales_order_detail.html:72
+#: order/templates/order/sales_order_detail.html:99
+#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115
+#: stock/templates/stock/item.html:205
msgid "Edit Notes"
msgstr "Anmerkungen bearbeiten"
-#: build/templates/build/detail.html:373
-#: order/templates/order/po_attachments.html:79
-#: order/templates/order/purchase_order_detail.html:166
-#: order/templates/order/sales_order_detail.html:146
-#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253
-#: templates/attachment_table.html:6
+#: build/templates/build/detail.html:448
+#: order/templates/order/purchase_order_detail.html:170
+#: order/templates/order/sales_order_detail.html:160
+#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270
+#: templates/attachment_button.html:4
msgid "Add Attachment"
msgstr "Anhang hinzufügen"
-#: build/templates/build/detail.html:392
-#: order/templates/order/po_attachments.html:51
-#: order/templates/order/purchase_order_detail.html:138
-#: order/templates/order/sales_order_detail.html:119
-#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221
+#: build/templates/build/detail.html:467
+#: order/templates/order/purchase_order_detail.html:142
+#: order/templates/order/sales_order_detail.html:133
+#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238
msgid "Edit Attachment"
msgstr "Anhang bearbeiten"
-#: build/templates/build/detail.html:399
-#: order/templates/order/po_attachments.html:58
-#: order/templates/order/purchase_order_detail.html:145
-#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230
-#: templates/js/translated/order.js:1230
+#: build/templates/build/detail.html:474
+#: order/templates/order/purchase_order_detail.html:149
+#: order/templates/order/sales_order_detail.html:139
+#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247
+#: templates/js/translated/order.js:1243
msgid "Confirm Delete Operation"
msgstr "Löschvorgang bestätigen"
-#: build/templates/build/detail.html:400
-#: order/templates/order/po_attachments.html:59
-#: order/templates/order/purchase_order_detail.html:146
-#: order/templates/order/sales_order_detail.html:126
-#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231
+#: build/templates/build/detail.html:475
+#: order/templates/order/purchase_order_detail.html:150
+#: order/templates/order/sales_order_detail.html:140
+#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248
msgid "Delete Attachment"
msgstr "Anhang löschen"
-#: build/templates/build/detail.html:443
+#: build/templates/build/detail.html:513
msgid "Allocation Complete"
msgstr "Zuordnung abgeschlossen"
-#: build/templates/build/detail.html:444
+#: build/templates/build/detail.html:514
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/edit_build_item.html:7
-msgid "Alter the quantity of stock allocated to the build output"
-msgstr "Anzahl des zugeordneten Bestands für die Endprodukte ändern"
-
-#: build/templates/build/index.html:28
+#: build/templates/build/index.html:18 part/templates/part/detail.html:433
msgid "New Build Order"
msgstr "Neuer Bauauftrag"
@@ -1396,47 +1376,18 @@ msgstr "Neuer Bauauftrag"
msgid "Print Build Orders"
msgstr "Bauaufträge ausdrucken"
-#: build/templates/build/index.html:43
-#: order/templates/order/purchase_orders.html:27
-#: order/templates/order/sales_orders.html:27
+#: build/templates/build/index.html:44
+#: order/templates/order/purchase_orders.html:34
+#: order/templates/order/sales_orders.html:37
msgid "Display calendar view"
msgstr "Kalender-Ansicht"
-#: build/templates/build/index.html:46
-#: order/templates/order/purchase_orders.html:30
-#: order/templates/order/sales_orders.html:30
+#: build/templates/build/index.html:47
+#: order/templates/order/purchase_orders.html:37
+#: order/templates/order/sales_orders.html:40
msgid "Display list view"
msgstr "Listen-Ansicht"
-#: build/templates/build/navbar.html:12
-msgid "Build Order Details"
-msgstr "Bauauftrag-details"
-
-#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/translated/stock.js:1534
-msgid "Details"
-msgstr "Details"
-
-#: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31
-msgid "Build Outputs"
-msgstr "Endprodukte"
-
-#: build/templates/build/navbar.html:38
-msgid "Child Builds"
-msgstr "Unter-Endprodukte"
-
-#: build/templates/build/navbar.html:49
-msgid "Build Order Notes"
-msgstr "Bauauftrag-Notizen"
-
-#: build/templates/build/unallocate.html:10
-msgid "Are you sure you wish to unallocate all stock for this build?"
-msgstr "Sind Sie sicher, dass sie alle BestandsObjekt von diesem Bauauftrag entfernen möchten?"
-
-#: build/templates/build/unallocate.html:12
-msgid "All incomplete stock allocations will be removed from the build"
-msgstr "Alle unvollständigen Bestandszuordnungen werden vom Endprodukt entfernt"
-
#: build/views.py:76
msgid "Build was cancelled"
msgstr "Bauauftrag wurde abgebrochen"
@@ -1449,7 +1400,7 @@ msgstr "Endprodukt anlegen"
msgid "Maximum output quantity is "
msgstr "Maximale Endproduktmenge ist "
-#: build/views.py:122 stock/views.py:1366
+#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290
msgid "Serial numbers already exist"
msgstr "Seriennummern existieren bereits"
@@ -1461,11 +1412,11 @@ msgstr "Seriennummern für verfolgbare Endprodukte benötigt"
msgid "Delete Build Output"
msgstr "Endprodukt entfernen"
-#: build/views.py:218 build/views.py:308
+#: build/views.py:218
msgid "Confirm unallocation of build stock"
msgstr "Entfernung von Bestands-Zuordnung bestätigen"
-#: build/views.py:219 build/views.py:309 stock/views.py:381
+#: build/views.py:219 stock/views.py:385
msgid "Check the confirmation box"
msgstr "Bestätigungsbox bestätigen"
@@ -1473,7 +1424,7 @@ msgstr "Bestätigungsbox bestätigen"
msgid "Build output does not match build"
msgstr "Endprodukt stimmt nicht mit Bauauftrag überein"
-#: build/views.py:233 build/views.py:434
+#: build/views.py:233
msgid "Build output must be specified"
msgstr "Endprodukt muss angegeben sein"
@@ -1481,39 +1432,19 @@ msgstr "Endprodukt muss angegeben sein"
msgid "Build output deleted"
msgstr "Endprodukt gelöscht"
-#: build/views.py:343
+#: build/views.py:261
msgid "Complete Build Order"
msgstr "Bauauftrag fertigstellen"
-#: build/views.py:349
+#: build/views.py:267
msgid "Build order cannot be completed - incomplete outputs remain"
msgstr "Bauauftrag kann nicht abgeschlossen werden, es gibt noch unvollständige Endprodukte"
-#: build/views.py:360
+#: build/views.py:278
msgid "Completed build order"
msgstr "Bauauftrag fertiggestellt"
-#: build/views.py:376
-msgid "Complete Build Output"
-msgstr "Endprodukt fertigstellen"
-
-#: build/views.py:418
-msgid "Invalid stock status value selected"
-msgstr "Ungültiger Lagerbestands-Status ausgewählt"
-
-#: build/views.py:425
-msgid "Quantity to complete cannot exceed build output quantity"
-msgstr "Fertigzustellende Anzahl darf nicht die geplante Endprodukt-Anzahl überschreiten"
-
-#: build/views.py:431
-msgid "Confirm completion of incomplete build"
-msgstr "Endprodukt-Fertigstellung bestätigen"
-
-#: build/views.py:530
-msgid "Build output completed"
-msgstr "Endprodukt fertiggestellt"
-
-#: build/views.py:567
+#: build/views.py:319
msgid "Delete Build Order"
msgstr "Bauauftrag löschen"
@@ -1554,728 +1485,758 @@ msgstr "{name.title()} Datei"
msgid "Select {name} file to upload"
msgstr "{name} Datei zum Hochladen auswählen"
-#: common/models.py:308 common/models.py:887 common/models.py:1048
+#: common/models.py:340 common/models.py:970 common/models.py:1178
msgid "Settings key (must be unique - case insensitive"
msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)"
-#: common/models.py:310
+#: common/models.py:342
msgid "Settings value"
msgstr "Einstellungs-Wert"
-#: common/models.py:345
+#: common/models.py:377
msgid "Must be an integer value"
msgstr "Nur Ganzzahl eingeben"
-#: common/models.py:368
+#: common/models.py:382
+#, fuzzy
+#| msgid "Barcode does not match a valid location"
+msgid "Chosen value is not a valid option"
+msgstr "Barcode entspricht keinem Lagerort"
+
+#: common/models.py:405
msgid "Value must be a boolean value"
msgstr "Wahrheitswert erforderlich"
-#: common/models.py:379
+#: common/models.py:416
msgid "Value must be an integer value"
msgstr "Nur Ganzzahl eingeben"
-#: common/models.py:402
+#: common/models.py:439
msgid "Key string must be unique"
msgstr "Schlüsseltext muss eindeutig sein"
-#: common/models.py:509
+#: common/models.py:559
+#, fuzzy
+#| msgid "Group"
+msgid "No group"
+msgstr "Gruppe"
+
+#: common/models.py:601
+#, fuzzy
+#| msgid "Required"
+msgid "Restart required"
+msgstr "Benötigt"
+
+#: common/models.py:602
+msgid "A setting has been changed which requires a server restart"
+msgstr ""
+
+#: common/models.py:609
msgid "InvenTree Instance Name"
msgstr "InvenTree Instanzname"
-#: common/models.py:511
+#: common/models.py:611
msgid "String descriptor for the server instance"
msgstr "Kurze Beschreibung der Instanz"
-#: common/models.py:515
+#: common/models.py:615
msgid "Use instance name"
msgstr "Name der Instanz verwenden"
-#: common/models.py:516
+#: common/models.py:616
msgid "Use the instance name in the title-bar"
msgstr "Den Namen der Instanz in der Titelleiste verwenden"
-#: common/models.py:522 company/models.py:100 company/models.py:101
+#: common/models.py:622 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr "Firmenname"
-#: common/models.py:523
+#: common/models.py:623
msgid "Internal company name"
msgstr "interner Firmenname"
-#: common/models.py:528
+#: common/models.py:628
msgid "Base URL"
msgstr "Basis-URL"
-#: common/models.py:529
+#: common/models.py:629
msgid "Base URL for server instance"
msgstr "Basis-URL für dieses Instanz"
-#: common/models.py:535
+#: common/models.py:635
msgid "Default Currency"
msgstr "Standardwährung"
-#: common/models.py:536
+#: common/models.py:636
msgid "Default currency"
msgstr "Standardwährung"
-#: common/models.py:542
+#: common/models.py:642
msgid "Download from URL"
msgstr "Von URL herunterladen"
-#: common/models.py:543
+#: common/models.py:643
msgid "Allow download of remote images and files from external URL"
msgstr "Herunterladen von externen Bildern und Dateien von URLs erlaubt"
-#: common/models.py:549
+#: common/models.py:649
msgid "Barcode Support"
msgstr "Bacode-Feature verwenden"
-#: common/models.py:550
+#: common/models.py:650
msgid "Enable barcode scanner support"
msgstr "Barcode-Scanner Unterstützung"
-#: common/models.py:556
+#: common/models.py:656
msgid "IPN Regex"
msgstr "IPN Regex"
-#: common/models.py:557
+#: common/models.py:657
msgid "Regular expression pattern for matching Part IPN"
msgstr "RegEx Muster für die Zuordnung von Teil-IPN"
-#: common/models.py:561
+#: common/models.py:661
msgid "Allow Duplicate IPN"
msgstr "Mehrere Artikel mit gleicher IPN erlaubt"
-#: common/models.py:562
+#: common/models.py:662
msgid "Allow multiple parts to share the same IPN"
msgstr "Mehrere Artikel mit gleicher IPN erlaubt"
-#: common/models.py:568
+#: common/models.py:668
msgid "Allow Editing IPN"
msgstr "Ändern von IPN erlaubt"
-#: common/models.py:569
+#: common/models.py:669
msgid "Allow changing the IPN value while editing a part"
msgstr "Ändern der IPN während des Bearbeiten eines Teils erlaubt"
-#: common/models.py:575
+#: common/models.py:675
msgid "Copy Part BOM Data"
msgstr "Teil-Stückliste kopieren"
-#: common/models.py:576
+#: common/models.py:676
msgid "Copy BOM data by default when duplicating a part"
msgstr "Stückliste von Teil kopieren wenn das Teil dupliziert wird "
-#: common/models.py:582
+#: common/models.py:682
msgid "Copy Part Parameter Data"
msgstr "Teil-Parameter kopieren"
-#: common/models.py:583
+#: common/models.py:683
msgid "Copy parameter data by default when duplicating a part"
msgstr "Parameter-Daten für dieses Teil kopieren wenn das Teil dupliziert wird"
-#: common/models.py:589
+#: common/models.py:689
msgid "Copy Part Test Data"
msgstr "Teil-Testdaten kopieren"
-#: common/models.py:590
+#: common/models.py:690
msgid "Copy test data by default when duplicating a part"
msgstr "Test-Daten für dieses Teil kopieren wenn das Teil dupliziert wird"
-#: common/models.py:596
+#: common/models.py:696
msgid "Copy Category Parameter Templates"
msgstr "Kategorie-Parametervorlage kopieren"
-#: common/models.py:597
+#: common/models.py:697
msgid "Copy category parameter templates when creating a part"
msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird"
-#: common/models.py:603 part/models.py:2256 report/models.py:187
-#: stock/forms.py:224 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:351
+#: common/models.py:703 part/models.py:2429 report/models.py:187
+#: templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:367
msgid "Template"
msgstr "Vorlage"
-#: common/models.py:604
+#: common/models.py:704
msgid "Parts are templates by default"
msgstr "Teile sind standardmäßig Vorlagen"
-#: common/models.py:610 part/models.py:806
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:363
+#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954
+#: templates/js/translated/table_filters.js:162
+#: templates/js/translated/table_filters.js:379
msgid "Assembly"
msgstr "Baugruppe"
-#: common/models.py:611
+#: common/models.py:711
msgid "Parts can be assembled from other components by default"
msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden"
-#: common/models.py:617 part/models.py:812
-#: templates/js/translated/table_filters.js:367
+#: common/models.py:717 part/models.py:894
+#: templates/js/translated/table_filters.js:383
msgid "Component"
msgstr "Komponente"
-#: common/models.py:618
+#: common/models.py:718
msgid "Parts can be used as sub-components by default"
msgstr "Teile können standardmäßig in Baugruppen benutzt werden"
-#: common/models.py:624 part/models.py:823
+#: common/models.py:724 part/models.py:905
msgid "Purchaseable"
msgstr "Kaufbar"
-#: common/models.py:625
+#: common/models.py:725
msgid "Parts are purchaseable by default"
msgstr "Artikel sind grundsätzlich kaufbar"
-#: common/models.py:631 part/models.py:828
-#: templates/js/translated/table_filters.js:375
+#: common/models.py:731 part/models.py:910
+#: templates/js/translated/table_filters.js:391
msgid "Salable"
msgstr "Verkäuflich"
-#: common/models.py:632
+#: common/models.py:732
msgid "Parts are salable by default"
msgstr "Artikel sind grundsätzlich verkaufbar"
-#: common/models.py:638 part/models.py:818
+#: common/models.py:738 part/models.py:900
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:379
+#: templates/js/translated/table_filters.js:94
+#: templates/js/translated/table_filters.js:395
msgid "Trackable"
msgstr "Nachverfolgbar"
-#: common/models.py:639
+#: common/models.py:739
msgid "Parts are trackable by default"
msgstr "Artikel sind grundsätzlich verfolgbar"
-#: common/models.py:645 part/models.py:838
-#: part/templates/part/part_base.html:66
+#: common/models.py:745 part/models.py:920
+#: part/templates/part/part_base.html:144
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr "Virtuell"
-#: common/models.py:646
+#: common/models.py:746
msgid "Parts are virtual by default"
msgstr "Teile sind grundsätzlich virtuell"
-#: common/models.py:652
+#: common/models.py:752
msgid "Show Import in Views"
msgstr "Import in Ansichten anzeigen"
-#: common/models.py:653
+#: common/models.py:753
msgid "Display the import wizard in some part views"
msgstr "Importassistent in einigen Teil-Ansichten anzeigen"
-#: common/models.py:659
+#: common/models.py:759
msgid "Show Price in Forms"
msgstr "Preis in Formularen anzeigen"
-#: common/models.py:660
+#: common/models.py:760
msgid "Display part price in some forms"
msgstr "Teilpreis in einigen Formularen anzeigen"
-#: common/models.py:671
+#: common/models.py:771
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:672
+#: common/models.py:772
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:678
+#: common/models.py:778
msgid "Show related parts"
msgstr "Verwandte Teile anzeigen"
-#: common/models.py:679
+#: common/models.py:779
msgid "Display related parts for a part"
msgstr "Verwandte Teile eines Teils anzeigen"
-#: common/models.py:685
+#: common/models.py:785
msgid "Create initial stock"
msgstr "Ausgangsbestand erstellen"
-#: common/models.py:686
+#: common/models.py:786
msgid "Create initial stock on part creation"
msgstr "Ausgangsbestand beim Erstellen von Teilen erstellen"
-#: common/models.py:692
+#: common/models.py:792
msgid "Internal Prices"
msgstr "Interne Preise"
-#: common/models.py:693
+#: common/models.py:793
msgid "Enable internal prices for parts"
msgstr "Interne Preise für Teile aktivieren"
-#: common/models.py:699
+#: common/models.py:799
msgid "Internal Price as BOM-Price"
msgstr "Interner Preis als Stückliste-Preis"
-#: common/models.py:700
+#: common/models.py:800
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr "Interner Preis (falls vorhanden) in Stücklisten-Preisberechnungen verwenden"
-#: common/models.py:706 templates/stats.html:25
+#: common/models.py:806
+msgid "Part Name Display Format"
+msgstr ""
+
+#: common/models.py:807
+msgid "Format to display the part name"
+msgstr ""
+
+#: common/models.py:814
+#, fuzzy
+#| msgid "Test Reports"
+msgid "Enable Reports"
+msgstr "Test-Berichte"
+
+#: common/models.py:815
+#, fuzzy
+#| msgid "Enable generation of test reports"
+msgid "Enable generation of reports"
+msgstr "Erstellung von Test-Berichten aktivieren"
+
+#: common/models.py:821 templates/stats.html:25
msgid "Debug Mode"
msgstr "Entwickler-Modus"
-#: common/models.py:707
+#: common/models.py:822
msgid "Generate reports in debug mode (HTML output)"
msgstr "Berichte im Entwickler-Modus generieren (als HTML)"
-#: common/models.py:713
+#: common/models.py:828
msgid "Page Size"
msgstr "Seitengröße"
-#: common/models.py:714
+#: common/models.py:829
msgid "Default page size for PDF reports"
msgstr "Standardseitenformat für PDF-Bericht"
-#: common/models.py:724
+#: common/models.py:839
msgid "Test Reports"
msgstr "Test-Berichte"
-#: common/models.py:725
+#: common/models.py:840
msgid "Enable generation of test reports"
msgstr "Erstellung von Test-Berichten aktivieren"
-#: common/models.py:731
+#: common/models.py:846
msgid "Stock Expiry"
msgstr "Bestands-Ablauf"
-#: common/models.py:732
+#: common/models.py:847
msgid "Enable stock expiry functionality"
msgstr "Ablaufen von Bestand ermöglichen"
-#: common/models.py:738
+#: common/models.py:853
msgid "Sell Expired Stock"
msgstr "Abgelaufenen Bestand verkaufen"
-#: common/models.py:739
+#: common/models.py:854
msgid "Allow sale of expired stock"
msgstr "Verkauf von abgelaufenem Bestand erlaubt"
-#: common/models.py:745
+#: common/models.py:860
msgid "Stock Stale Time"
msgstr "Bestands-Stehzeit"
-#: common/models.py:746
+#: common/models.py:861
msgid "Number of days stock items are considered stale before expiring"
msgstr "Anzahl an Tagen, an denen Bestand als abgestanden markiert wird, bevor sie ablaufen"
-#: common/models.py:748
+#: common/models.py:863
msgid "days"
msgstr "Tage"
-#: common/models.py:753
+#: common/models.py:868
msgid "Build Expired Stock"
msgstr "Abgelaufenen Bestand verbauen"
-#: common/models.py:754
+#: common/models.py:869
msgid "Allow building with expired stock"
msgstr "Verbauen von abgelaufenen Bestand erlaubt"
-#: common/models.py:760
+#: common/models.py:875
msgid "Stock Ownership Control"
msgstr "Bestands-Eigentümerkontrolle"
-#: common/models.py:761
+#: common/models.py:876
msgid "Enable ownership control over stock locations and items"
msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren"
-#: common/models.py:767
+#: common/models.py:882
msgid "Group by Part"
msgstr "Gruppieren nach Teil"
-#: common/models.py:768
+#: common/models.py:883
msgid "Group stock items by part reference in table views"
msgstr "Bestand in Tabellen anhand von Teil-Referenz gruppieren"
-#: common/models.py:774
+#: common/models.py:889
msgid "Build Order Reference Prefix"
msgstr "Bauauftrag-Referenz Präfix"
-#: common/models.py:775
+#: common/models.py:890
msgid "Prefix value for build order reference"
msgstr "Präfix für Bauauftrag-Referenz"
-#: common/models.py:780
+#: common/models.py:895
msgid "Build Order Reference Regex"
msgstr "Bauauftrag-Referenz RegEx"
-#: common/models.py:781
+#: common/models.py:896
msgid "Regular expression pattern for matching build order reference"
msgstr "RegEx Muster für die Zuordnung von Bauauftrag-Referenzen"
-#: common/models.py:785
+#: common/models.py:900
msgid "Sales Order Reference Prefix"
msgstr "Auftrags-Referenz Präfix"
-#: common/models.py:786
+#: common/models.py:901
msgid "Prefix value for sales order reference"
msgstr "Präfix für Auftrags-Referenz"
-#: common/models.py:791
+#: common/models.py:906
msgid "Purchase Order Reference Prefix"
msgstr "Bestellungs-Referenz Präfix"
-#: common/models.py:792
+#: common/models.py:907
msgid "Prefix value for purchase order reference"
msgstr "Präfix für Bestellungs-Referenz"
-#: common/models.py:798
-msgid "Enable build"
-msgstr "Bauaufträge aktivieren"
-
-#: common/models.py:799
-msgid "Enable build functionality in InvenTree interface"
-msgstr "Bau-Funktionalität in InvenTree aktivieren"
-
-#: common/models.py:804
-msgid "Enable buy"
-msgstr "Kaufen aktivieren"
-
-#: common/models.py:805
-msgid "Enable buy functionality in InvenTree interface"
-msgstr "Kauf-Funktionalität in InvenTree aktivieren"
-
-#: common/models.py:810
-msgid "Enable sell"
-msgstr "Verkauf aktivieren"
-
-#: common/models.py:811
-msgid "Enable sell functionality in InvenTree interface"
-msgstr "Verkaufs-Funktionalität in InvenTree aktivieren"
-
-#: common/models.py:816
-msgid "Enable stock"
-msgstr "Lagerbestand aktivieren"
-
-#: common/models.py:817
-msgid "Enable stock functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:822
-msgid "Enable SO"
-msgstr "Aufträge aktivieren"
-
-#: common/models.py:823
-msgid "Enable SO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:828
-msgid "Enable PO"
-msgstr "Bestellungen aktivieren"
-
-#: common/models.py:829
-msgid "Enable PO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:836
+#: common/models.py:913
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:837
-msgid "Enable password forgot function on the login-pages"
+#: common/models.py:914
+msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:842
+#: common/models.py:919
msgid "Enable registration"
msgstr ""
-#: common/models.py:843
-msgid "Enable self-registration for users on the login-pages"
+#: common/models.py:920
+msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:848
+#: common/models.py:925
msgid "Enable SSO"
msgstr ""
-#: common/models.py:849
-msgid "Enable SSO on the login-pages"
+#: common/models.py:926
+msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:854
-msgid "E-Mail required"
-msgstr ""
+#: common/models.py:931
+#, fuzzy
+#| msgid "Required"
+msgid "Email required"
+msgstr "Benötigt"
-#: common/models.py:855
+#: common/models.py:932
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:860
+#: common/models.py:937
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:861
+#: common/models.py:938
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:943
msgid "Mail twice"
msgstr ""
-#: common/models.py:867
+#: common/models.py:944
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:872
+#: common/models.py:949
msgid "Password twice"
msgstr ""
-#: common/models.py:873
+#: common/models.py:950
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:898
-msgid "Show starred parts"
+#: common/models.py:955
+msgid "Group on signup"
+msgstr ""
+
+#: common/models.py:956
+#, fuzzy
+#| msgid "Select which users are assigned to this group"
+msgid "Group to which new users are assigned on registration"
+msgstr "Welche Benutzer gehören zu dieser Gruppe"
+
+#: common/models.py:1001
+#, fuzzy
+#| msgid "Show starred parts"
+msgid "Show subscribed parts"
msgstr "Markierte Teile anzeigen"
-#: common/models.py:899
-msgid "Show starred parts on the homepage"
+#: common/models.py:1002
+#, fuzzy
+#| msgid "Show starred parts on the homepage"
+msgid "Show subscribed parts on the homepage"
msgstr "Zeige markierte Teile auf der Startseite"
-#: common/models.py:904
+#: common/models.py:1007
+#, fuzzy
+#| msgid "Subcategories"
+msgid "Show subscribed categories"
+msgstr "Unter-Kategorien"
+
+#: common/models.py:1008
+#, fuzzy
+#| msgid "Show starred parts on the homepage"
+msgid "Show subscribed part categories on the homepage"
+msgstr "Zeige markierte Teile auf der Startseite"
+
+#: common/models.py:1013
msgid "Show latest parts"
msgstr "Neueste Teile anzeigen"
-#: common/models.py:905
+#: common/models.py:1014
msgid "Show latest parts on the homepage"
msgstr "Zeige neueste Teile auf der Startseite"
-#: common/models.py:910
+#: common/models.py:1019
msgid "Recent Part Count"
msgstr "Aktuelle Teile-Stände"
-#: common/models.py:911
+#: common/models.py:1020
msgid "Number of recent parts to display on index page"
msgstr "Anzahl der neusten Teile auf der Startseite"
-#: common/models.py:917
+#: common/models.py:1026
msgid "Show unvalidated BOMs"
msgstr "Nicht validierte Stücklisten anzeigen"
-#: common/models.py:918
+#: common/models.py:1027
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:923
+#: common/models.py:1032
msgid "Show recent stock changes"
msgstr "Neueste Lagerbestand Änderungen anzeigen"
-#: common/models.py:924
+#: common/models.py:1033
msgid "Show recently changed stock items on the homepage"
msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite"
-#: common/models.py:929
+#: common/models.py:1038
msgid "Recent Stock Count"
msgstr "aktueller Bestand"
-#: common/models.py:930
+#: common/models.py:1039
msgid "Number of recent stock items to display on index page"
msgstr "Anzahl des geänderten Bestands auf der Startseite"
-#: common/models.py:935
+#: common/models.py:1044
msgid "Show low stock"
msgstr "Niedrigen Bestand anzeigen"
-#: common/models.py:936
+#: common/models.py:1045
msgid "Show low stock items on the homepage"
msgstr "Zeige geringen Lagerbestand auf der Startseite"
-#: common/models.py:941
+#: common/models.py:1050
msgid "Show depleted stock"
msgstr "Lerren Bestand anzeigen"
-#: common/models.py:942
+#: common/models.py:1051
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:947
+#: common/models.py:1056
msgid "Show needed stock"
msgstr "Benötigten Bestand anzeigen"
-#: common/models.py:948
+#: common/models.py:1057
msgid "Show stock items needed for builds on the homepage"
msgstr "Zeige Bestand für Bauaufträge auf der Startseite"
-#: common/models.py:953
+#: common/models.py:1062
msgid "Show expired stock"
msgstr "Abgelaufenen Bestand anzeigen"
-#: common/models.py:954
+#: common/models.py:1063
msgid "Show expired stock items on the homepage"
msgstr "Zeige Abgelaufene Lagerbestände auf der Startseite"
-#: common/models.py:959
+#: common/models.py:1068
msgid "Show stale stock"
msgstr "Alten Bestand anzeigen"
-#: common/models.py:960
+#: common/models.py:1069
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:965
+#: common/models.py:1074
msgid "Show pending builds"
msgstr "Ausstehende Bauaufträge anzeigen"
-#: common/models.py:966
+#: common/models.py:1075
msgid "Show pending builds on the homepage"
msgstr "Zeige ausstehende Bauaufträge auf der Startseite"
-#: common/models.py:971
+#: common/models.py:1080
msgid "Show overdue builds"
msgstr "Zeige überfällige Bauaufträge"
-#: common/models.py:972
+#: common/models.py:1081
msgid "Show overdue builds on the homepage"
msgstr "Zeige überfällige Bauaufträge auf der Startseite"
-#: common/models.py:977
+#: common/models.py:1086
msgid "Show outstanding POs"
msgstr "Ausstehende POs anzeigen"
-#: common/models.py:978
+#: common/models.py:1087
msgid "Show outstanding POs on the homepage"
msgstr "Ausstehende POs auf der Startseite anzeigen"
-#: common/models.py:983
+#: common/models.py:1092
msgid "Show overdue POs"
msgstr "Überfällige POs anzeigen"
-#: common/models.py:984
+#: common/models.py:1093
msgid "Show overdue POs on the homepage"
msgstr "Überfällige POs auf der Startseite anzeigen"
-#: common/models.py:989
+#: common/models.py:1098
msgid "Show outstanding SOs"
msgstr "Ausstehende SOs anzeigen"
-#: common/models.py:990
+#: common/models.py:1099
msgid "Show outstanding SOs on the homepage"
msgstr "Ausstehende SOs auf der Startseite anzeigen"
-#: common/models.py:995
+#: common/models.py:1104
msgid "Show overdue SOs"
msgstr "Überfällige SOs anzeigen"
-#: common/models.py:996
+#: common/models.py:1105
msgid "Show overdue SOs on the homepage"
msgstr "Überfällige SOs auf der Startseite anzeigen"
-#: common/models.py:1002
+#: common/models.py:1111
msgid "Inline label display"
msgstr "Label inline anzeigen"
-#: common/models.py:1003
+#: common/models.py:1112
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr "PDF-Labels im Browser anzeigen, anstatt als Datei herunterzuladen"
-#: common/models.py:1009
+#: common/models.py:1118
msgid "Inline report display"
msgstr "Berichte inline anzeigen"
-#: common/models.py:1010
+#: common/models.py:1119
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr "PDF-Berichte im Browser anzeigen, anstatt als Datei herunterzuladen"
-#: common/models.py:1016
+#: common/models.py:1125
msgid "Search Preview Results"
msgstr "Anzahl Suchergebnisse"
-#: common/models.py:1017
+#: common/models.py:1126
msgid "Number of results to show in search preview window"
msgstr "Anzahl der Ergebnisse, die in der Vorschau angezeigt werden sollen"
-#: common/models.py:1023
+#: common/models.py:1132
+#, fuzzy
+#| msgid "Show low stock"
+msgid "Search Show Stock"
+msgstr "Niedrigen Bestand anzeigen"
+
+#: common/models.py:1133
+#, fuzzy
+#| msgid "Number of results to show in search preview window"
+msgid "Display stock levels in search preview window"
+msgstr "Anzahl der Ergebnisse, die in der Vorschau angezeigt werden sollen"
+
+#: common/models.py:1139
+#, fuzzy
+#| msgid "Show active parts"
+msgid "Hide Inactive Parts"
+msgstr "Aktive Teile anzeigen"
+
+#: common/models.py:1140
+#, fuzzy
+#| msgid "Number of results to show in search preview window"
+msgid "Hide inactive parts in search preview window"
+msgstr "Anzahl der Ergebnisse, die in der Vorschau angezeigt werden sollen"
+
+#: common/models.py:1146
msgid "Show Quantity in Forms"
msgstr "zeige Bestand in Eingabemasken"
-#: common/models.py:1024
+#: common/models.py:1147
msgid "Display available part quantity in some forms"
msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken"
-#: common/models.py:1030
+#: common/models.py:1153
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1154
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1088 company/forms.py:43
+#: common/models.py:1160
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1161
+msgid "InvenTree navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1226 company/forms.py:43
msgid "Price break quantity"
msgstr "Preisstaffelungs Anzahl"
-#: common/models.py:1095 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1369
+#: common/models.py:1233 company/serializers.py:264
+#: company/templates/company/supplier_part.html:256
+#: templates/js/translated/part.js:1508
msgid "Price"
msgstr "Preis"
-#: common/models.py:1096
+#: common/models.py:1234
msgid "Unit price at specified quantity"
msgstr "Stückpreis für die angegebene Anzahl"
-#: common/models.py:1189
-msgid "Default"
-msgstr "Standard"
-
-#: common/templates/common/edit_setting.html:11
-msgid "Current value"
-msgstr "Aktueller Wert"
-
-#: common/views.py:33
-msgid "Change Setting"
-msgstr "Einstellungen ändern"
-
-#: common/views.py:119
-msgid "Supplied value is not allowed"
-msgstr "Angegebener Wert nicht erlaubt"
-
-#: common/views.py:128
-msgid "Supplied value must be a boolean"
-msgstr "Angegebener Wert muss ein Wahrheitswert sein"
-
-#: common/views.py:138
-msgid "Change User Setting"
-msgstr "Benutzereinstellungen ändern"
-
-#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42
-#: order/templates/order/po_navbar.html:19
-#: order/templates/order/po_navbar.html:22
-#: order/templates/order/purchase_order_detail.html:27 order/views.py:289
-#: part/templates/part/bom_upload/upload_file.html:65
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
-#: part/views.py:882
+#: common/views.py:93 order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:289
+#: part/templates/part/bom_upload/upload_file.html:51
+#: part/templates/part/import_wizard/part_upload.html:46 part/views.py:281
+#: part/views.py:923
msgid "Upload File"
msgstr "Datei hochgeladen"
-#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
+#: common/views.py:94 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
-#: part/views.py:883
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:282
+#: part/views.py:924
msgid "Match Fields"
msgstr "Übereinstimmende Felder"
-#: common/views.py:215
+#: common/views.py:95
msgid "Match Items"
msgstr "Positionen zuordnen"
-#: common/views.py:560
+#: common/views.py:440
msgid "Fields matching failed"
msgstr "Felder zuteilen fehlgeschlagen"
-#: common/views.py:615
+#: common/views.py:495
msgid "Parts imported"
msgstr "Teile importiert"
-#: common/views.py:637 order/templates/order/order_wizard/match_fields.html:27
+#: common/views.py:517 order/templates/order/order_wizard/match_fields.html:27
#: order/templates/order/order_wizard/match_parts.html:19
-#: order/templates/order/order_wizard/po_upload.html:40
+#: order/templates/order/order_wizard/po_upload.html:46
#: part/templates/part/bom_upload/match_fields.html:27
#: part/templates/part/bom_upload/match_parts.html:19
-#: part/templates/part/bom_upload/upload_file.html:63
+#: part/templates/part/bom_upload/upload_file.html:49
#: part/templates/part/import_wizard/match_fields.html:27
#: part/templates/part/import_wizard/match_references.html:19
-#: part/templates/part/import_wizard/part_upload.html:43
+#: part/templates/part/import_wizard/part_upload.html:44
msgid "Previous Step"
msgstr "Vorheriger Schritt"
@@ -2321,6 +2282,7 @@ msgid "Contact phone number"
msgstr "Kontakt-Telefon"
#: company/models.py:125 company/templates/company/company_base.html:102
+#: templates/InvenTree/settings/user.html:46
msgid "Email"
msgstr "Email"
@@ -2337,10 +2299,10 @@ msgid "Point of contact"
msgstr "Anlaufstelle"
#: company/models.py:131 company/models.py:348 company/models.py:564
-#: order/models.py:160 part/models.py:715
+#: order/models.py:163 part/models.py:797
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:536
-#: templates/js/translated/company.js:825 templates/js/translated/part.js:983
+#: templates/js/translated/company.js:825 templates/js/translated/part.js:984
msgid "Link"
msgstr "Link"
@@ -2348,7 +2310,7 @@ msgstr "Link"
msgid "Link to external company information"
msgstr "Link auf externe Firmeninformation"
-#: company/models.py:139 part/models.py:725
+#: company/models.py:139 part/models.py:807
msgid "Image"
msgstr "Bild"
@@ -2376,8 +2338,8 @@ msgstr "ist Hersteller"
msgid "Does this company manufacture parts?"
msgstr "Produziert diese Firma Teile?"
-#: company/models.py:152 company/serializers.py:264
-#: company/templates/company/company_base.html:76 stock/serializers.py:158
+#: company/models.py:152 company/serializers.py:270
+#: company/templates/company/company_base.html:76 stock/serializers.py:172
msgid "Currency"
msgstr "Währung"
@@ -2385,8 +2347,8 @@ msgstr "Währung"
msgid "Default currency used for this company"
msgstr "Standard-Währung für diese Firma"
-#: company/models.py:320 company/models.py:535 stock/models.py:454
-#: stock/templates/stock/item_base.html:237
+#: company/models.py:320 company/models.py:535 stock/models.py:484
+#: stock/templates/stock/item_base.html:224
msgid "Base Part"
msgstr "Basisteil"
@@ -2395,28 +2357,28 @@ msgid "Select part"
msgstr "Teil auswählen"
#: company/models.py:335 company/templates/company/company_base.html:116
-#: company/templates/company/manufacturer_part.html:89
-#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:247 stock/templates/stock/item_base.html:366
+#: company/templates/company/manufacturer_part.html:93
+#: company/templates/company/supplier_part.html:104
+#: stock/templates/stock/item_base.html:353
#: templates/js/translated/company.js:332
#: templates/js/translated/company.js:513
-#: templates/js/translated/company.js:796 templates/js/translated/part.js:227
+#: templates/js/translated/company.js:796 templates/js/translated/part.js:228
msgid "Manufacturer"
msgstr "Hersteller"
-#: company/models.py:336 templates/js/translated/part.js:228
+#: company/models.py:336 templates/js/translated/part.js:229
msgid "Select manufacturer"
msgstr "Hersteller auswählen"
-#: company/models.py:342 company/templates/company/manufacturer_part.html:93
-#: company/templates/company/supplier_part.html:106 part/bom.py:171
-#: part/bom.py:248 templates/js/translated/company.js:529
-#: templates/js/translated/company.js:814 templates/js/translated/order.js:851
-#: templates/js/translated/part.js:238
+#: company/models.py:342 company/templates/company/manufacturer_part.html:97
+#: company/templates/company/supplier_part.html:112
+#: templates/js/translated/company.js:529
+#: templates/js/translated/company.js:814 templates/js/translated/order.js:852
+#: templates/js/translated/part.js:239
msgid "MPN"
msgstr "MPN"
-#: company/models.py:343 templates/js/translated/part.js:239
+#: company/models.py:343 templates/js/translated/part.js:240
msgid "Manufacturer Part Number"
msgstr "Hersteller-Teilenummer"
@@ -2431,7 +2393,7 @@ msgstr "Teilbeschreibung des Herstellers"
#: company/models.py:409 company/models.py:558
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:376
+#: stock/templates/stock/item_base.html:363
msgid "Manufacturer Part"
msgstr "Herstellerteil"
@@ -2440,10 +2402,9 @@ msgid "Parameter name"
msgstr "Parametername"
#: company/models.py:422
-#: report/templates/report/inventree_test_report_base.html:90
-#: stock/models.py:1816 templates/InvenTree/settings/header.html:8
-#: templates/js/translated/company.js:643 templates/js/translated/part.js:623
-#: templates/js/translated/stock.js:555
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:1867 templates/js/translated/company.js:643
+#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848
msgid "Value"
msgstr "Wert"
@@ -2451,8 +2412,9 @@ msgstr "Wert"
msgid "Parameter value"
msgstr "Parameterwert"
-#: company/models.py:429 part/models.py:800 part/models.py:2224
-#: templates/js/translated/company.js:649 templates/js/translated/part.js:629
+#: company/models.py:429 part/models.py:882 part/models.py:2397
+#: part/templates/part/detail.html:59 templates/js/translated/company.js:649
+#: templates/js/translated/part.js:650
msgid "Units"
msgstr "Einheiten"
@@ -2465,27 +2427,27 @@ msgid "Linked manufacturer part must reference the same base part"
msgstr ""
#: company/models.py:545 company/templates/company/company_base.html:121
-#: company/templates/company/supplier_part.html:88 order/models.py:260
-#: order/templates/order/order_base.html:92
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:292 stock/templates/stock/item_base.html:383
+#: company/templates/company/supplier_part.html:94 order/models.py:263
+#: order/templates/order/order_base.html:108
+#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219
+#: part/bom.py:247 stock/templates/stock/item_base.html:370
#: templates/js/translated/company.js:336
-#: templates/js/translated/company.js:770 templates/js/translated/order.js:659
-#: templates/js/translated/part.js:208
+#: templates/js/translated/company.js:770 templates/js/translated/order.js:660
+#: templates/js/translated/part.js:209
msgid "Supplier"
msgstr "Zulieferer"
-#: company/models.py:546 templates/js/translated/part.js:209
+#: company/models.py:546 templates/js/translated/part.js:210
msgid "Select supplier"
msgstr "Zulieferer auswählen"
-#: company/models.py:551 company/templates/company/supplier_part.html:92
-#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838
-#: templates/js/translated/part.js:219
+#: company/models.py:551 company/templates/company/supplier_part.html:98
+#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:839
+#: templates/js/translated/part.js:220
msgid "SKU"
msgstr "SKU (Lagerbestandseinheit)"
-#: company/models.py:552 templates/js/translated/part.js:220
+#: company/models.py:552 templates/js/translated/part.js:221
msgid "Supplier stock keeping unit"
msgstr "Lagerbestandseinheit (SKU) des Zulieferers"
@@ -2501,23 +2463,23 @@ msgstr "Teil-URL des Zulieferers"
msgid "Supplier part description"
msgstr "Zuliefererbeschreibung des Teils"
-#: company/models.py:576 company/templates/company/supplier_part.html:120
-#: part/models.py:2389 report/templates/report/inventree_po_report.html:93
+#: company/models.py:576 company/templates/company/supplier_part.html:126
+#: part/models.py:2588 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr "Notiz"
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "base cost"
msgstr "Basiskosten"
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Mindestpreis"
-#: company/models.py:582 company/templates/company/supplier_part.html:113
-#: stock/models.py:478 stock/templates/stock/item_base.html:324
-#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036
+#: company/models.py:582 company/templates/company/supplier_part.html:119
+#: stock/models.py:507 stock/templates/stock/item_base.html:311
+#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336
msgid "Packaging"
msgstr "Verpackungen"
@@ -2525,7 +2487,7 @@ msgstr "Verpackungen"
msgid "Part packaging"
msgstr "Teile-Verpackungen"
-#: company/models.py:584 part/models.py:1605
+#: company/models.py:584 part/models.py:1750
msgid "multiple"
msgstr "Vielfache"
@@ -2533,47 +2495,43 @@ msgstr "Vielfache"
msgid "Order multiple"
msgstr "Mehrere bestellen"
-#: company/serializers.py:68
+#: company/serializers.py:70
msgid "Default currency used for this supplier"
msgstr "Standard-Währung für diesen Zulieferer"
-#: company/serializers.py:69
+#: company/serializers.py:71
msgid "Currency Code"
msgstr "Währungscode"
-#: company/templates/company/company_base.html:9
-#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321
+#: company/templates/company/company_base.html:8
+#: company/templates/company/company_base.html:12
+#: templates/InvenTree/search.html:182 templates/js/translated/company.js:321
msgid "Company"
msgstr "Firma"
-#: company/templates/company/company_base.html:25
-#: part/templates/part/part_thumb.html:21
-msgid "Upload new image"
-msgstr "Neues Bild hochladen"
-
-#: company/templates/company/company_base.html:27
-#: part/templates/part/part_thumb.html:23
-msgid "Download image from URL"
-msgstr "Bild von URL herunterladen"
-
-#: company/templates/company/company_base.html:46
-#: templates/js/translated/order.js:120
+#: company/templates/company/company_base.html:22
+#: templates/js/translated/order.js:121
msgid "Create Purchase Order"
msgstr "Bestellung anlegen"
-#: company/templates/company/company_base.html:51
+#: company/templates/company/company_base.html:27
msgid "Edit company information"
msgstr "Firmeninformation bearbeiten"
-#: company/templates/company/company_base.html:56
-#: company/templates/company/company_base.html:153
+#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:148
msgid "Delete Company"
msgstr "Firma löschen"
-#: company/templates/company/company_base.html:64
-msgid "Company Details"
-msgstr "Firmendetails"
+#: company/templates/company/company_base.html:48
+#: part/templates/part/part_thumb.html:12
+msgid "Upload new image"
+msgstr "Neues Bild hochladen"
+
+#: company/templates/company/company_base.html:51
+#: part/templates/part/part_thumb.html:14
+msgid "Download image from URL"
+msgstr "Bild von URL herunterladen"
#: company/templates/company/company_base.html:81
msgid "Uses default currency"
@@ -2583,145 +2541,133 @@ msgstr "verwendet Standard-Währung"
msgid "Phone"
msgstr "Telefon"
-#: company/templates/company/company_base.html:126 order/models.py:558
-#: order/templates/order/sales_order_base.html:99 stock/models.py:496
-#: stock/models.py:497 stock/templates/stock/item_base.html:276
-#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038
-#: templates/js/translated/stock.js:1587
+#: company/templates/company/company_base.html:126 order/models.py:567
+#: order/templates/order/sales_order_base.html:114 stock/models.py:525
+#: stock/models.py:526 stock/templates/stock/item_base.html:263
+#: templates/js/translated/company.js:328 templates/js/translated/order.js:1051
+#: templates/js/translated/stock.js:1972
msgid "Customer"
msgstr "Kunde"
-#: company/templates/company/company_base.html:199
-#: part/templates/part/part_base.html:424
+#: company/templates/company/company_base.html:194
+#: part/templates/part/part_base.html:342
msgid "Upload Image"
msgstr "Bild hochladen"
-#: company/templates/company/detail.html:14
-#: company/templates/company/manufacturer_part_navbar.html:18
-#: templates/InvenTree/search.html:150
+#: company/templates/company/detail.html:15 templates/InvenTree/search.html:124
msgid "Supplier Parts"
msgstr "Zuliefererteile"
-#: company/templates/company/detail.html:22
+#: company/templates/company/detail.html:19
#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr "Neues Zuliefererteil anlegen"
-#: company/templates/company/detail.html:23
-#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289
+#: company/templates/company/detail.html:20
+#: company/templates/company/manufacturer_part.html:112
+#: part/templates/part/detail.html:466
msgid "New Supplier Part"
msgstr "Neues Zuliefererteil"
-#: company/templates/company/detail.html:27
-#: company/templates/company/detail.html:67
-#: company/templates/company/manufacturer_part.html:112
-#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/category.html:135 part/templates/part/detail.html:292
-#: part/templates/part/detail.html:315
+#: company/templates/company/detail.html:32
+#: company/templates/company/detail.html:79
+#: company/templates/company/manufacturer_part.html:121
+#: company/templates/company/manufacturer_part.html:150
+#: part/templates/part/category.html:160 part/templates/part/detail.html:475
+#: part/templates/part/detail.html:503
msgid "Options"
msgstr "Optionen"
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72
-#: part/templates/part/category.html:140
+#: company/templates/company/detail.html:37
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:166
msgid "Order parts"
msgstr "Teile bestellen"
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:42
+#: company/templates/company/detail.html:89
msgid "Delete parts"
msgstr "Teile löschen"
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:43
+#: company/templates/company/detail.html:90
msgid "Delete Parts"
msgstr "Teile löschen"
-#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135
+#: company/templates/company/detail.html:62 templates/InvenTree/search.html:109
msgid "Manufacturer Parts"
msgstr "Herstellerteile"
-#: company/templates/company/detail.html:62
+#: company/templates/company/detail.html:66
msgid "Create new manufacturer part"
msgstr "Neues Herstellerteil anlegen"
-#: company/templates/company/detail.html:63 part/templates/part/detail.html:312
+#: company/templates/company/detail.html:67 part/templates/part/detail.html:493
msgid "New Manufacturer Part"
msgstr "Neues Herstellerteil"
-#: company/templates/company/detail.html:93
+#: company/templates/company/detail.html:107
msgid "Supplier Stock"
msgstr "Zulieferer-Bestand"
-#: company/templates/company/detail.html:102
-#: company/templates/company/navbar.html:46
-#: company/templates/company/navbar.html:49
+#: company/templates/company/detail.html:117
+#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
-#: order/templates/order/purchase_orders.html:13
-#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82
-#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260
-#: templates/InvenTree/search.html:229
-#: templates/InvenTree/settings/navbar.html:119
-#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44
+#: order/templates/order/purchase_orders.html:12
+#: part/templates/part/detail.html:171 templates/InvenTree/index.html:252
+#: templates/InvenTree/search.html:203 templates/navbar.html:45
#: users/models.py:45
msgid "Purchase Orders"
msgstr "Bestellungen"
-#: company/templates/company/detail.html:108
-#: order/templates/order/purchase_orders.html:20
+#: company/templates/company/detail.html:121
+#: order/templates/order/purchase_orders.html:17
msgid "Create new purchase order"
msgstr "Neue Bestellung anlegen"
-#: company/templates/company/detail.html:109
-#: order/templates/order/purchase_orders.html:21
+#: company/templates/company/detail.html:122
+#: order/templates/order/purchase_orders.html:18
msgid "New Purchase Order"
msgstr "Neue Bestellung"
-#: company/templates/company/detail.html:124
-#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58
+#: company/templates/company/detail.html:143
+#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
-#: order/templates/order/sales_orders.html:13
-#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91
-#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291
-#: templates/InvenTree/search.html:249
-#: templates/InvenTree/settings/navbar.html:125
-#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55
+#: order/templates/order/sales_orders.html:15
+#: part/templates/part/detail.html:194 templates/InvenTree/index.html:283
+#: templates/InvenTree/search.html:223 templates/navbar.html:56
#: users/models.py:46
msgid "Sales Orders"
msgstr "Aufträge"
-#: company/templates/company/detail.html:130
+#: company/templates/company/detail.html:147
#: order/templates/order/sales_orders.html:20
msgid "Create new sales order"
msgstr "Neuen Auftrag anlegen"
-#: company/templates/company/detail.html:131
+#: company/templates/company/detail.html:148
#: order/templates/order/sales_orders.html:21
msgid "New Sales Order"
msgstr "Neuer Auftrag"
-#: company/templates/company/detail.html:147
-#: company/templates/company/navbar.html:61
-#: company/templates/company/navbar.html:64
-#: templates/js/translated/build.js:622
+#: company/templates/company/detail.html:168
+#: templates/js/translated/build.js:999
msgid "Assigned Stock"
msgstr "Zugeordneter Bestand"
-#: company/templates/company/detail.html:165
+#: company/templates/company/detail.html:184
msgid "Company Notes"
msgstr "Firmenbemerkungen"
-#: company/templates/company/detail.html:364
-#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:357
+#: company/templates/company/detail.html:383
+#: company/templates/company/manufacturer_part.html:209
+#: part/templates/part/detail.html:546
msgid "Delete Supplier Parts?"
msgstr "Zuliefererteil entfernen?"
-#: company/templates/company/detail.html:365
-#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:358
+#: company/templates/company/detail.html:384
+#: company/templates/company/manufacturer_part.html:210
+#: part/templates/part/detail.html:547
msgid "All selected supplier parts will be deleted"
msgstr "Alle ausgewählten Zulieferteile werden gelöscht"
@@ -2729,204 +2675,174 @@ msgstr "Alle ausgewählten Zulieferteile werden gelöscht"
msgid "Supplier List"
msgstr "Zulieferer-Liste"
-#: company/templates/company/manufacturer_part.html:40
-#: company/templates/company/supplier_part.html:40
-#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116
+#: company/templates/company/manufacturer_part.html:14 company/views.py:55
+#: part/templates/part/prices.html:167 templates/InvenTree/search.html:184
+#: templates/navbar.html:44
+msgid "Manufacturers"
+msgstr "Hersteller"
+
+#: company/templates/company/manufacturer_part.html:35
+#: company/templates/company/supplier_part.html:34
+#: company/templates/company/supplier_part.html:159
+#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76
msgid "Order part"
msgstr "Teil bestellen"
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:40
#: templates/js/translated/company.js:561
msgid "Edit manufacturer part"
msgstr "Herstellerteil bearbeiten"
-#: company/templates/company/manufacturer_part.html:49
+#: company/templates/company/manufacturer_part.html:44
#: templates/js/translated/company.js:562
msgid "Delete manufacturer part"
msgstr "Herstellerteil löschen"
-#: company/templates/company/manufacturer_part.html:61
-msgid "Manufacturer Part Details"
-msgstr "Herstellerteil-Details"
-
-#: company/templates/company/manufacturer_part.html:66
-#: company/templates/company/supplier_part.html:65
+#: company/templates/company/manufacturer_part.html:70
+#: company/templates/company/supplier_part.html:71
msgid "Internal Part"
msgstr "Internes Teil"
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/manufacturer_part_navbar.html:21
-#: company/views.py:49 part/templates/part/navbar.html:75
-#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163
-#: templates/InvenTree/search.html:220 templates/navbar.html:41
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: part/templates/part/prices.html:163 templates/InvenTree/search.html:194
+#: templates/navbar.html:43
msgid "Suppliers"
msgstr "Zulieferer"
-#: company/templates/company/manufacturer_part.html:114
-#: part/templates/part/detail.html:294
+#: company/templates/company/manufacturer_part.html:123
+#: part/templates/part/detail.html:477
msgid "Delete supplier parts"
msgstr "Zuliefererteil entfernen"
-#: company/templates/company/manufacturer_part.html:114
-#: company/templates/company/manufacturer_part.html:138
-#: company/templates/company/manufacturer_part.html:239
-#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/translated/company.js:424
-#: templates/js/translated/helpers.js:31 users/models.py:199
+#: company/templates/company/manufacturer_part.html:123
+#: company/templates/company/manufacturer_part.html:152
+#: company/templates/company/manufacturer_part.html:248
+#: part/templates/part/detail.html:351 part/templates/part/detail.html:477
+#: part/templates/part/detail.html:505 templates/js/translated/company.js:424
+#: templates/js/translated/helpers.js:31 users/models.py:204
msgid "Delete"
msgstr "Löschen"
-#: company/templates/company/manufacturer_part.html:127
-#: company/templates/company/manufacturer_part_navbar.html:11
-#: company/templates/company/manufacturer_part_navbar.html:14
-#: part/templates/part/category_navbar.html:38
-#: part/templates/part/category_navbar.html:41
-#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20
-#: part/templates/part/navbar.html:23
+#: company/templates/company/manufacturer_part.html:137
+#: part/templates/part/detail.html:277
msgid "Parameters"
msgstr "Parameter"
-#: company/templates/company/manufacturer_part.html:133
-#: part/templates/part/detail.html:162
-#: templates/InvenTree/settings/category.html:26
-#: templates/InvenTree/settings/part.html:63
+#: company/templates/company/manufacturer_part.html:141
+#: part/templates/part/detail.html:282
+#: templates/InvenTree/settings/category.html:12
+#: templates/InvenTree/settings/part.html:65
msgid "New Parameter"
msgstr "Neuer Parameter"
-#: company/templates/company/manufacturer_part.html:138
+#: company/templates/company/manufacturer_part.html:152
msgid "Delete parameters"
msgstr "Parameter löschen"
-#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:805
+#: company/templates/company/manufacturer_part.html:185
+#: part/templates/part/detail.html:983
msgid "Add Parameter"
msgstr "Parameter hinzufügen"
-#: company/templates/company/manufacturer_part.html:224
+#: company/templates/company/manufacturer_part.html:233
msgid "Selected parameters will be deleted"
msgstr "Ausgewählte Parameter werden gelöscht"
-#: company/templates/company/manufacturer_part.html:236
+#: company/templates/company/manufacturer_part.html:245
msgid "Delete Parameters"
msgstr "Parameter löschen"
-#: company/templates/company/manufacturer_part_navbar.html:26
-msgid "Manufacturer Part Stock"
-msgstr "Herstellerteil-Bestand"
-
-#: company/templates/company/manufacturer_part_navbar.html:29
-#: company/templates/company/navbar.html:39
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/navbar.html:38 stock/api.py:52
-#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182
-#: templates/InvenTree/settings/navbar.html:107
-#: templates/InvenTree/settings/navbar.html:109
-#: templates/js/translated/part.js:540 templates/js/translated/part.js:769
-#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182
-#: templates/js/translated/stock.js:829 templates/navbar.html:32
-msgid "Stock"
-msgstr "Lagerbestand"
-
-#: company/templates/company/manufacturer_part_navbar.html:33
-msgid "Manufacturer Part Orders"
-msgstr "Herstellerteil-Bestellungen"
-
-#: company/templates/company/manufacturer_part_navbar.html:36
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr "Bestellungen"
-
-#: company/templates/company/navbar.html:17
-#: company/templates/company/navbar.html:20
-msgid "Manufactured Parts"
-msgstr "Hergestellte Teile"
-
-#: company/templates/company/navbar.html:26
-#: company/templates/company/navbar.html:29
-msgid "Supplied Parts"
-msgstr "Zuliefererteile"
-
-#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35
-#: stock/templates/stock/location.html:119
-#: stock/templates/stock/location.html:134
-#: stock/templates/stock/location.html:148
-#: stock/templates/stock/location_navbar.html:18
-#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486
-#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
-msgid "Stock Items"
-msgstr "Teilbestand"
-
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:463
-#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993
+#: company/templates/company/supplier_part.html:24 stock/models.py:492
+#: stock/templates/stock/item_base.html:375
+#: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293
msgid "Supplier Part"
msgstr "Zuliefererteil"
-#: company/templates/company/supplier_part.html:44
+#: company/templates/company/supplier_part.html:38
#: templates/js/translated/company.js:859
msgid "Edit supplier part"
msgstr "Zuliefererteil bearbeiten"
-#: company/templates/company/supplier_part.html:48
+#: company/templates/company/supplier_part.html:42
#: templates/js/translated/company.js:860
msgid "Delete supplier part"
msgstr "Zuliefererteil entfernen"
-#: company/templates/company/supplier_part.html:60
-msgid "Supplier Part Details"
-msgstr "Zuliefererteil Details"
-
-#: company/templates/company/supplier_part.html:131
+#: company/templates/company/supplier_part.html:138
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr "Zulieferer-Bestand"
-#: company/templates/company/supplier_part.html:140
+#: company/templates/company/supplier_part.html:141
+#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147
+#, fuzzy
+#| msgid "Create new Stock Item"
+msgid "Create new stock item"
+msgstr "Neues BestandsObjekt hinzufügen"
+
+#: company/templates/company/supplier_part.html:142
+#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148
+#: templates/js/translated/stock.js:324
+msgid "New Stock Item"
+msgstr "Neues BestandsObjekt"
+
+#: company/templates/company/supplier_part.html:155
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr "Zulieferer-Bestellungen"
-#: company/templates/company/supplier_part.html:147
-#: part/templates/part/detail.html:56
+#: company/templates/company/supplier_part.html:160
+#: part/templates/part/detail.html:175
msgid "Order Part"
msgstr "Teil bestellen"
-#: company/templates/company/supplier_part.html:158
-#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7
+#: company/templates/company/supplier_part.html:179
+#: part/templates/part/prices.html:7
msgid "Pricing Information"
msgstr "Preisinformationen ansehen"
-#: company/templates/company/supplier_part.html:164
-#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:271 part/views.py:1730
+#: company/templates/company/supplier_part.html:184
+#: company/templates/company/supplier_part.html:290
+#: part/templates/part/prices.html:271 part/views.py:1782
msgid "Add Price Break"
msgstr "Preisstaffel hinzufügen"
-#: company/templates/company/supplier_part.html:185
+#: company/templates/company/supplier_part.html:210
msgid "No price break information found"
msgstr "Keine Informationen zur Preisstaffel gefunden"
-#: company/templates/company/supplier_part.html:199 part/views.py:1792
+#: company/templates/company/supplier_part.html:224 part/views.py:1844
msgid "Delete Price Break"
msgstr "Preisstaffel löschen"
-#: company/templates/company/supplier_part.html:213 part/views.py:1778
+#: company/templates/company/supplier_part.html:238 part/views.py:1830
msgid "Edit Price Break"
msgstr "Preisstaffel bearbeiten"
-#: company/templates/company/supplier_part.html:238
+#: company/templates/company/supplier_part.html:263
msgid "Edit price break"
msgstr "Preisstaffel bearbeiten"
-#: company/templates/company/supplier_part.html:239
+#: company/templates/company/supplier_part.html:264
msgid "Delete price break"
msgstr "Preisstaffel löschen"
+#: company/templates/company/supplier_part_navbar.html:15
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426
+#: templates/js/translated/part.js:561 templates/js/translated/part.js:786
+#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479
+#: templates/js/translated/stock.js:1132 templates/navbar.html:26
+msgid "Stock"
+msgstr "Lagerbestand"
+
+#: company/templates/company/supplier_part_navbar.html:22
+msgid "Orders"
+msgstr "Bestellungen"
+
#: company/templates/company/supplier_part_navbar.html:26
msgid "Supplier Part Pricing"
msgstr "Zuliefererteil Bepreisung"
@@ -2939,17 +2855,12 @@ msgstr "Bepreisung"
msgid "New Supplier"
msgstr "Neuer Zulieferer"
-#: company/views.py:55 part/templates/part/prices.html:167
-#: templates/InvenTree/search.html:210 templates/navbar.html:42
-msgid "Manufacturers"
-msgstr "Hersteller"
-
#: company/views.py:56
msgid "New Manufacturer"
msgstr "Neuer Hersteller"
-#: company/views.py:61 templates/InvenTree/search.html:240
-#: templates/navbar.html:53
+#: company/views.py:61 templates/InvenTree/search.html:214
+#: templates/navbar.html:55
msgid "Customers"
msgstr "Kunden"
@@ -2965,24 +2876,24 @@ msgstr "Firmen"
msgid "New Company"
msgstr "Neue Firma"
-#: company/views.py:129 part/views.py:608
+#: company/views.py:129 part/views.py:649
msgid "Download Image"
msgstr "Bild herunterladen"
-#: company/views.py:158 part/views.py:640
+#: company/views.py:158 part/views.py:681
msgid "Image size exceeds maximum allowable size for download"
msgstr "Bildgröße überschreitet maximal-erlaubte Größe für Downloads"
-#: company/views.py:165 part/views.py:647
+#: company/views.py:165 part/views.py:688
#, python-brace-format
msgid "Invalid response: {code}"
msgstr "Ungültige Antwort {code}"
-#: company/views.py:174 part/views.py:656
+#: company/views.py:174 part/views.py:697
msgid "Supplied URL is not a valid image file"
msgstr "Angegebene URL ist kein gültiges Bild"
-#: label/api.py:57 report/api.py:201
+#: label/api.py:57 report/api.py:203
msgid "No valid objects provided to template"
msgstr "Keine korrekten Objekte für Vorlage gegeben"
@@ -2994,7 +2905,7 @@ msgstr "Label Name"
msgid "Label description"
msgstr "Label Beschreibung"
-#: label/models.py:127 stock/forms.py:167
+#: label/models.py:127
msgid "Label"
msgstr "Label"
@@ -3039,7 +2950,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:259 label/models.py:319 label/models.py:366
-#: report/models.py:322 report/models.py:457 report/models.py:495
+#: report/models.py:322 report/models.py:459 report/models.py:497
msgid "Filters"
msgstr "Filter"
@@ -3051,240 +2962,236 @@ msgstr "Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)"
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:250
-msgid "Matching purchase order does not exist"
-msgstr ""
-
-#: order/forms.py:27 order/templates/order/order_base.html:50
+#: order/forms.py:26 order/templates/order/order_base.html:52
msgid "Place order"
msgstr "Bestellung aufgeben"
-#: order/forms.py:38 order/templates/order/order_base.html:57
+#: order/forms.py:37 order/templates/order/order_base.html:59
msgid "Mark order as complete"
msgstr "Bestellung als vollständig markieren"
-#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:64
+#: order/forms.py:48 order/forms.py:59 order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
msgid "Cancel order"
msgstr "Bestellung stornieren"
-#: order/forms.py:71 order/templates/order/sales_order_base.html:61
+#: order/forms.py:70
msgid "Ship order"
msgstr "Bestellung versenden"
-#: order/forms.py:97
+#: order/forms.py:98
msgid "Enter stock item serial numbers"
msgstr "Seriennummern für BestandsObjekt eingeben"
-#: order/forms.py:103
+#: order/forms.py:104
msgid "Enter quantity of stock items"
msgstr "Menge der BestandsObjekt eingeben"
-#: order/models.py:158
+#: order/models.py:161
msgid "Order description"
msgstr "Bestellungs-Beschreibung"
-#: order/models.py:160
+#: order/models.py:163
msgid "Link to external page"
msgstr "Link auf externe Seite"
-#: order/models.py:168
+#: order/models.py:171
msgid "Created By"
msgstr "Erstellt von"
-#: order/models.py:175
+#: order/models.py:178
msgid "User or group responsible for this order"
msgstr "Nutzer oder Gruppe der/die für diesen Auftrag zuständig ist/sind"
-#: order/models.py:180
+#: order/models.py:183
msgid "Order notes"
msgstr "Bestell-Notizen"
-#: order/models.py:247 order/models.py:548
+#: order/models.py:250 order/models.py:557
msgid "Order reference"
msgstr "Bestell-Referenz"
-#: order/models.py:252 order/models.py:563
+#: order/models.py:255 order/models.py:572
msgid "Purchase order status"
msgstr "Bestellungs-Status"
-#: order/models.py:261
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr "Firma bei der die Teile bestellt werden"
-#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/translated/order.js:668
+#: order/models.py:267 order/templates/order/order_base.html:114
+#: templates/js/translated/order.js:669
msgid "Supplier Reference"
msgstr "Zulieferer-Referenz"
-#: order/models.py:264
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr "Zulieferer Bestellreferenz"
-#: order/models.py:271
+#: order/models.py:274
msgid "received by"
msgstr "Empfangen von"
-#: order/models.py:276
+#: order/models.py:279
msgid "Issue Date"
msgstr "Aufgabedatum"
-#: order/models.py:277
+#: order/models.py:280
msgid "Date order was issued"
msgstr "Datum an dem die Bestellung aufgegeben wurde"
-#: order/models.py:282
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr "Ziel-Versanddatum"
-#: order/models.py:283
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "Geplantes Lieferdatum für Auftrag."
-#: order/models.py:289
+#: order/models.py:292
msgid "Date order was completed"
msgstr "Datum an dem der Auftrag fertigstellt wurde"
-#: order/models.py:318
+#: order/models.py:321
msgid "Part supplier must match PO supplier"
msgstr "Teile-Zulieferer muss dem Zulieferer der Bestellung entsprechen"
-#: order/models.py:428
+#: order/models.py:431
msgid "Quantity must be an integer"
msgstr "Anzahl muss eine Ganzzahl sein"
-#: order/models.py:432
+#: order/models.py:435
msgid "Quantity must be a positive number"
msgstr "Anzahl muss eine positive Zahl sein"
-#: order/models.py:559
+#: order/models.py:568
msgid "Company to which the items are being sold"
msgstr "Firma an die die Teile verkauft werden"
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer Reference "
msgstr "Kundenreferenz"
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer order reference code"
msgstr "Bestellreferenz"
-#: order/models.py:570
+#: order/models.py:579
msgid "Target date for order completion. Order will be overdue after this date."
msgstr "Zieldatum für Auftrags-Fertigstellung."
-#: order/models.py:573 templates/js/translated/order.js:1079
+#: order/models.py:582 templates/js/translated/order.js:1092
msgid "Shipment Date"
msgstr "Versanddatum"
-#: order/models.py:580
+#: order/models.py:589
msgid "shipped by"
msgstr "Versand von"
-#: order/models.py:624
+#: order/models.py:633
msgid "SalesOrder cannot be shipped as it is not currently pending"
msgstr "Bestellung kann nicht versendet werden weil er nicht anhängig ist"
-#: order/models.py:721
+#: order/models.py:730
msgid "Item quantity"
msgstr "Anzahl"
-#: order/models.py:727
+#: order/models.py:736
msgid "Line item reference"
msgstr "Position - Referenz"
-#: order/models.py:729
+#: order/models.py:738
msgid "Line item notes"
msgstr "Position - Notizen"
-#: order/models.py:759 order/models.py:847
-#: templates/js/translated/order.js:1131
+#: order/models.py:768 order/models.py:856
+#: templates/js/translated/order.js:1144
msgid "Order"
msgstr "Bestellung"
-#: order/models.py:760 order/templates/order/order_base.html:9
-#: order/templates/order/order_base.html:24
+#: order/models.py:769 order/templates/order/order_base.html:9
+#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:338
-#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970
-#: templates/js/translated/stock.js:1568
+#: stock/templates/stock/item_base.html:325
+#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1270
+#: templates/js/translated/stock.js:1953
msgid "Purchase Order"
msgstr "Bestellung"
-#: order/models.py:781
+#: order/models.py:790
msgid "Supplier part"
msgstr "Zuliefererteil"
-#: order/models.py:788 order/templates/order/order_base.html:131
-#: order/templates/order/sales_order_base.html:138
-#: templates/js/translated/order.js:428 templates/js/translated/order.js:919
+#: order/models.py:797 order/templates/order/order_base.html:147
+#: order/templates/order/sales_order_base.html:154
+#: templates/js/translated/order.js:429 templates/js/translated/order.js:932
msgid "Received"
msgstr "Empfangen"
-#: order/models.py:789
+#: order/models.py:798
msgid "Number of items received"
msgstr "Empfangene Objekt-Anzahl"
-#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588
-#: stock/serializers.py:150 stock/templates/stock/item_base.html:345
-#: templates/js/translated/stock.js:1024
+#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619
+#: stock/serializers.py:163 stock/templates/stock/item_base.html:332
+#: templates/js/translated/stock.js:1324
msgid "Purchase Price"
msgstr "Preis"
-#: order/models.py:797
+#: order/models.py:806
msgid "Unit purchase price"
msgstr "Preis pro Einheit"
-#: order/models.py:805
+#: order/models.py:814
msgid "Where does the Purchaser want this item to be stored?"
msgstr "Wo möchte der Käufer diesen Artikel gelagert haben?"
-#: order/models.py:857 part/templates/part/part_pricing.html:112
+#: order/models.py:866 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:116 part/templates/part/prices.html:284
msgid "Sale Price"
msgstr "Verkaufspreis"
-#: order/models.py:858
+#: order/models.py:867
msgid "Unit sale price"
msgstr "Stückverkaufspreis"
-#: order/models.py:937 order/models.py:939
+#: order/models.py:946 order/models.py:948
msgid "Stock item has not been assigned"
msgstr "BestandsObjekt wurde nicht zugewiesen"
-#: order/models.py:943
+#: order/models.py:952
msgid "Cannot allocate stock item to a line with a different part"
msgstr "Kann BestandsObjekt keiner Zeile mit einem anderen Teil hinzufügen"
-#: order/models.py:945
+#: order/models.py:954
msgid "Cannot allocate stock to a line without a part"
msgstr "Kann BestandsObjekt keiner Zeile ohne Teil hinzufügen"
-#: order/models.py:948
+#: order/models.py:957
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten"
-#: order/models.py:952
+#: order/models.py:961
msgid "StockItem is over-allocated"
msgstr "Zu viele BestandsObjekt zugewiesen"
-#: order/models.py:958
+#: order/models.py:967
msgid "Quantity must be 1 for serialized stock item"
msgstr "Anzahl für BestandsObjekt mit Seriennummer muss 1 sein"
-#: order/models.py:966
+#: order/models.py:975
msgid "Line"
msgstr "Position"
-#: order/models.py:978
+#: order/models.py:987
msgid "Item"
msgstr "Position"
-#: order/models.py:979
+#: order/models.py:988
msgid "Select stock item to allocate"
msgstr "BestandsObjekt für Zuordnung auswählen"
-#: order/models.py:982
+#: order/models.py:991
msgid "Enter stock allocation quantity"
msgstr "Anzahl für Bestandszuordnung eingeben"
@@ -3300,7 +3207,7 @@ msgstr "Position"
msgid "Line item does not match purchase order"
msgstr "Position stimmt nicht mit Kaufauftrag überein"
-#: order/serializers.py:218 order/serializers.py:285
+#: order/serializers.py:218 order/serializers.py:286
msgid "Select destination location for received items"
msgstr "Zielort für empfangene Teile auswählen"
@@ -3312,72 +3219,76 @@ msgstr "Barcode-Hash"
msgid "Unique identifier field"
msgstr "Einzigartiger Identifikator"
-#: order/serializers.py:259
+#: order/serializers.py:260
msgid "Barcode is already in use"
msgstr "Barcode ist bereits in Verwendung"
-#: order/serializers.py:297
+#: order/serializers.py:298
msgid "Line items must be provided"
msgstr "Positionen müssen angegeben werden"
-#: order/serializers.py:314
+#: order/serializers.py:315
msgid "Destination location must be specified"
msgstr "Ziel-Lagerort muss angegeben werden"
-#: order/serializers.py:325
+#: order/serializers.py:326
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:569
+#: order/serializers.py:568
msgid "Sale price currency"
msgstr "Verkaufspreis-Währung"
#: order/templates/order/delete_attachment.html:5
#: stock/templates/stock/attachment_delete.html:5
-#: templates/attachment_delete.html:5
msgid "Are you sure you want to delete this attachment?"
msgstr "Sind Sie sicher, dass Sie diesen Anhang löschen wollen?"
-#: order/templates/order/order_base.html:39
-#: order/templates/order/sales_order_base.html:50
-msgid "Print"
-msgstr "Drucken"
+#: order/templates/order/order_base.html:33
+#, fuzzy
+#| msgid "Print Order Reports"
+msgid "Print purchase order report"
+msgstr "Berichte drucken"
-#: order/templates/order/order_base.html:42
-#: order/templates/order/sales_order_base.html:53
+#: order/templates/order/order_base.html:35
+#: order/templates/order/sales_order_base.html:45
msgid "Export order to file"
msgstr "Exportiere Bestellung in Datei"
-#: order/templates/order/order_base.html:46
-#: order/templates/order/sales_order_base.html:57
-msgid "Edit order information"
-msgstr "Bestellung bearbeiten"
+#: order/templates/order/order_base.html:41
+#: order/templates/order/sales_order_base.html:54
+#, fuzzy
+#| msgid "Barcode actions"
+msgid "Order actions"
+msgstr "Barcode Aktionen"
-#: order/templates/order/order_base.html:54
+#: order/templates/order/order_base.html:45
+#: order/templates/order/sales_order_base.html:58
+#, fuzzy
+#| msgid "Ship order"
+msgid "Edit order"
+msgstr "Bestellung versenden"
+
+#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr "Elemente empfangen"
-#: order/templates/order/order_base.html:72
-#: order/templates/order/po_navbar.html:12
-msgid "Purchase Order Details"
-msgstr "Bestellungs-Details"
-
-#: order/templates/order/order_base.html:77
-#: order/templates/order/sales_order_base.html:84
+#: order/templates/order/order_base.html:93
+#: order/templates/order/sales_order_base.html:98
msgid "Order Reference"
msgstr "Bestellreferenz"
-#: order/templates/order/order_base.html:82
-#: order/templates/order/sales_order_base.html:89
+#: order/templates/order/order_base.html:98
+#: order/templates/order/sales_order_base.html:103
msgid "Order Status"
msgstr "Bestellstatus"
-#: order/templates/order/order_base.html:117
+#: order/templates/order/order_base.html:133
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr "Aufgegeben"
-#: order/templates/order/order_base.html:185
+#: order/templates/order/order_base.html:203
msgid "Edit Purchase Order"
msgstr "Bestellung bearbeiten"
@@ -3453,7 +3364,8 @@ msgstr "Auswahl duplizieren"
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/build.js:869 templates/js/translated/order.js:376
+#: templates/js/translated/build.js:240 templates/js/translated/build.js:1251
+#: templates/js/translated/order.js:377
msgid "Remove row"
msgstr "Zeile entfernen"
@@ -3475,19 +3387,19 @@ msgstr "Zeile"
msgid "Select Supplier Part"
msgstr "Zulieferer-Teil auswählen"
-#: order/templates/order/order_wizard/po_upload.html:11
+#: order/templates/order/order_wizard/po_upload.html:16
msgid "Upload File for Purchase Order"
msgstr "Datei zur Bestellung hochladen"
-#: order/templates/order/order_wizard/po_upload.html:18
-#: part/templates/part/bom_upload/upload_file.html:34
+#: order/templates/order/order_wizard/po_upload.html:24
+#: part/templates/part/bom_upload/upload_file.html:20
#: part/templates/part/import_wizard/ajax_part_upload.html:10
-#: part/templates/part/import_wizard/part_upload.html:21
+#: part/templates/part/import_wizard/part_upload.html:22
#, python-format
msgid "Step %(step)s of %(count)s"
msgstr "Schritt %(step)s von %(count)s"
-#: order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/order_wizard/po_upload.html:54
msgid "Order is already processed. Files cannot be uploaded."
msgstr "Bestellung ist bereits verarbeitet. Dateien können nicht hochgeladen werden."
@@ -3530,7 +3442,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr "Bestellungen auswählen oder anlegen."
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084
+#: templates/js/translated/order.js:695 templates/js/translated/order.js:1097
msgid "Items"
msgstr "Positionen"
@@ -3548,30 +3460,14 @@ msgstr "Neue Bestellung für %(name)s anlegen"
msgid "Select a purchase order for %(name)s"
msgstr "Bestellung für %(name)s auswählen"
-#: order/templates/order/po_attachments.html:12
-#: order/templates/order/po_navbar.html:32
-#: order/templates/order/purchase_order_detail.html:56
-msgid "Purchase Order Attachments"
-msgstr "Bestellungs-Anhänge"
-
-#: order/templates/order/po_navbar.html:26
-msgid "Received Stock Items"
-msgstr "BestandsObjekte empfangen"
-
-#: order/templates/order/po_navbar.html:29
-#: order/templates/order/po_received_items.html:12
-#: order/templates/order/purchase_order_detail.html:47
-msgid "Received Items"
-msgstr "Empfangene Teile"
-
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr "Bestellungs-Positionen"
-#: order/templates/order/purchase_order_detail.html:24
-#: order/templates/order/purchase_order_detail.html:212
+#: order/templates/order/purchase_order_detail.html:27
+#: order/templates/order/purchase_order_detail.html:216
#: order/templates/order/sales_order_detail.html:23
-#: order/templates/order/sales_order_detail.html:177
+#: order/templates/order/sales_order_detail.html:191
msgid "Add Line Item"
msgstr "Position hinzufügen"
@@ -3583,34 +3479,47 @@ msgstr "Ausgewählte Positionen erhalten"
msgid "Receive Items"
msgstr "Teile empfangen"
-#: order/templates/order/purchase_order_detail.html:67
-#: order/templates/order/sales_order_detail.html:54
+#: order/templates/order/purchase_order_detail.html:50
+msgid "Received Items"
+msgstr "Empfangene Teile"
+
+#: order/templates/order/purchase_order_detail.html:76
+#: order/templates/order/sales_order_detail.html:68
msgid "Order Notes"
msgstr "Notizen zur Bestellung"
-#: order/templates/order/purchase_orders.html:24
-#: order/templates/order/sales_orders.html:24
+#: order/templates/order/purchase_orders.html:30
+#: order/templates/order/sales_orders.html:33
msgid "Print Order Reports"
msgstr "Berichte drucken"
-#: order/templates/order/sales_order_base.html:16
+#: order/templates/order/sales_order_base.html:43
+#, fuzzy
+#| msgid "Print Order Reports"
+msgid "Print sales order report"
+msgstr "Berichte drucken"
+
+#: order/templates/order/sales_order_base.html:47
+#, fuzzy
+#| msgid "Packing List"
+msgid "Print packing list"
+msgstr "Packliste"
+
+#: order/templates/order/sales_order_base.html:66
+#: order/templates/order/sales_order_base.html:67 order/views.py:222
+msgid "Ship Order"
+msgstr "Versenden"
+
+#: order/templates/order/sales_order_base.html:86
msgid "This Sales Order has not been fully allocated"
msgstr "Dieser Auftrag ist nicht vollständig zugeordnet"
-#: order/templates/order/sales_order_base.html:70
-msgid "Packing List"
-msgstr "Packliste"
-
-#: order/templates/order/sales_order_base.html:79
-msgid "Sales Order Details"
-msgstr "Auftragsdetails"
-
-#: order/templates/order/sales_order_base.html:105
-#: templates/js/translated/order.js:1051
+#: order/templates/order/sales_order_base.html:121
+#: templates/js/translated/order.js:1064
msgid "Customer Reference"
msgstr "Kundenreferenz"
-#: order/templates/order/sales_order_base.html:183
+#: order/templates/order/sales_order_base.html:194
msgid "Edit Sales Order"
msgstr "Auftrag bearbeiten"
@@ -3625,7 +3534,7 @@ msgstr "Warnung"
msgid "Cancelling this order means that the order will no longer be editable."
msgstr "Abbruch dieser Bestellung bedeutet, dass sie nicht länger bearbeitbar ist."
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr "Auftrags-Positionen"
@@ -3653,18 +3562,6 @@ msgstr "Versenden dieses Auftrags bedeutet, dass der Auftrag nicht mehr bearbeit
msgid "Allocate stock items by serial number"
msgstr "Teilebestand per Seriennummer zuweisen"
-#: order/templates/order/so_navbar.html:12
-msgid "Sales Order Line Items"
-msgstr "Auftragspositionen"
-
-#: order/templates/order/so_navbar.html:15
-msgid "Order Items"
-msgstr "Auftragspositionen"
-
-#: order/templates/order/so_navbar.html:26
-msgid "Sales Order Attachments"
-msgstr "Auftrags-Anhänge"
-
#: order/views.py:103
msgid "Cancel Order"
msgstr "Bestellung stornieren"
@@ -3705,10 +3602,6 @@ msgstr "Fertigstellung bestätigen"
msgid "Purchase order completed"
msgstr "Bestellung als vollständig markieren"
-#: order/views.py:222
-msgid "Ship Order"
-msgstr "Versenden"
-
#: order/views.py:238
msgid "Confirm order shipment"
msgstr "Versand bestätigen"
@@ -3776,40 +3669,28 @@ msgstr "Stückpreis für {part} auf {price} aktualisiert"
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr "{part} Stückpreis auf {price} und Menge auf {qty} aktualisiert"
-#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7
-#: part/templates/part/category.html:108 part/templates/part/category.html:122
-#: part/templates/part/category_navbar.html:21
-#: part/templates/part/category_navbar.html:24
-#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97
-#: templates/js/translated/part.js:1165 templates/navbar.html:29
-#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
-msgid "Parts"
-msgstr "Teile"
-
-#: part/api.py:700
+#: part/api.py:731
msgid "Must be greater than zero"
msgstr "Muss größer als 0 sein"
-#: part/api.py:704
+#: part/api.py:735
msgid "Must be a valid quantity"
msgstr "Muss eine gültige Nummer sein"
-#: part/api.py:719
+#: part/api.py:750
msgid "Specify location for initial part stock"
msgstr "Standort für anfänglichen Bestand angeben"
-#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773
+#: part/api.py:781 part/api.py:785 part/api.py:800 part/api.py:804
msgid "This field is required"
msgstr "Dieses Feld ist erforderlich"
-#: part/bom.py:133 part/models.py:76 part/models.py:734
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:290
+#: part/bom.py:125 part/models.py:81 part/models.py:816
+#: part/templates/part/category.html:90 part/templates/part/detail.html:104
msgid "Default Location"
msgstr "Standard-Lagerort"
-#: part/bom.py:134 part/templates/part/part_base.html:156
+#: part/bom.py:126 part/templates/part/part_base.html:167
msgid "Available Stock"
msgstr "Verfügbarer Lagerbestand"
@@ -3869,7 +3750,7 @@ msgstr "Zulieferer einschließen"
msgid "Include part supplier data in exported BOM"
msgstr "Zulieferer-Daten in Stückliste-Export einschließen"
-#: part/forms.py:96 part/models.py:2254
+#: part/forms.py:96 part/models.py:2427
msgid "Parent Part"
msgstr "Ausgangsteil"
@@ -3901,456 +3782,471 @@ msgstr "verknüpftes Teil"
msgid "Select part category"
msgstr "Teil-Kategorie wählen"
-#: part/forms.py:226
+#: part/forms.py:214
msgid "Add parameter template to same level categories"
msgstr "Parameter-Vorlage zu Kategorien dieser Ebene hinzufügen"
-#: part/forms.py:230
+#: part/forms.py:218
msgid "Add parameter template to all categories"
msgstr "Parameter-Vorlage zu allen Kategorien hinzufügen"
-#: part/forms.py:250
+#: part/forms.py:238
msgid "Input quantity for price calculation"
msgstr "Menge für die Preisberechnung"
-#: part/models.py:77
+#: part/models.py:82
msgid "Default location for parts in this category"
msgstr "Standard-Lagerort für Teile dieser Kategorie"
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords"
msgstr "Standard Stichwörter"
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords for parts in this category"
msgstr "Standard-Stichworte für Teile dieser Kategorie"
-#: part/models.py:90 part/models.py:2300
+#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Teil-Kategorie"
-#: part/models.py:91 part/templates/part/category.html:32
-#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
-#: templates/stats.html:84 users/models.py:40
+#: part/models.py:96 part/templates/part/category.html:117
+#: templates/InvenTree/search.html:101 templates/stats.html:84
+#: users/models.py:40
msgid "Part Categories"
msgstr "Teil-Kategorien"
-#: part/models.py:384
+#: part/models.py:358 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:13 part/templates/part/category.html:122
+#: part/templates/part/category.html:142 templates/InvenTree/index.html:85
+#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304
+#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89
+#: users/models.py:41
+msgid "Parts"
+msgstr "Teile"
+
+#: part/models.py:450
msgid "Invalid choice for parent part"
msgstr "Ungültige Auswahl für übergeordnetes Teil"
-#: part/models.py:436 part/models.py:448
+#: part/models.py:502 part/models.py:514
#, python-brace-format
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:545
+#: part/models.py:611
msgid "Next available serial numbers are"
msgstr "Nächste verfügbare Seriennummern wären"
-#: part/models.py:549
+#: part/models.py:615
msgid "Next available serial number is"
msgstr "Nächste verfügbare Seriennummer ist"
-#: part/models.py:554
+#: part/models.py:620
msgid "Most recent serial number is"
msgstr "Die neuste Seriennummer ist"
-#: part/models.py:633
+#: part/models.py:715
msgid "Duplicate IPN not allowed in part settings"
msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt"
-#: part/models.py:658
+#: part/models.py:740
msgid "Part name"
msgstr "Name des Teils"
-#: part/models.py:665
+#: part/models.py:747
msgid "Is Template"
msgstr "Ist eine Vorlage"
-#: part/models.py:666
+#: part/models.py:748
msgid "Is this part a template part?"
msgstr "Ist dieses Teil eine Vorlage?"
-#: part/models.py:676
+#: part/models.py:758
msgid "Is this part a variant of another part?"
msgstr "Ist dieses Teil eine Variante eines anderen Teils?"
-#: part/models.py:677
+#: part/models.py:759
msgid "Variant Of"
msgstr "Variante von"
-#: part/models.py:683
+#: part/models.py:765
msgid "Part description"
msgstr "Beschreibung des Teils"
-#: part/models.py:688 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:259
+#: part/models.py:770 part/templates/part/category.html:97
+#: part/templates/part/detail.html:73
msgid "Keywords"
msgstr "Schlüsselwörter"
-#: part/models.py:689
+#: part/models.py:771
msgid "Part keywords to improve visibility in search results"
msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern"
-#: part/models.py:696 part/models.py:2299
-#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:169
-#: templates/js/translated/part.js:927
+#: part/models.py:778 part/models.py:2223 part/models.py:2472
+#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15
+#: templates/InvenTree/settings/settings.html:163
+#: templates/js/translated/part.js:928
msgid "Category"
msgstr "Kategorie"
-#: part/models.py:697
+#: part/models.py:779
msgid "Part category"
msgstr "Teile-Kategorie"
-#: part/models.py:702 part/templates/part/part_base.html:235
-#: templates/js/translated/part.js:528 templates/js/translated/part.js:760
+#: part/models.py:784 part/templates/part/detail.html:45
+#: templates/js/translated/part.js:549
msgid "IPN"
msgstr "IPN (Interne Produktnummer)"
-#: part/models.py:703
+#: part/models.py:785
msgid "Internal Part Number"
msgstr "Interne Teilenummer"
-#: part/models.py:709
+#: part/models.py:791
msgid "Part revision or version number"
msgstr "Revisions- oder Versionsnummer"
-#: part/models.py:710 part/templates/part/part_base.html:252
-#: report/models.py:200 templates/js/translated/part.js:532
+#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200
+#: templates/js/translated/part.js:553
msgid "Revision"
msgstr "Revision"
-#: part/models.py:732
+#: part/models.py:814
msgid "Where is this item normally stored?"
msgstr "Wo wird dieses Teil normalerweise gelagert?"
-#: part/models.py:779 part/templates/part/part_base.html:297
+#: part/models.py:861 part/templates/part/detail.html:113
msgid "Default Supplier"
msgstr "Standard Zulieferer"
-#: part/models.py:780
+#: part/models.py:862
msgid "Default supplier part"
msgstr "Standard Zuliefererteil"
-#: part/models.py:787
+#: part/models.py:869
msgid "Default Expiry"
msgstr "Standard Ablaufzeit"
-#: part/models.py:788
+#: part/models.py:870
msgid "Expiry time (in days) for stock items of this part"
msgstr "Ablauf-Zeit (in Tagen) für Lagerbestand dieses Teils"
-#: part/models.py:793
+#: part/models.py:875 part/templates/part/part_base.html:178
msgid "Minimum Stock"
msgstr "Minimaler Lagerbestand"
-#: part/models.py:794
+#: part/models.py:876
msgid "Minimum allowed stock level"
msgstr "Minimal zulässiger Lagerbestand"
-#: part/models.py:801
+#: part/models.py:883
msgid "Stock keeping units for this part"
msgstr "Stock Keeping Units (SKU) für dieses Teil"
-#: part/models.py:807
+#: part/models.py:889
msgid "Can this part be built from other parts?"
msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?"
-#: part/models.py:813
+#: part/models.py:895
msgid "Can this part be used to build other parts?"
msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?"
-#: part/models.py:819
+#: part/models.py:901
msgid "Does this part have tracking for unique items?"
msgstr "Hat dieses Teil Tracking für einzelne Objekte?"
-#: part/models.py:824
+#: part/models.py:906
msgid "Can this part be purchased from external suppliers?"
msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?"
-#: part/models.py:829
+#: part/models.py:911
msgid "Can this part be sold to customers?"
msgstr "Kann dieses Teil an Kunden verkauft werden?"
-#: part/models.py:833 templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:82
-#: templates/js/translated/table_filters.js:268
-#: templates/js/translated/table_filters.js:346
+#: part/models.py:915 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:362
msgid "Active"
msgstr "Aktiv"
-#: part/models.py:834
+#: part/models.py:916
msgid "Is this part active?"
msgstr "Ist dieses Teil aktiv?"
-#: part/models.py:839
+#: part/models.py:921
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:844
+#: part/models.py:926
msgid "Part notes - supports Markdown formatting"
msgstr "Bemerkungen - unterstüzt Markdown-Formatierung"
-#: part/models.py:847
+#: part/models.py:929
msgid "BOM checksum"
msgstr "Prüfsumme der Stückliste"
-#: part/models.py:847
+#: part/models.py:929
msgid "Stored BOM checksum"
msgstr "Prüfsumme der Stückliste gespeichert"
-#: part/models.py:850
+#: part/models.py:932
msgid "BOM checked by"
msgstr "Stückliste kontrolliert von"
-#: part/models.py:852
+#: part/models.py:934
msgid "BOM checked date"
msgstr "BOM Kontrolldatum"
-#: part/models.py:856
+#: part/models.py:938
msgid "Creation User"
msgstr "Erstellungs-Nutzer"
-#: part/models.py:1605
+#: part/models.py:1750
msgid "Sell multiple"
msgstr "Mehrere verkaufen"
-#: part/models.py:2100
+#: part/models.py:2273
msgid "Test templates can only be created for trackable parts"
msgstr "Test-Vorlagen können nur für verfolgbare Teile angelegt werden"
-#: part/models.py:2117
+#: part/models.py:2290
msgid "Test with this name already exists for this part"
msgstr "Ein Test mit diesem Namen besteht bereits für dieses Teil"
-#: part/models.py:2137 templates/js/translated/part.js:1216
-#: templates/js/translated/stock.js:535
+#: part/models.py:2310 templates/js/translated/part.js:1355
+#: templates/js/translated/stock.js:828
msgid "Test Name"
msgstr "Test-Name"
-#: part/models.py:2138
+#: part/models.py:2311
msgid "Enter a name for the test"
msgstr "Namen für diesen Test eingeben"
-#: part/models.py:2143
+#: part/models.py:2316
msgid "Test Description"
msgstr "Test-Beschreibung"
-#: part/models.py:2144
+#: part/models.py:2317
msgid "Enter description for this test"
msgstr "Beschreibung für diesen Test eingeben"
-#: part/models.py:2149 templates/js/translated/part.js:1225
-#: templates/js/translated/table_filters.js:254
+#: part/models.py:2322 templates/js/translated/part.js:1364
+#: templates/js/translated/table_filters.js:270
msgid "Required"
msgstr "Benötigt"
-#: part/models.py:2150
+#: part/models.py:2323
msgid "Is this test required to pass?"
msgstr "Muss dieser Test erfolgreich sein?"
-#: part/models.py:2155 templates/js/translated/part.js:1233
+#: part/models.py:2328 templates/js/translated/part.js:1372
msgid "Requires Value"
msgstr "Erfordert Wert"
-#: part/models.py:2156
+#: part/models.py:2329
msgid "Does this test require a value when adding a test result?"
msgstr "Muss für diesen Test ein Wert für das Test-Ergebnis eingetragen werden?"
-#: part/models.py:2161 templates/js/translated/part.js:1240
+#: part/models.py:2334 templates/js/translated/part.js:1379
msgid "Requires Attachment"
msgstr "Anhang muss eingegeben werden"
-#: part/models.py:2162
+#: part/models.py:2335
msgid "Does this test require a file attachment when adding a test result?"
msgstr "Muss für diesen Test ein Anhang für das Test-Ergebnis hinzugefügt werden?"
-#: part/models.py:2173
+#: part/models.py:2346
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr "Ungültiges Zeichen im Vorlagename ({c})"
-#: part/models.py:2209
+#: part/models.py:2382
msgid "Parameter template name must be unique"
msgstr "Vorlagen-Name des Parameters muss eindeutig sein"
-#: part/models.py:2217
+#: part/models.py:2390
msgid "Parameter Name"
msgstr "Name des Parameters"
-#: part/models.py:2224
+#: part/models.py:2397
msgid "Parameter Units"
msgstr "Einheit des Parameters"
-#: part/models.py:2256 part/models.py:2305 part/models.py:2306
-#: templates/InvenTree/settings/settings.html:164
+#: part/models.py:2429 part/models.py:2478 part/models.py:2479
+#: templates/InvenTree/settings/settings.html:158
msgid "Parameter Template"
msgstr "Parameter Vorlage"
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Data"
msgstr "Wert"
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Parameter Value"
msgstr "Parameter Wert"
-#: part/models.py:2310 templates/InvenTree/settings/settings.html:173
+#: part/models.py:2483 templates/InvenTree/settings/settings.html:167
msgid "Default Value"
msgstr "Standard-Wert"
-#: part/models.py:2311
+#: part/models.py:2484
msgid "Default Parameter Value"
msgstr "Standard Parameter Wert"
-#: part/models.py:2362
+#: part/models.py:2561
msgid "Select parent part"
msgstr "Ausgangsteil auswählen"
-#: part/models.py:2370
+#: part/models.py:2569
msgid "Sub part"
msgstr "Untergeordnetes Teil"
-#: part/models.py:2371
+#: part/models.py:2570
msgid "Select part to be used in BOM"
msgstr "Teil für die Nutzung in der Stückliste auswählen"
-#: part/models.py:2377
+#: part/models.py:2576
msgid "BOM quantity for this BOM item"
msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil"
-#: part/models.py:2379 templates/js/translated/bom.js:275
-#: templates/js/translated/bom.js:335
+#: part/models.py:2578 templates/js/translated/bom.js:452
+#: templates/js/translated/bom.js:526
+#: templates/js/translated/table_filters.js:86
msgid "Optional"
msgstr "Optional"
-#: part/models.py:2379
+#: part/models.py:2578
msgid "This BOM item is optional"
msgstr "Diese Stücklisten-Position ist optional"
-#: part/models.py:2382
+#: part/models.py:2581
msgid "Overage"
msgstr "Überschuss"
-#: part/models.py:2383
+#: part/models.py:2582
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr "Geschätzter Ausschuss (absolut oder prozentual)"
-#: part/models.py:2386
+#: part/models.py:2585
msgid "BOM item reference"
msgstr "Referenz der Postion auf der Stückliste"
-#: part/models.py:2389
+#: part/models.py:2588
msgid "BOM item notes"
msgstr "Notizen zur Stücklisten-Position"
-#: part/models.py:2391
+#: part/models.py:2590
msgid "Checksum"
msgstr "Prüfsumme"
-#: part/models.py:2391
+#: part/models.py:2590
msgid "BOM line checksum"
msgstr "Prüfsumme der Stückliste"
-#: part/models.py:2395 templates/js/translated/bom.js:352
-#: templates/js/translated/bom.js:359
+#: part/models.py:2594 templates/js/translated/bom.js:543
+#: templates/js/translated/bom.js:550
#: templates/js/translated/table_filters.js:68
+#: templates/js/translated/table_filters.js:82
msgid "Inherited"
msgstr "Geerbt"
-#: part/models.py:2396
+#: part/models.py:2595
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Diese Stücklisten-Position wird in die Stücklisten von Teil-Varianten vererbt"
-#: part/models.py:2401 templates/js/translated/bom.js:344
+#: part/models.py:2600 templates/js/translated/bom.js:535
msgid "Allow Variants"
msgstr "Varianten zulassen"
-#: part/models.py:2402
+#: part/models.py:2601
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Lagerbestand von Varianten kann für diese Stücklisten-Position verwendet werden"
-#: part/models.py:2487 stock/models.py:341
+#: part/models.py:2686 stock/models.py:371
msgid "Quantity must be integer value for trackable parts"
msgstr "Menge muss eine Ganzzahl sein"
-#: part/models.py:2496 part/models.py:2498
+#: part/models.py:2695 part/models.py:2697
msgid "Sub part must be specified"
msgstr "Zuliefererteil muss festgelegt sein"
-#: part/models.py:2620
+#: part/models.py:2826
+#, fuzzy
+#| msgid "BOM item notes"
+msgid "BOM Item Substitute"
+msgstr "Notizen zur Stücklisten-Position"
+
+#: part/models.py:2848
+msgid "Substitute part cannot be the same as the master part"
+msgstr ""
+
+#: part/models.py:2860
+#, fuzzy
+#| msgid "Parent Item"
+msgid "Parent BOM item"
+msgstr "Elternposition"
+
+#: part/models.py:2868
+#, fuzzy
+#| msgid "Sub part"
+msgid "Substitute part"
+msgstr "Untergeordnetes Teil"
+
+#: part/models.py:2879
msgid "Part 1"
msgstr "Teil 1"
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Part 2"
msgstr "Teil 2"
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Select Related Part"
msgstr "verknüpftes Teil auswählen"
-#: part/models.py:2656
+#: part/models.py:2915
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr "Fehler bei Verwandschaft: Ist das Teil mit sich selbst verwandt oder ist das die Verwandtschaft nicht eindeutig?"
+#: part/tasks.py:53
+#, fuzzy
+#| msgid "No stock location set"
+msgid "Low stock notification"
+msgstr "Kein Lagerort gesetzt"
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr "Sie haben keine Berechtigung zum Bearbeiten der Stückliste."
-#: part/templates/part/bom.html:14
+#: part/templates/part/bom.html:15
#, python-format
msgid "The BOM for %(part)s has changed, and must be validated.
"
msgstr "Die Stückliste für %(part)s hat sich geändert und muss kontrolliert werden.
"
-#: part/templates/part/bom.html:16
+#: part/templates/part/bom.html:17
#, python-format
msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s"
msgstr "Die Stückliste für %(part)s wurde zuletzt von %(checker)s am %(check_date)s kontrolliert"
-#: part/templates/part/bom.html:20
+#: part/templates/part/bom.html:21
#, python-format
msgid "The BOM for %(part)s has not been validated."
msgstr "Die Stückliste für %(part)s wurde noch nicht kontrolliert."
-#: part/templates/part/bom.html:27
-msgid "Remove selected BOM items"
-msgstr "Ausgewählte Stücklistenpositionen entfernen"
-
-#: part/templates/part/bom.html:30
-msgid "Import BOM data"
-msgstr "Stückliste importieren"
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:383
+#, fuzzy
+#| msgid "Build actions"
+msgid "BOM actions"
+msgstr "Bau-Auftrag Aktionen"
#: part/templates/part/bom.html:34
-msgid "Copy BOM from parent part"
-msgstr "Stückliste von übergeordnetem Teil kopieren"
-
-#: part/templates/part/bom.html:38
-msgid "New BOM Item"
-msgstr "Neue Stücklisten-Position"
-
-#: part/templates/part/bom.html:41
-msgid "Finish Editing"
-msgstr "Bearbeitung beenden"
-
-#: part/templates/part/bom.html:46
-msgid "Edit BOM"
-msgstr "Stückliste bearbeiten"
-
-#: part/templates/part/bom.html:50
-msgid "Validate Bill of Materials"
-msgstr "Stückliste kontrollieren"
-
-#: part/templates/part/bom.html:56 part/views.py:1220
-msgid "Export Bill of Materials"
-msgstr "Stückliste exportieren"
-
-#: part/templates/part/bom.html:59
-msgid "Print BOM Report"
-msgstr "Stücklisten-Bericht drucken"
+#, fuzzy
+#| msgid "Delete Item"
+msgid "Delete Items"
+msgstr "Element löschen"
#: part/templates/part/bom_duplicate.html:13
msgid "This part already has a Bill of Materials"
@@ -4360,28 +4256,23 @@ msgstr "Dieses Teil hat bereits eine Stückliste"
msgid "Select Part"
msgstr "Teil auswählen"
-#: part/templates/part/bom_upload/upload_file.html:13
-#: part/templates/part/bom_upload/upload_file.html:16
-msgid "Return To BOM"
-msgstr "Zurück zur Stückliste"
-
-#: part/templates/part/bom_upload/upload_file.html:27
+#: part/templates/part/bom_upload/upload_file.html:12
msgid "Upload Bill of Materials"
msgstr "Stückliste hochladen"
-#: part/templates/part/bom_upload/upload_file.html:46
+#: part/templates/part/bom_upload/upload_file.html:32
msgid "Requirements for BOM upload"
msgstr "Anforderungen für Stückliste-Datei"
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "The BOM file must contain the required named columns as provided in the "
msgstr "Die Stückliste-Datei muss die aufgeführten Spalten enthalten; siehe"
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "BOM Upload Template"
msgstr "Vorlage für Stückliste"
-#: part/templates/part/bom_upload/upload_file.html:49
+#: part/templates/part/bom_upload/upload_file.html:35
msgid "Each part must already exist in the database"
msgstr "Jedes Teil muss bereits in der Datenbank bestehen"
@@ -4394,93 +4285,121 @@ msgstr "Bestätigen Sie das die Stückliste für
%(part)s korrekt i
msgid "This will validate each line in the BOM."
msgstr "Damit wird jede Zeile der Stückliste kontrolliert"
-#: part/templates/part/category.html:33
-msgid "All parts"
-msgstr "Alle Teile"
+#: part/templates/part/category.html:24 part/templates/part/category.html:28
+#, fuzzy
+#| msgid "Default location for parts in this category"
+msgid "You are subscribed to notifications for this category"
+msgstr "Standard-Lagerort für Teile dieser Kategorie"
+
+#: part/templates/part/category.html:32
+#, fuzzy
+#| msgid "Default location for parts in this category"
+msgid "Subscribe to notifications for this category"
+msgstr "Standard-Lagerort für Teile dieser Kategorie"
#: part/templates/part/category.html:38
+#, fuzzy
+#| msgid "Category Settings"
+msgid "Category Actions"
+msgstr "Kategorie-Einstellungen"
+
+#: part/templates/part/category.html:43
+#, fuzzy
+#| msgid "Edit part category"
+msgid "Edit category"
+msgstr "Teil-Kategorie bearbeiten"
+
+#: part/templates/part/category.html:44
+#, fuzzy
+#| msgid "Edit Part Category"
+msgid "Edit Category"
+msgstr "Teil-Kategorie bearbeiten"
+
+#: part/templates/part/category.html:48
+#, fuzzy
+#| msgid "Delete part category"
+msgid "Delete category"
+msgstr "Teil-Kategorie löschen"
+
+#: part/templates/part/category.html:49
+#, fuzzy
+#| msgid "Select Category"
+msgid "Delete Category"
+msgstr "Kategorie auswählen"
+
+#: part/templates/part/category.html:57
msgid "Create new part category"
msgstr "Teil-Kategorie anlegen"
-#: part/templates/part/category.html:44
-msgid "Edit part category"
-msgstr "Teil-Kategorie bearbeiten"
+#: part/templates/part/category.html:58
+#, fuzzy
+#| msgid "Set Category"
+msgid "New Category"
+msgstr "Teil-Kategorie auswählen"
-#: part/templates/part/category.html:49
-msgid "Delete part category"
-msgstr "Teil-Kategorie löschen"
+#: part/templates/part/category.html:67
+#, fuzzy
+#| msgid "top level Parts category"
+msgid "Top level part category"
+msgstr "oberste Teil-Kategorie"
-#: part/templates/part/category.html:59 part/templates/part/category.html:98
-msgid "Category Details"
-msgstr "Kategorie-Details"
-
-#: part/templates/part/category.html:64
+#: part/templates/part/category.html:79
msgid "Category Path"
msgstr "Pfad zur Kategorie"
-#: part/templates/part/category.html:69
+#: part/templates/part/category.html:84
msgid "Category Description"
msgstr "Kategorie-Beschreibung"
-#: part/templates/part/category.html:88 part/templates/part/category.html:175
-#: part/templates/part/category_navbar.html:14
-#: part/templates/part/category_navbar.html:17
+#: part/templates/part/category.html:103 part/templates/part/category.html:194
msgid "Subcategories"
msgstr "Unter-Kategorien"
-#: part/templates/part/category.html:93
+#: part/templates/part/category.html:108
msgid "Parts (Including subcategories)"
msgstr "Teile (inklusive Unter-Kategorien)"
-#: part/templates/part/category.html:126
+#: part/templates/part/category.html:145
msgid "Export Part Data"
msgstr "Teile-Daten exportieren"
-#: part/templates/part/category.html:127 part/templates/part/category.html:142
+#: part/templates/part/category.html:146 part/templates/part/category.html:170
msgid "Export"
msgstr "Exportieren"
-#: part/templates/part/category.html:130
+#: part/templates/part/category.html:149
msgid "Create new part"
msgstr "Neues Teil anlegen"
-#: part/templates/part/category.html:131 templates/js/translated/bom.js:39
+#: part/templates/part/category.html:150 templates/js/translated/bom.js:40
msgid "New Part"
msgstr "Neues Teil"
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set category"
msgstr "Teil-Kategorie auswählen"
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set Category"
msgstr "Teil-Kategorie auswählen"
-#: part/templates/part/category.html:141
+#: part/templates/part/category.html:168
msgid "Print Labels"
msgstr "Label drucken"
-#: part/templates/part/category.html:142
+#: part/templates/part/category.html:170
msgid "Export Data"
msgstr "Exportieren"
-#: part/templates/part/category.html:146
-msgid "View list display"
-msgstr "Listenansicht anzeigen"
-
-#: part/templates/part/category.html:149
-msgid "View grid display"
-msgstr "Rasteransicht anzeigen"
-
-#: part/templates/part/category.html:165
+#: part/templates/part/category.html:184
msgid "Part Parameters"
msgstr "Teilparameter"
-#: part/templates/part/category.html:254
+#: part/templates/part/category.html:261
msgid "Create Part Category"
msgstr "Teil-Kategorie hinzufügen"
-#: part/templates/part/category.html:281
+#: part/templates/part/category.html:288
msgid "Create Part"
msgstr "Teil hinzufügen"
@@ -4519,12 +4438,7 @@ msgstr "Wenn diese Kat. gelöscht wird, werden diese Teile in die übergeordnete
msgid "If this category is deleted, these parts will be moved to the top-level category Teile"
msgstr "Wenn diese Kat. gelöscht wird, werden diese Teile in die oberste Kat. verschoben"
-#: part/templates/part/category_navbar.html:29
-#: part/templates/part/category_navbar.html:32
-msgid "Import Parts"
-msgstr "Teile importieren"
-
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365
msgid "Duplicate Part"
msgstr "Teil duplizieren"
@@ -4549,311 +4463,329 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)"
msgstr "%(full_name)s - %(desc)s (%(match_per)s%% übereinstimmend)"
#: part/templates/part/detail.html:16
+#, fuzzy
+#| msgid "Show Part Details"
+msgid "Part Details"
+msgstr "Teildetails anzeigen"
+
+#: part/templates/part/detail.html:66
+#, fuzzy
+#| msgid "Minimum allowed stock level"
+msgid "Minimum stock level"
+msgstr "Minimal zulässiger Lagerbestand"
+
+#: part/templates/part/detail.html:97
+msgid "Latest Serial Number"
+msgstr "letzte Seriennummer"
+
+#: part/templates/part/detail.html:124
msgid "Part Stock"
msgstr "Teilbestand"
-#: part/templates/part/detail.html:21
+#: part/templates/part/detail.html:136
#, python-format
msgid "Showing stock for all variants of %(full_name)s"
msgstr "Lagerbestand aller Varianten von %(full_name)s"
-#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99
+#: part/templates/part/detail.html:146
msgid "Part Test Templates"
msgstr "Teil Test-Vorlagen"
-#: part/templates/part/detail.html:36
+#: part/templates/part/detail.html:151
msgid "Add Test Template"
msgstr "Test Vorlage hinzufügen"
-#: part/templates/part/detail.html:77
-msgid "New sales order"
-msgstr "Neuer Auftrag"
-
-#: part/templates/part/detail.html:77
-msgid "New Order"
-msgstr "Neue Bestellung"
-
-#: part/templates/part/detail.html:90
+#: part/templates/part/detail.html:208
msgid "Sales Order Allocations"
msgstr "Verkaufsauftragszuweisungen"
-#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27
+#: part/templates/part/detail.html:249
msgid "Part Variants"
msgstr "Teil Varianten"
-#: part/templates/part/detail.html:137
+#: part/templates/part/detail.html:253
msgid "Create new variant"
msgstr "Neue Variante anlegen"
-#: part/templates/part/detail.html:138
+#: part/templates/part/detail.html:254
msgid "New Variant"
msgstr "neue Variante anlegen"
-#: part/templates/part/detail.html:161
+#: part/templates/part/detail.html:281
msgid "Add new parameter"
msgstr "Parameter hinzufügen"
-#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107
-#: part/templates/part/navbar.html:110
+#: part/templates/part/detail.html:315
msgid "Related Parts"
msgstr "Verknüpfte Teile"
-#: part/templates/part/detail.html:188
+#: part/templates/part/detail.html:319 part/templates/part/detail.html:320
msgid "Add Related"
msgstr "Verknüpftes Teil hinzufügen"
-#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43
-#: part/templates/part/navbar.html:46
+#: part/templates/part/detail.html:366
msgid "Bill of Materials"
msgstr "Stückliste"
-#: part/templates/part/detail.html:237
+#: part/templates/part/detail.html:371
+#, fuzzy
+#| msgid "Part actions"
+msgid "Export actions"
+msgstr "Teile Aktionen"
+
+#: part/templates/part/detail.html:375
+#, fuzzy
+#| msgid "Export"
+msgid "Export BOM"
+msgstr "Exportieren"
+
+#: part/templates/part/detail.html:377
+msgid "Print BOM Report"
+msgstr "Stücklisten-Bericht drucken"
+
+#: part/templates/part/detail.html:387
+#, fuzzy
+#| msgid "Upload File"
+msgid "Upload BOM"
+msgstr "Datei hochgeladen"
+
+#: part/templates/part/detail.html:389 templates/js/translated/part.js:266
+msgid "Copy BOM"
+msgstr "Stückliste kopieren"
+
+#: part/templates/part/detail.html:391 part/views.py:820
+msgid "Validate BOM"
+msgstr "Stückliste überprüfen"
+
+#: part/templates/part/detail.html:396
+msgid "New BOM Item"
+msgstr "Neue Stücklisten-Position"
+
+#: part/templates/part/detail.html:397
+#, fuzzy
+#| msgid "Edit BOM Item"
+msgid "Add BOM Item"
+msgstr "Stücklisten-Position bearbeiten"
+
+#: part/templates/part/detail.html:410
msgid "Assemblies"
msgstr "Baugruppen"
-#: part/templates/part/detail.html:253
+#: part/templates/part/detail.html:427
msgid "Part Builds"
msgstr "Gefertigte Teile"
-#: part/templates/part/detail.html:260
-msgid "Start New Build"
-msgstr "Neuen Bauauftrag beginnen"
-
-#: part/templates/part/detail.html:274
+#: part/templates/part/detail.html:452
msgid "Build Order Allocations"
msgstr "Bauauftragszuweisungen"
-#: part/templates/part/detail.html:283
+#: part/templates/part/detail.html:462
msgid "Part Suppliers"
msgstr "Zulieferer"
-#: part/templates/part/detail.html:305
+#: part/templates/part/detail.html:489
msgid "Part Manufacturers"
msgstr "Teil-Hersteller"
-#: part/templates/part/detail.html:317
+#: part/templates/part/detail.html:505
msgid "Delete manufacturer parts"
msgstr "Herstellerteile löschen"
-#: part/templates/part/detail.html:502
+#: part/templates/part/detail.html:686
msgid "Delete selected BOM items?"
msgstr "Ausgewählte Stücklistenpositionen löschen?"
-#: part/templates/part/detail.html:503
+#: part/templates/part/detail.html:687
msgid "All selected BOM items will be deleted"
msgstr "Alle ausgewählte Stücklistenpositionen werden gelöscht"
-#: part/templates/part/detail.html:554
+#: part/templates/part/detail.html:738
msgid "Create BOM Item"
msgstr "Stücklisten-Position anlegen"
-#: part/templates/part/detail.html:699
+#: part/templates/part/detail.html:876
msgid "Add Test Result Template"
msgstr "Testergebnis-Vorlage hinzufügen"
-#: part/templates/part/detail.html:755
+#: part/templates/part/detail.html:933
msgid "Edit Part Notes"
msgstr "Teilenotizen bearbeiten"
-#: part/templates/part/detail.html:907
+#: part/templates/part/detail.html:1085
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr "Stückpreis Einkauf - %(currency)s"
-#: part/templates/part/detail.html:919
+#: part/templates/part/detail.html:1097
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr "Stückpreis Differenz - %(currency)s"
-#: part/templates/part/detail.html:931
+#: part/templates/part/detail.html:1109
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr "Stückpreis Zulieferer - %(currency)s"
-#: part/templates/part/detail.html:1020
+#: part/templates/part/detail.html:1198
#, python-format
msgid "Unit Price - %(currency)s"
msgstr "Stückpreis - %(currency)s"
#: part/templates/part/import_wizard/ajax_part_upload.html:29
-#: part/templates/part/import_wizard/part_upload.html:51
+#: part/templates/part/import_wizard/part_upload.html:52
msgid "Unsuffitient privileges."
msgstr "Unzureichende Benutzerrechte."
-#: part/templates/part/import_wizard/part_upload.html:14
+#: part/templates/part/import_wizard/part_upload.html:15
msgid "Import Parts from File"
msgstr "Teile aus Datei importieren"
-#: part/templates/part/navbar.html:30
-msgid "Variants"
-msgstr "Varianten"
-
-#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62
-msgid "Used In"
-msgstr "Benutzt in"
-
-#: part/templates/part/navbar.html:70
-msgid "Prices"
-msgstr "Preise"
-
-#: part/templates/part/navbar.html:102
-msgid "Test Templates"
-msgstr "Testvorlagen"
-
#: part/templates/part/part_app_base.html:12
msgid "Part List"
msgstr "Teileliste"
+#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31
+msgid "You are subscribed to notifications for this part"
+msgstr ""
+
#: part/templates/part/part_base.html:35
-msgid "Part is a template part (variants can be made from this part)"
-msgstr "Teil ist Vorlage (Varianten können von diesem Teil erstellt werden)"
+#, fuzzy
+#| msgid "Stock keeping units for this part"
+msgid "Subscribe to notifications for this part"
+msgstr "Stock Keeping Units (SKU) für dieses Teil"
-#: part/templates/part/part_base.html:38
-msgid "Part can be assembled from other parts"
-msgstr "Teil kann aus anderen Teilen angefertigt werden"
-
-#: part/templates/part/part_base.html:41
-msgid "Part can be used in assemblies"
-msgstr "Teil kann in Baugruppen benutzt werden"
-
-#: part/templates/part/part_base.html:44
-msgid "Part stock is tracked by serial number"
-msgstr "Teil wird per Seriennummer verfolgt"
-
-#: part/templates/part/part_base.html:47
-msgid "Part can be purchased from external suppliers"
-msgstr "Teil kann von externen Zulieferern gekauft werden"
-
-#: part/templates/part/part_base.html:50
-msgid "Part can be sold to customers"
-msgstr "Teil kann an Kunden verkauft werden"
-
-#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65
-msgid "Part is virtual (not a physical part)"
-msgstr "Teil ist virtuell (kein physisches Teil)"
-
-#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504
-#: templates/js/translated/company.js:761 templates/js/translated/part.js:443
-#: templates/js/translated/part.js:520
-msgid "Inactive"
-msgstr "Inaktiv"
-
-#: part/templates/part/part_base.html:73
-msgid "Star this part"
-msgstr "Teil favorisieren"
-
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:75
-#: stock/templates/stock/location.html:51
+#: part/templates/part/part_base.html:43
+#: stock/templates/stock/item_base.html:28
+#: stock/templates/stock/location.html:29
msgid "Barcode actions"
msgstr "Barcode Aktionen"
-#: part/templates/part/part_base.html:82
-#: stock/templates/stock/item_base.html:77
-#: stock/templates/stock/location.html:53 templates/qr_button.html:1
+#: part/templates/part/part_base.html:45
+#: stock/templates/stock/item_base.html:32
+#: stock/templates/stock/location.html:31 templates/qr_button.html:1
msgid "Show QR Code"
msgstr "QR-Code anzeigen"
-#: part/templates/part/part_base.html:83
-#: stock/templates/stock/item_base.html:93
-#: stock/templates/stock/location.html:54
+#: part/templates/part/part_base.html:46
+#: stock/templates/stock/item_base.html:48
+#: stock/templates/stock/location.html:32
msgid "Print Label"
msgstr "Label drucken"
-#: part/templates/part/part_base.html:89
+#: part/templates/part/part_base.html:51
msgid "Show pricing information"
msgstr "Kosteninformationen ansehen"
-#: part/templates/part/part_base.html:95
-#: stock/templates/stock/item_base.html:142
-#: stock/templates/stock/location.html:62
+#: part/templates/part/part_base.html:56
+#: stock/templates/stock/item_base.html:103
+#: stock/templates/stock/location.html:40
msgid "Stock actions"
msgstr "Bestands-Aktionen"
-#: part/templates/part/part_base.html:102
+#: part/templates/part/part_base.html:63
msgid "Count part stock"
msgstr "Lagerbestand zählen"
-#: part/templates/part/part_base.html:108
+#: part/templates/part/part_base.html:69
msgid "Transfer part stock"
msgstr "Teilbestand verschieben"
-#: part/templates/part/part_base.html:125
+#: part/templates/part/part_base.html:84
msgid "Part actions"
msgstr "Teile Aktionen"
-#: part/templates/part/part_base.html:128
+#: part/templates/part/part_base.html:87
msgid "Duplicate part"
msgstr "Teil duplizieren"
-#: part/templates/part/part_base.html:131
+#: part/templates/part/part_base.html:90
msgid "Edit part"
msgstr "Teil bearbeiten"
-#: part/templates/part/part_base.html:134
+#: part/templates/part/part_base.html:93
msgid "Delete part"
msgstr "Teil löschen"
-#: part/templates/part/part_base.html:146
+#: part/templates/part/part_base.html:109
+msgid "Part is a template part (variants can be made from this part)"
+msgstr "Teil ist Vorlage (Varianten können von diesem Teil erstellt werden)"
+
+#: part/templates/part/part_base.html:113
+msgid "Part can be assembled from other parts"
+msgstr "Teil kann aus anderen Teilen angefertigt werden"
+
+#: part/templates/part/part_base.html:117
+msgid "Part can be used in assemblies"
+msgstr "Teil kann in Baugruppen benutzt werden"
+
+#: part/templates/part/part_base.html:121
+msgid "Part stock is tracked by serial number"
+msgstr "Teil wird per Seriennummer verfolgt"
+
+#: part/templates/part/part_base.html:125
+msgid "Part can be purchased from external suppliers"
+msgstr "Teil kann von externen Zulieferern gekauft werden"
+
+#: part/templates/part/part_base.html:129
+msgid "Part can be sold to customers"
+msgstr "Teil kann an Kunden verkauft werden"
+
+#: part/templates/part/part_base.html:135
+#: part/templates/part/part_base.html:143
+msgid "Part is virtual (not a physical part)"
+msgstr "Teil ist virtuell (kein physisches Teil)"
+
+#: part/templates/part/part_base.html:136
+#: templates/js/translated/company.js:504
+#: templates/js/translated/company.js:761
+#: templates/js/translated/model_renderers.js:175
+#: templates/js/translated/part.js:464 templates/js/translated/part.js:541
+msgid "Inactive"
+msgstr "Inaktiv"
+
+#: part/templates/part/part_base.html:155
#, python-format
msgid "This part is a variant of %(link)s"
msgstr "Dieses Teil ist eine Variante von %(link)s"
-#: part/templates/part/part_base.html:161
-#: templates/js/translated/model_renderers.js:169
-#: templates/js/translated/order.js:1503
-#: templates/js/translated/table_filters.js:166
+#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524
+#: templates/js/translated/table_filters.js:182
msgid "In Stock"
msgstr "Auf Lager"
-#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960
+#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961
msgid "On Order"
msgstr "Bestellt"
-#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178
msgid "Required for Build Orders"
msgstr "Für Bauaufträge benötigt"
-#: part/templates/part/part_base.html:181
+#: part/templates/part/part_base.html:199
msgid "Required for Sales Orders"
msgstr "Benötigt für Aufträge"
-#: part/templates/part/part_base.html:188
+#: part/templates/part/part_base.html:206
msgid "Allocated to Orders"
msgstr "Zu Bauaufträgen zugeordnet"
-#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373
+#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564
msgid "Can Build"
msgstr "Herstellbar"
-#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776
-#: templates/js/translated/part.js:964
+#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793
+#: templates/js/translated/part.js:965
msgid "Building"
msgstr "Im Bau"
-#: part/templates/part/part_base.html:223
-#: part/templates/part/part_base.html:531
-#: part/templates/part/part_base.html:557
-msgid "Show Part Details"
-msgstr "Teildetails anzeigen"
-
-#: part/templates/part/part_base.html:283
-msgid "Latest Serial Number"
-msgstr "letzte Seriennummer"
-
-#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144
+#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144
msgid "Calculate"
msgstr "Berechnen"
-#: part/templates/part/part_base.html:445
+#: part/templates/part/part_base.html:363
msgid "No matching images found"
msgstr "Keine passenden Bilder gefunden"
-#: part/templates/part/part_base.html:526
-#: part/templates/part/part_base.html:551
-msgid "Hide Part Details"
-msgstr "Teildetails ausblenden"
-
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr "Zulieferer-Preise"
@@ -4877,7 +4809,7 @@ msgid "Total Cost"
msgstr "Gesamtkosten"
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
-#: templates/js/translated/bom.js:327
+#: templates/js/translated/bom.js:518
msgid "No supplier pricing available"
msgstr "Keine Zulieferer-Preise verfügbar"
@@ -4911,16 +4843,18 @@ msgstr "Interner Preis"
msgid "No pricing information is available for this part."
msgstr "Keine Preise für dieses Teil verfügbar"
-#: part/templates/part/part_thumb.html:20
+#: part/templates/part/part_thumb.html:11
msgid "Select from existing images"
msgstr "Aus vorhandenen Bildern auswählen"
#: part/templates/part/partial_delete.html:9
#, python-format
-msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
+msgid ""
+"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
"
Disable the \"Active\" part attribute and re-try.\n"
" "
-msgstr "Teil '%(full_name)s' kann nicht gelöscht werden, da er noch als aktivmarkiert ist.\n"
+msgstr ""
+"Teil '%(full_name)s' kann nicht gelöscht werden, da er noch als aktivmarkiert ist.\n"
"
Deaktivieren Sie das Attribut \"Aktiv\" und versuchen Sie es erneut.\n"
" "
@@ -4982,7 +4916,7 @@ msgstr "Verkaufspreis anzeigen"
msgid "Calculation parameters"
msgstr "Berechnungsparameter"
-#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321
+#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512
msgid "Supplier Cost"
msgstr "Zuliefererkosten"
@@ -5004,7 +4938,7 @@ msgstr "Für dieses Teil sind keine Bestandspreise verfügbar."
msgid "Internal Cost"
msgstr "Interne Kosten"
-#: part/templates/part/prices.html:215 part/views.py:1801
+#: part/templates/part/prices.html:215 part/views.py:1853
msgid "Add Internal Price Break"
msgstr "Interne Preisspanne hinzufügen"
@@ -5024,13 +4958,13 @@ msgstr "Keine Verkaufsgeschichte für diesen Teil verfügbar."
msgid "Set category for the following parts"
msgstr "Kategorie für Teile setzen"
-#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297
-#: templates/js/translated/model_renderers.js:167
-#: templates/js/translated/part.js:766 templates/js/translated/part.js:968
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474
+#: templates/js/translated/part.js:428 templates/js/translated/part.js:783
+#: templates/js/translated/part.js:969
msgid "No Stock"
msgstr "Kein Bestand"
-#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166
+#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158
msgid "Low Stock"
msgstr "niedriger Bestand"
@@ -5043,135 +4977,140 @@ msgstr "Neue Teilevariante anlegen"
msgid "Create a new variant of template '%(full_name)s'."
msgstr "Neue Variante von Vorlage anlegen '%(full_name)s'."
-#: part/templatetags/inventree_extras.py:106
+#: part/templatetags/inventree_extras.py:113
msgid "Unknown database"
msgstr "Unbekannte Datenbank"
-#: part/views.py:94
+#: part/views.py:95
msgid "Add Related Part"
msgstr "verknüpftes Teil hinzufügen"
-#: part/views.py:149
+#: part/views.py:150
msgid "Delete Related Part"
msgstr "verknüpftes Teil entfernen"
-#: part/views.py:160
+#: part/views.py:161
msgid "Set Part Category"
msgstr "Teil-Kategorie auswählen"
-#: part/views.py:210
+#: part/views.py:211
#, python-brace-format
msgid "Set category for {n} parts"
msgstr "Kategorie für {n} Teile setzen"
-#: part/views.py:270
+#: part/views.py:283
msgid "Match References"
msgstr "Referenzen zuteilen"
-#: part/views.py:526
+#: part/views.py:567
msgid "None"
msgstr "Kein(e)"
-#: part/views.py:585
+#: part/views.py:626
msgid "Part QR Code"
msgstr "Teil-QR-Code"
-#: part/views.py:687
+#: part/views.py:728
msgid "Select Part Image"
msgstr "Teilbild auswählen"
-#: part/views.py:713
+#: part/views.py:754
msgid "Updated part image"
msgstr "Teilbild aktualisiert"
-#: part/views.py:716
+#: part/views.py:757
msgid "Part image not found"
msgstr "Teilbild nicht gefunden"
-#: part/views.py:728
+#: part/views.py:769
msgid "Duplicate BOM"
msgstr "Stückliste duplizieren"
-#: part/views.py:758
+#: part/views.py:799
msgid "Confirm duplication of BOM from parent"
msgstr "bestätige Duplizierung Stückliste von übergeordneter Stückliste"
-#: part/views.py:779
-msgid "Validate BOM"
-msgstr "Stückliste überprüfen"
-
-#: part/views.py:800
+#: part/views.py:841
msgid "Confirm that the BOM is valid"
msgstr "Bestätigen, dass Stückliste korrekt ist"
-#: part/views.py:811
+#: part/views.py:852
msgid "Validated Bill of Materials"
msgstr "überprüfte Stückliste"
-#: part/views.py:884
+#: part/views.py:925
msgid "Match Parts"
msgstr "Teile zuordnen"
-#: part/views.py:1272
+#: part/views.py:1261
+msgid "Export Bill of Materials"
+msgstr "Stückliste exportieren"
+
+#: part/views.py:1313
msgid "Confirm Part Deletion"
msgstr "Löschen des Teils bestätigen"
-#: part/views.py:1279
+#: part/views.py:1320
msgid "Part was deleted"
msgstr "Teil wurde gelöscht"
-#: part/views.py:1288
+#: part/views.py:1329
msgid "Part Pricing"
msgstr "Teilbepreisung"
-#: part/views.py:1437
+#: part/views.py:1478
msgid "Create Part Parameter Template"
msgstr "Teilparametervorlage anlegen"
-#: part/views.py:1447
+#: part/views.py:1488
msgid "Edit Part Parameter Template"
msgstr "Teilparametervorlage bearbeiten"
-#: part/views.py:1454
+#: part/views.py:1495
msgid "Delete Part Parameter Template"
msgstr "Teilparametervorlage löschen"
-#: part/views.py:1502 templates/js/translated/part.js:308
+#: part/views.py:1554 templates/js/translated/part.js:309
msgid "Edit Part Category"
msgstr "Teil-Kategorie bearbeiten"
-#: part/views.py:1540
+#: part/views.py:1592
msgid "Delete Part Category"
msgstr "Teil-Kategorie löschen"
-#: part/views.py:1546
+#: part/views.py:1598
msgid "Part category was deleted"
msgstr "Teil-Kategorie wurde gelöscht"
-#: part/views.py:1555
+#: part/views.py:1607
msgid "Create Category Parameter Template"
msgstr "Kategorieparametervorlage anlegen"
-#: part/views.py:1656
+#: part/views.py:1708
msgid "Edit Category Parameter Template"
msgstr "Kategorieparametervorlage bearbeiten"
-#: part/views.py:1712
+#: part/views.py:1764
msgid "Delete Category Parameter Template"
msgstr "Kategorieparametervorlage löschen"
-#: part/views.py:1734
+#: part/views.py:1786
msgid "Added new price break"
msgstr "neue Preisstaffel hinzufügt"
-#: part/views.py:1810
+#: part/views.py:1862
msgid "Edit Internal Price Break"
msgstr "Interne Preisspanne bearbeiten"
-#: part/views.py:1818
+#: part/views.py:1870
msgid "Delete Internal Price Break"
msgstr "Interne Preisspanne löschen"
+#: report/api.py:234 report/api.py:278
+#, python-brace-format
+msgid "Template file '{filename}' is missing or does not exist"
+msgstr ""
+
#: report/models.py:182
msgid "Template name"
msgstr "Vorlagen Name"
@@ -5208,51 +5147,51 @@ msgstr "einfügen Installiert in Tests"
msgid "Include test results for stock items installed inside assembled item"
msgstr "Test-Ergebnisse für BestandsObjekte in Baugruppen einschließen"
-#: report/models.py:380
+#: report/models.py:382
msgid "Build Filters"
msgstr "Bauauftrag Filter"
-#: report/models.py:381
+#: report/models.py:383
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr "Bau-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)"
-#: report/models.py:423
+#: report/models.py:425
msgid "Part Filters"
msgstr "Teil Filter"
-#: report/models.py:424
+#: report/models.py:426
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr "Teile-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)"
-#: report/models.py:458
+#: report/models.py:460
msgid "Purchase order query filters"
msgstr "Bestellungs-Abfragefilter"
-#: report/models.py:496
+#: report/models.py:498
msgid "Sales order query filters"
msgstr "Auftrags-Abfragefilter"
-#: report/models.py:546
+#: report/models.py:548
msgid "Snippet"
msgstr "Snippet"
-#: report/models.py:547
+#: report/models.py:549
msgid "Report snippet file"
msgstr "Berichts-Snippet"
-#: report/models.py:551
+#: report/models.py:553
msgid "Snippet file description"
msgstr "Snippet-Beschreibung"
-#: report/models.py:586
+#: report/models.py:588
msgid "Asset"
msgstr "Ressource"
-#: report/models.py:587
+#: report/models.py:589
msgid "Report asset file"
msgstr "Berichts-Ressource"
-#: report/models.py:590
+#: report/models.py:592
msgid "Asset file description"
msgstr "Ressource-Beschreibung"
@@ -5269,543 +5208,597 @@ msgstr "Positionen"
msgid "Stock Item Test Report"
msgstr "BestandsObjekt Test-Bericht"
-#: report/templates/report/inventree_test_report_base.html:83
+#: report/templates/report/inventree_test_report_base.html:79
+#: stock/models.py:530 stock/templates/stock/item_base.html:238
+#: templates/js/translated/build.js:233 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1013
+#: templates/js/translated/model_renderers.js:95
+#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355
+msgid "Serial Number"
+msgstr "Seriennummer"
+
+#: report/templates/report/inventree_test_report_base.html:88
msgid "Test Results"
msgstr "Testergebnisse"
-#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:1804
+#: report/templates/report/inventree_test_report_base.html:93
+#: stock/models.py:1855
msgid "Test"
msgstr "Test"
-#: report/templates/report/inventree_test_report_base.html:89
-#: stock/models.py:1810
+#: report/templates/report/inventree_test_report_base.html:94
+#: stock/models.py:1861
msgid "Result"
msgstr "Ergebnis"
-#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502
+#: report/templates/report/inventree_test_report_base.html:97
+#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887
msgid "Date"
msgstr "Datum"
-#: report/templates/report/inventree_test_report_base.html:103
+#: report/templates/report/inventree_test_report_base.html:108
msgid "Pass"
msgstr "bestanden"
-#: report/templates/report/inventree_test_report_base.html:105
+#: report/templates/report/inventree_test_report_base.html:110
msgid "Fail"
msgstr "fehlgeschlagen"
-#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556
-#: stock/templates/stock/item_base.html:395
-#: templates/js/translated/stock.js:946
+#: report/templates/report/inventree_test_report_base.html:123
+msgid "Installed Items"
+msgstr "verbaute Objekte"
+
+#: report/templates/report/inventree_test_report_base.html:137
+#: templates/js/translated/stock.js:2147
+msgid "Serial"
+msgstr "Seriennummer"
+
+#: stock/api.py:422
+#, fuzzy
+#| msgid "Quantity to receive"
+msgid "Quantity is required"
+msgstr "Zu erhaltende Menge"
+
+#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587
+#: stock/templates/stock/item_base.html:382
+#: templates/js/translated/stock.js:1246
msgid "Expiry Date"
msgstr "Ablaufdatum"
-#: stock/forms.py:80 stock/forms.py:308
+#: stock/forms.py:92 stock/forms.py:266
msgid "Expiration date for this stock item"
msgstr "Ablaufdatum für dieses BestandsObjekt"
-#: stock/forms.py:83
+#: stock/forms.py:95
msgid "Enter unique serial numbers (or leave blank)"
msgstr "Eindeutige Seriennummern eingeben (oder leer lassen)"
-#: stock/forms.py:134
+#: stock/forms.py:150
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr "Lagerort für serial"
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Serial numbers"
msgstr "Seriennummern"
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Unique serial numbers (must match quantity)"
msgstr "Anzahl der eindeutigen Seriennummern (muss mit der Anzahl übereinstimmen)"
-#: stock/forms.py:138 stock/forms.py:282
+#: stock/forms.py:154 stock/forms.py:238
msgid "Add transaction note (optional)"
msgstr " Transaktionsnotizen hinzufügen (optional)"
-#: stock/forms.py:168 stock/forms.py:224
-msgid "Select test report template"
-msgstr "Test Bericht Vorlage auswählen"
-
-#: stock/forms.py:240
+#: stock/forms.py:194
msgid "Stock item to install"
msgstr "BestandsObjekt zum verbauen"
-#: stock/forms.py:270
+#: stock/forms.py:224
msgid "Must not exceed available quantity"
msgstr "Anzahl darf die verfügbare Anzahl nicht überschreiten"
-#: stock/forms.py:280
+#: stock/forms.py:236
msgid "Destination location for uninstalled items"
msgstr "Ziel Lagerort für unverbaute Objekte"
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm uninstall"
msgstr "nicht mehr verbauen bestätigen"
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm removal of installed stock items"
msgstr "Entfernen der verbauten BestandsObjekt bestätigen"
-#: stock/models.py:57 stock/models.py:593
+#: stock/models.py:60 stock/models.py:624
+#: stock/templates/stock/item_base.html:422
msgid "Owner"
msgstr "Besitzer"
-#: stock/models.py:58 stock/models.py:594
+#: stock/models.py:61 stock/models.py:625
msgid "Select Owner"
msgstr "Besitzer auswählen"
-#: stock/models.py:322
+#: stock/models.py:352
msgid "StockItem with this serial number already exists"
msgstr "Ein BestandsObjekt mit dieser Seriennummer existiert bereits"
-#: stock/models.py:358
+#: stock/models.py:388
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr "Teile-Typ ('{pf}') muss {pe} sein"
-#: stock/models.py:368 stock/models.py:377
+#: stock/models.py:398 stock/models.py:407
msgid "Quantity must be 1 for item with a serial number"
msgstr "Anzahl muss für Objekte mit Seriennummer 1 sein"
-#: stock/models.py:369
+#: stock/models.py:399
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Seriennummer kann nicht gesetzt werden wenn die Anzahl größer als 1 ist"
-#: stock/models.py:391
+#: stock/models.py:421
msgid "Item cannot belong to itself"
msgstr "Teil kann nicht zu sich selbst gehören"
-#: stock/models.py:397
+#: stock/models.py:427
msgid "Item must have a build reference if is_building=True"
msgstr "Teil muss eine Referenz haben wenn is_building wahr ist"
-#: stock/models.py:404
+#: stock/models.py:434
msgid "Build reference does not point to the same part object"
msgstr "Referenz verweist nicht auf das gleiche Teil"
-#: stock/models.py:446
+#: stock/models.py:476
msgid "Parent Stock Item"
msgstr "Eltern-BestandsObjekt"
-#: stock/models.py:455
+#: stock/models.py:485
msgid "Base part"
msgstr "Basis-Teil"
-#: stock/models.py:464
+#: stock/models.py:493
msgid "Select a matching supplier part for this stock item"
msgstr "Passendes Zuliefererteil für dieses BestandsObjekt auswählen"
-#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8
+#: stock/models.py:498 stock/templates/stock/location.html:12
+#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Bestand-Lagerort"
-#: stock/models.py:472
+#: stock/models.py:501
msgid "Where is this stock item located?"
msgstr "Wo wird dieses Teil normalerweise gelagert?"
-#: stock/models.py:479
+#: stock/models.py:508
msgid "Packaging this stock item is stored in"
msgstr "Die Verpackung dieses BestandsObjekt ist gelagert in"
-#: stock/models.py:484 stock/templates/stock/item_base.html:284
+#: stock/models.py:513 stock/templates/stock/item_base.html:271
msgid "Installed In"
msgstr "verbaut in"
-#: stock/models.py:487
+#: stock/models.py:516
msgid "Is this item installed in another item?"
msgstr "Ist dieses Teil in einem anderen verbaut?"
-#: stock/models.py:503
+#: stock/models.py:532
msgid "Serial number for this item"
msgstr "Seriennummer für dieses Teil"
-#: stock/models.py:515
+#: stock/models.py:546
msgid "Batch code for this stock item"
msgstr "Losnummer für dieses BestandsObjekt"
-#: stock/models.py:519
+#: stock/models.py:550
msgid "Stock Quantity"
msgstr "Bestand"
-#: stock/models.py:528
+#: stock/models.py:559
msgid "Source Build"
msgstr "Quellbau"
-#: stock/models.py:530
+#: stock/models.py:561
msgid "Build for this stock item"
msgstr "Bauauftrag für dieses BestandsObjekt"
-#: stock/models.py:541
+#: stock/models.py:572
msgid "Source Purchase Order"
msgstr "Quelle Bestellung"
-#: stock/models.py:544
+#: stock/models.py:575
msgid "Purchase order for this stock item"
msgstr "Bestellung für dieses BestandsObjekt"
-#: stock/models.py:550
+#: stock/models.py:581
msgid "Destination Sales Order"
msgstr "Ziel-Auftrag"
-#: stock/models.py:557
+#: stock/models.py:588
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "Ablaufdatum für BestandsObjekt. Bestand wird danach als abgelaufen gekennzeichnet"
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete on deplete"
msgstr "Löschen wenn leer"
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete this Stock Item when stock is depleted"
msgstr "Dieses BestandsObjekt löschen wenn Bestand aufgebraucht"
-#: stock/models.py:580 stock/templates/stock/item.html:99
-#: stock/templates/stock/navbar.html:54
+#: stock/models.py:611 stock/templates/stock/item.html:111
msgid "Stock Item Notes"
msgstr "BestandsObjekt-Notizen"
-#: stock/models.py:589
+#: stock/models.py:620
msgid "Single unit purchase price at time of purchase"
msgstr "Preis für eine Einheit bei Einkauf"
-#: stock/models.py:599
+#: stock/models.py:630
msgid "Scheduled for deletion"
msgstr "Zur Löschung vorgesehen"
-#: stock/models.py:600
+#: stock/models.py:631
msgid "This StockItem will be deleted by the background worker"
msgstr "Dieser Lagerbestand wird vom Hintergrund-Prozess gelöscht"
-#: stock/models.py:1063
+#: stock/models.py:1094
msgid "Part is not set as trackable"
msgstr "Teil ist nicht verfolgbar"
-#: stock/models.py:1069
+#: stock/models.py:1100
msgid "Quantity must be integer"
msgstr "Anzahl muss eine Ganzzahl sein"
-#: stock/models.py:1075
+#: stock/models.py:1106
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr "Anzahl darf nicht die verfügbare Anzahl überschreiten ({n})"
-#: stock/models.py:1078
+#: stock/models.py:1109
msgid "Serial numbers must be a list of integers"
msgstr "Seriennummern muss eine Liste von Ganzzahlen sein"
-#: stock/models.py:1081
+#: stock/models.py:1112
msgid "Quantity does not match serial numbers"
msgstr "Anzahl stimmt nicht mit den Seriennummern überein"
-#: stock/models.py:1088
+#: stock/models.py:1119
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr "Seriennummern {exists} existieren bereits"
-#: stock/models.py:1246
+#: stock/models.py:1277
msgid "StockItem cannot be moved as it is not in stock"
msgstr "BestandsObjekt kann nicht bewegt werden, da kein Bestand vorhanden ist"
-#: stock/models.py:1724
+#: stock/models.py:1775
msgid "Entry notes"
msgstr "Eintrags-Notizen"
-#: stock/models.py:1781
+#: stock/models.py:1832
msgid "Value must be provided for this test"
msgstr "Wert muss für diesen Test angegeben werden"
-#: stock/models.py:1787
+#: stock/models.py:1838
msgid "Attachment must be uploaded for this test"
msgstr "Anhang muss für diesen Test hochgeladen werden"
-#: stock/models.py:1805
+#: stock/models.py:1856
msgid "Test name"
msgstr "Name des Tests"
-#: stock/models.py:1811 templates/js/translated/table_filters.js:244
+#: stock/models.py:1862 templates/js/translated/table_filters.js:260
msgid "Test result"
msgstr "Testergebnis"
-#: stock/models.py:1817
+#: stock/models.py:1868
msgid "Test output value"
msgstr "Test Ausgabe Wert"
-#: stock/models.py:1824
+#: stock/models.py:1875
msgid "Test result attachment"
msgstr "Test Ergebnis Anhang"
-#: stock/models.py:1830
+#: stock/models.py:1881
msgid "Test notes"
msgstr "Test Notizen"
-#: stock/serializers.py:424
-msgid "StockItem primary key value"
-msgstr ""
+#: stock/serializers.py:166
+#, fuzzy
+#| msgid "Purchase order for this stock item"
+msgid "Purchase price of this stock item"
+msgstr "Bestellung für dieses BestandsObjekt"
-#: stock/serializers.py:452
-msgid "Stock transaction notes"
-msgstr "Bestandsbewegungsnotizen"
+#: stock/serializers.py:173
+#, fuzzy
+#| msgid "Purchase order for this stock item"
+msgid "Purchase currency of this stock item"
+msgstr "Bestellung für dieses BestandsObjekt"
-#: stock/serializers.py:462
-msgid "A list of stock items must be provided"
-msgstr "Eine Liste der Lagerbestände muss angegeben werden"
+#: stock/serializers.py:287
+#, fuzzy
+#| msgid "Number of stock items to build"
+msgid "Enter number of stock items to serialize"
+msgstr "Anzahl der zu bauenden BestandsObjekt"
-#: stock/serializers.py:554
+#: stock/serializers.py:302
+#, fuzzy, python-brace-format
+#| msgid "Quantity must not exceed available stock quantity ({n})"
+msgid "Quantity must not exceed available stock quantity ({q})"
+msgstr "Anzahl darf nicht die verfügbare Anzahl überschreiten ({n})"
+
+#: stock/serializers.py:308
+#, fuzzy
+#| msgid "Enter serial numbers for build outputs"
+msgid "Enter serial numbers for new items"
+msgstr "Seriennummer für dieses Endprodukt eingeben"
+
+#: stock/serializers.py:319 stock/serializers.py:687
msgid "Destination stock location"
msgstr "Ziel-Lagerbestand"
-#: stock/templates/stock/item.html:17
+#: stock/serializers.py:326
+#, fuzzy
+#| msgid "Location not specified"
+msgid "Optional note field"
+msgstr "Standort nicht angegeben"
+
+#: stock/serializers.py:339
+#, fuzzy
+#| msgid "Serial number cannot be set if quantity greater than 1"
+msgid "Serial numbers cannot be assigned to this part"
+msgstr "Seriennummer kann nicht gesetzt werden wenn die Anzahl größer als 1 ist"
+
+#: stock/serializers.py:557
+msgid "StockItem primary key value"
+msgstr ""
+
+#: stock/serializers.py:585
+msgid "Stock transaction notes"
+msgstr "Bestandsbewegungsnotizen"
+
+#: stock/serializers.py:595
+msgid "A list of stock items must be provided"
+msgstr "Eine Liste der Lagerbestände muss angegeben werden"
+
+#: stock/templates/stock/item.html:18
msgid "Stock Tracking Information"
msgstr "Informationen zum Lagerbestands-Tracking"
-#: stock/templates/stock/item.html:30
+#: stock/templates/stock/item.html:29
msgid "New Entry"
msgstr "neuer Eintrag"
-#: stock/templates/stock/item.html:43
+#: stock/templates/stock/item.html:48
msgid "Child Stock Items"
msgstr "Kind-BestandsObjekt"
-#: stock/templates/stock/item.html:50
+#: stock/templates/stock/item.html:55
msgid "This stock item does not have any child items"
msgstr "Dieses BestandsObjekt hat keine Kinder"
-#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19
-#: stock/templates/stock/navbar.html:22
+#: stock/templates/stock/item.html:64
msgid "Test Data"
msgstr "Testdaten"
-#: stock/templates/stock/item.html:66
-msgid "Delete Test Data"
-msgstr "Testdaten löschen"
-
-#: stock/templates/stock/item.html:70
-msgid "Add Test Data"
-msgstr "Testdaten hinzufügen"
-
-#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95
+#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50
msgid "Test Report"
msgstr "Test-Bericht"
-#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27
+#: stock/templates/stock/item.html:72
+msgid "Delete Test Data"
+msgstr "Testdaten löschen"
+
+#: stock/templates/stock/item.html:76
+msgid "Add Test Data"
+msgstr "Testdaten hinzufügen"
+
+#: stock/templates/stock/item.html:133
msgid "Installed Stock Items"
msgstr "Installierte BestandsObjekte"
-#: stock/templates/stock/item.html:125 stock/views.py:511
+#: stock/templates/stock/item.html:137 stock/views.py:515
msgid "Install Stock Item"
msgstr "BestandsObjekt installiert"
-#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326
+#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343
msgid "Add Test Result"
msgstr "Testergebnis hinzufügen"
-#: stock/templates/stock/item.html:346
+#: stock/templates/stock/item.html:363
msgid "Edit Test Result"
msgstr "Testergebnis bearbeiten"
-#: stock/templates/stock/item.html:360
+#: stock/templates/stock/item.html:377
msgid "Delete Test Result"
msgstr "Testergebnis löschen"
-#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:399
-#: templates/js/translated/table_filters.js:225
-msgid "Expired"
-msgstr "abgelaufen"
-
-#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:401
-#: templates/js/translated/table_filters.js:231
-msgid "Stale"
-msgstr "überfällig"
-
-#: stock/templates/stock/item_base.html:80
-#: templates/js/translated/barcode.js:331
-#: templates/js/translated/barcode.js:336
+#: stock/templates/stock/item_base.html:35
+#: templates/js/translated/barcode.js:330
+#: templates/js/translated/barcode.js:335
msgid "Unlink Barcode"
msgstr "Barcode abhängen"
-#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/item_base.html:37
msgid "Link Barcode"
msgstr "Barcode anhängen"
-#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31
+#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24
msgid "Scan to Location"
msgstr "zu Lagerort einscannen"
-#: stock/templates/stock/item_base.html:91
+#: stock/templates/stock/item_base.html:46
msgid "Printing actions"
msgstr "Druck Aktionen"
-#: stock/templates/stock/item_base.html:104
+#: stock/templates/stock/item_base.html:65
msgid "Stock adjustment actions"
msgstr "Bestands-Anpassungs Aktionen"
-#: stock/templates/stock/item_base.html:108
-#: stock/templates/stock/location.html:69 templates/stock_table.html:57
+#: stock/templates/stock/item_base.html:69
+#: stock/templates/stock/location.html:47 templates/stock_table.html:50
msgid "Count stock"
msgstr "Bestand zählen"
-#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55
+#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48
msgid "Add stock"
msgstr "Bestand hinzufügen"
-#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56
+#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49
msgid "Remove stock"
msgstr "Bestand entfernen"
-#: stock/templates/stock/item_base.html:117
+#: stock/templates/stock/item_base.html:78
msgid "Serialize stock"
msgstr "Lagerbestand serialisieren"
-#: stock/templates/stock/item_base.html:121
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/location.html:53
msgid "Transfer stock"
msgstr "Bestand verschieben"
-#: stock/templates/stock/item_base.html:124
+#: stock/templates/stock/item_base.html:85
msgid "Assign to customer"
msgstr "Kunden zuweisen"
-#: stock/templates/stock/item_base.html:127
+#: stock/templates/stock/item_base.html:88
msgid "Return to stock"
msgstr "zu Bestand zurückgeben"
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall stock item"
msgstr "BestandsObjekt deinstallieren"
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall"
msgstr "Deinstallieren"
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install stock item"
msgstr "BestandsObjekt installieren"
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install"
msgstr "Installieren"
-#: stock/templates/stock/item_base.html:145
+#: stock/templates/stock/item_base.html:106
msgid "Convert to variant"
msgstr "in Variante ändern"
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:109
msgid "Duplicate stock item"
msgstr "BestandsObjekt duplizieren"
-#: stock/templates/stock/item_base.html:150
+#: stock/templates/stock/item_base.html:111
msgid "Edit stock item"
msgstr "BestandsObjekt bearbeiten"
-#: stock/templates/stock/item_base.html:153
+#: stock/templates/stock/item_base.html:114
msgid "Delete stock item"
msgstr "BestandsObjekt löschen"
-#: stock/templates/stock/item_base.html:173
+#: stock/templates/stock/item_base.html:136
+#: stock/templates/stock/item_base.html:386
+#: templates/js/translated/table_filters.js:241
+msgid "Expired"
+msgstr "abgelaufen"
+
+#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/table_filters.js:247
+msgid "Stale"
+msgstr "überfällig"
+
+#: stock/templates/stock/item_base.html:161
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr "Sie gehören nicht zu den Eigentümern dieses Objekts und können es nicht ändern."
-#: stock/templates/stock/item_base.html:180
+#: stock/templates/stock/item_base.html:168
msgid "This stock item is in production and cannot be edited."
msgstr "Dieses BestandsObjekt wird gerade hergestellt und kann nicht geändert werden."
-#: stock/templates/stock/item_base.html:181
+#: stock/templates/stock/item_base.html:169
msgid "Edit the stock item from the build view."
msgstr "Ändern des BestandsObjekts in der Bauauftrag-Ansicht."
-#: stock/templates/stock/item_base.html:194
+#: stock/templates/stock/item_base.html:182
msgid "This stock item has not passed all required tests"
msgstr "Dieses BestandsObjekt hat nicht alle Tests bestanden"
-#: stock/templates/stock/item_base.html:202
+#: stock/templates/stock/item_base.html:190
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr "Dieses BestandsObjekt ist dem Auftrag %(link)s zugewiesen (Menge: %(qty)s)"
-#: stock/templates/stock/item_base.html:210
+#: stock/templates/stock/item_base.html:198
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr "Dieses BestandsObjekt ist dem Bauauftrag %(link)s zugewiesen (Menge: %(qty)s)"
-#: stock/templates/stock/item_base.html:216
+#: stock/templates/stock/item_base.html:204
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr "Dieses BestandsObjekt ist serialisiert. Es hat eine eindeutige Seriennummer und die Anzahl kann nicht angepasst werden."
-#: stock/templates/stock/item_base.html:220
+#: stock/templates/stock/item_base.html:208
msgid "This stock item cannot be deleted as it has child items"
msgstr "Dieses BestandsObjekt kann nicht gelöscht werden, da es Kinder besitzt"
-#: stock/templates/stock/item_base.html:224
+#: stock/templates/stock/item_base.html:212
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr "Dieses BestandsObjekt wird automatisch gelöscht wenn der Lagerbestand aufgebraucht ist."
-#: stock/templates/stock/item_base.html:232
-msgid "Stock Item Details"
-msgstr "BestandsObjekt-Details"
-
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:241
msgid "previous page"
msgstr "vorherige Seite"
-#: stock/templates/stock/item_base.html:260
+#: stock/templates/stock/item_base.html:247
msgid "next page"
msgstr "nächste Seite"
-#: stock/templates/stock/item_base.html:303
-#: templates/js/translated/build.js:658
+#: stock/templates/stock/item_base.html:290
+#: templates/js/translated/build.js:1035
msgid "No location set"
msgstr "Kein Lagerort gesetzt"
-#: stock/templates/stock/item_base.html:310
+#: stock/templates/stock/item_base.html:297
msgid "Barcode Identifier"
msgstr "Barcode-Bezeichner"
-#: stock/templates/stock/item_base.html:352
+#: stock/templates/stock/item_base.html:339
msgid "Parent Item"
msgstr "Elternposition"
-#: stock/templates/stock/item_base.html:370
+#: stock/templates/stock/item_base.html:357
msgid "No manufacturer set"
msgstr "Kein Hersteller ausgewählt"
-#: stock/templates/stock/item_base.html:399
+#: stock/templates/stock/item_base.html:386
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr "Dieses BestandsObjekt lief am %(item.expiry_date)s ab"
-#: stock/templates/stock/item_base.html:401
+#: stock/templates/stock/item_base.html:388
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr "Dieses BestandsObjekt läuft am %(item.expiry_date)s ab"
-#: stock/templates/stock/item_base.html:408
-#: templates/js/translated/stock.js:959
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1259
msgid "Last Updated"
msgstr "Zuletzt aktualisiert"
-#: stock/templates/stock/item_base.html:413
+#: stock/templates/stock/item_base.html:400
msgid "Last Stocktake"
msgstr "Letzte Inventur"
-#: stock/templates/stock/item_base.html:417
+#: stock/templates/stock/item_base.html:404
msgid "No stocktake performed"
msgstr "Keine Inventur ausgeführt"
-#: stock/templates/stock/item_base.html:428
+#: stock/templates/stock/item_base.html:415
msgid "Tests"
msgstr "Tests"
-#: stock/templates/stock/item_base.html:516
-msgid "Save"
-msgstr "Speichern"
-
-#: stock/templates/stock/item_base.html:528
+#: stock/templates/stock/item_base.html:504
msgid "Edit Stock Status"
msgstr "Bestandsstatus bearbeiten"
@@ -5859,106 +5852,70 @@ msgstr "Teile mit Seriennummern mit diesem BestandObjekt anlegen."
msgid "Select quantity to serialize, and unique serial numbers."
msgstr "Zu serialisierende Anzahl und eindeutige Seriennummern angeben."
-#: stock/templates/stock/location.html:20
-msgid "You are not in the list of owners of this location. This stock location cannot be edited."
-msgstr "Sie sind nicht auf der Liste der Besitzer dieses Lagerorts. Der Bestands-Lagerort kann nicht verändert werden."
-
-#: stock/templates/stock/location.html:37
-msgid "All stock items"
-msgstr "Alle BestandsObjekte"
-
-#: stock/templates/stock/location.html:42
-msgid "Create new stock location"
-msgstr "Neuen Lagerort anlegen"
-
-#: stock/templates/stock/location.html:55
+#: stock/templates/stock/location.html:33
msgid "Check-in Items"
msgstr "Teile einchecken"
-#: stock/templates/stock/location.html:83
+#: stock/templates/stock/location.html:61
msgid "Location actions"
msgstr "Lagerort-Aktionen"
-#: stock/templates/stock/location.html:85
+#: stock/templates/stock/location.html:63
msgid "Edit location"
msgstr "Lagerort bearbeiten"
-#: stock/templates/stock/location.html:87
+#: stock/templates/stock/location.html:65
msgid "Delete location"
msgstr "Lagerort löschen"
-#: stock/templates/stock/location.html:99
-msgid "Location Details"
-msgstr "Lagerort-Details"
+#: stock/templates/stock/location.html:75
+msgid "Create new stock location"
+msgstr "Neuen Lagerort anlegen"
-#: stock/templates/stock/location.html:104
-msgid "Location Path"
-msgstr "Lagerort-Pfad"
+#: stock/templates/stock/location.html:76
+msgid "New Location"
+msgstr "Neuer Lagerort"
-#: stock/templates/stock/location.html:109
-msgid "Location Description"
-msgstr "Lagerort-Beschreibung"
+#: stock/templates/stock/location.html:86
+#, fuzzy
+#| msgid "Delete stock allocation"
+msgid "Top level stock location"
+msgstr "Bestands-Zuordnung löschen"
-#: stock/templates/stock/location.html:114
-#: stock/templates/stock/location.html:155
-#: stock/templates/stock/location_navbar.html:11
-#: stock/templates/stock/location_navbar.html:14
+#: stock/templates/stock/location.html:95
+msgid "You are not in the list of owners of this location. This stock location cannot be edited."
+msgstr "Sie sind nicht auf der Liste der Besitzer dieses Lagerorts. Der Bestands-Lagerort kann nicht verändert werden."
+
+#: stock/templates/stock/location.html:113
+#: stock/templates/stock/location.html:160
msgid "Sublocations"
msgstr "Unter-Lagerorte"
-#: stock/templates/stock/location.html:124
-msgid "Stock Details"
-msgstr "Objekt-Details"
+#: stock/templates/stock/location.html:118
+#: stock/templates/stock/location.html:132
+#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158
+#: templates/js/translated/stock.js:1871 templates/stats.html:93
+#: templates/stats.html:102 users/models.py:43
+msgid "Stock Items"
+msgstr "Teilbestand"
-#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196
+#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170
#: templates/stats.html:97 users/models.py:42
msgid "Stock Locations"
msgstr "Bestand-Lagerorte"
-#: stock/templates/stock/location.html:162 templates/stock_table.html:37
+#: stock/templates/stock/location.html:167 templates/stock_table.html:30
msgid "Printing Actions"
msgstr "Druck Aktionen"
-#: stock/templates/stock/location.html:166 templates/stock_table.html:41
+#: stock/templates/stock/location.html:171 templates/stock_table.html:34
msgid "Print labels"
msgstr "Label drucken"
-#: stock/templates/stock/location.html:250
-msgid "New Location"
-msgstr "Neuer Lagerort"
-
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
-msgstr "Neuen Lagerort anlegen"
-
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr "Sind Sie sicher, dass Sie diesen Lagerort löschen wollen?"
-#: stock/templates/stock/navbar.html:11
-msgid "Stock Item Tracking"
-msgstr "BestandsObjekt-Verfolgung"
-
-#: stock/templates/stock/navbar.html:14
-msgid "History"
-msgstr "Geschichte"
-
-#: stock/templates/stock/navbar.html:30
-msgid "Installed Items"
-msgstr "verbaute Objekte"
-
-#: stock/templates/stock/navbar.html:38
-msgid "Child Items"
-msgstr "Kindobjekte"
-
-#: stock/templates/stock/navbar.html:41
-msgid "Children"
-msgstr "Kinder"
-
-#: stock/templates/stock/stock_adjust.html:43
-msgid "Remove item"
-msgstr "Teil entfernen"
-
#: stock/templates/stock/stock_app_base.html:16
msgid "Loading..."
msgstr "Lade..."
@@ -5967,7 +5924,7 @@ msgstr "Lade..."
msgid "The following stock items will be uninstalled"
msgstr "Die folgenden BestandsObjekte werden nicht mehr verbaut"
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912
msgid "Convert Stock Item"
msgstr "BestandsObjekt umwandeln"
@@ -5988,104 +5945,100 @@ msgstr "Diese Aktion kann nicht einfach rückgängig gemacht werden"
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr "Sind Sie sicher, dass Sie diesen BestandsObjekt-Verfolgungs-Eintrag löschen wollen?"
-#: stock/views.py:158
+#: stock/views.py:162
msgid "Edit Stock Location"
msgstr "BestandsObjekt-Lagerort bearbeiten"
-#: stock/views.py:265 stock/views.py:888 stock/views.py:1010
-#: stock/views.py:1375
+#: stock/views.py:269 stock/views.py:891 stock/views.py:1017
+#: stock/views.py:1299
msgid "Owner is required (ownership control is enabled)"
msgstr "Eigentümer notwendig (Eigentümerkontrolle aktiv)"
-#: stock/views.py:280
+#: stock/views.py:284
msgid "Stock Location QR code"
msgstr "QR-Code für diesen Lagerort"
-#: stock/views.py:299
+#: stock/views.py:303
msgid "Assign to Customer"
msgstr "Kunden zuweisen"
-#: stock/views.py:308
+#: stock/views.py:312
msgid "Customer must be specified"
msgstr "Kunde muss angegeben werden"
-#: stock/views.py:332
+#: stock/views.py:336
msgid "Return to Stock"
msgstr "zurück ins Lager"
-#: stock/views.py:341
+#: stock/views.py:345
msgid "Specify a valid location"
msgstr "gültigen Lagerort angeben"
-#: stock/views.py:352
+#: stock/views.py:356
msgid "Stock item returned from customer"
msgstr "BestandsObjekt retoure vom Kunden"
-#: stock/views.py:363
+#: stock/views.py:367
msgid "Delete All Test Data"
msgstr "alle Testdaten löschen"
-#: stock/views.py:380
+#: stock/views.py:384
msgid "Confirm test data deletion"
msgstr "Löschen Testdaten bestätigen"
-#: stock/views.py:485
+#: stock/views.py:489
msgid "Stock Item QR Code"
msgstr "BestandsObjekt-QR-Code"
-#: stock/views.py:660
+#: stock/views.py:663
msgid "Uninstall Stock Items"
msgstr "BestandsObjekte deinstallieren"
-#: stock/views.py:757 templates/js/translated/stock.js:321
+#: stock/views.py:760 templates/js/translated/stock.js:618
msgid "Confirm stock adjustment"
msgstr "Bestands-Anpassung bestätigen"
-#: stock/views.py:768
+#: stock/views.py:771
msgid "Uninstalled stock items"
msgstr "BestandsObjekte deinstalliert"
-#: stock/views.py:790
+#: stock/views.py:793 templates/js/translated/stock.js:288
msgid "Edit Stock Item"
msgstr "BestandsObjekt bearbeiten"
-#: stock/views.py:936
+#: stock/views.py:943
msgid "Create new Stock Location"
msgstr "Neuen Lagerort erstellen"
-#: stock/views.py:1027
-msgid "Serialize Stock"
-msgstr "Lagerbestand erfassen"
-
-#: stock/views.py:1120
+#: stock/views.py:1044
msgid "Create new Stock Item"
msgstr "Neues BestandsObjekt hinzufügen"
-#: stock/views.py:1262
+#: stock/views.py:1186 templates/js/translated/stock.js:268
msgid "Duplicate Stock Item"
msgstr "Bestand duplizieren"
-#: stock/views.py:1344
+#: stock/views.py:1268
msgid "Quantity cannot be negative"
msgstr "Anzahl kann nicht negativ sein"
-#: stock/views.py:1444
+#: stock/views.py:1368
msgid "Delete Stock Location"
msgstr "Bestand-Lagerort löschen"
-#: stock/views.py:1457
+#: stock/views.py:1381
msgid "Delete Stock Item"
msgstr "BestandsObjekt löschen"
-#: stock/views.py:1468
+#: stock/views.py:1392
msgid "Delete Stock Tracking Entry"
msgstr "Lagerbestands-Tracking-Eintrag löschen"
-#: stock/views.py:1475
+#: stock/views.py:1399
msgid "Edit Stock Tracking Entry"
msgstr "Lagerbestands-Tracking-Eintrag bearbeiten"
-#: stock/views.py:1484
+#: stock/views.py:1408
msgid "Add Stock Tracking Entry"
msgstr "Lagerbestands-Tracking-Eintrag hinzufügen"
@@ -6109,63 +6062,71 @@ msgstr "Seite existiert nicht"
msgid "Index"
msgstr "Index"
-#: templates/InvenTree/index.html:105
-msgid "Starred Parts"
-msgstr "Teilfavoriten"
+#: templates/InvenTree/index.html:88
+#, fuzzy
+#| msgid "Supplied Parts"
+msgid "Subscribed Parts"
+msgstr "Zuliefererteile"
-#: templates/InvenTree/index.html:115
+#: templates/InvenTree/index.html:98
+#, fuzzy
+#| msgid "Subcategories"
+msgid "Subscribed Categories"
+msgstr "Unter-Kategorien"
+
+#: templates/InvenTree/index.html:108
msgid "Latest Parts"
msgstr "neueste Teile"
-#: templates/InvenTree/index.html:126
+#: templates/InvenTree/index.html:119
msgid "BOM Waiting Validation"
msgstr "Stücklisten erwarten Kontrolle"
-#: templates/InvenTree/index.html:153
+#: templates/InvenTree/index.html:145
msgid "Recently Updated"
msgstr "kürzlich aktualisiert"
-#: templates/InvenTree/index.html:176
+#: templates/InvenTree/index.html:168
msgid "Depleted Stock"
msgstr "Verbrauchter Bestand"
-#: templates/InvenTree/index.html:199
+#: templates/InvenTree/index.html:191
msgid "Expired Stock"
msgstr "abgelaufener Bestand"
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:202
msgid "Stale Stock"
msgstr "Lagerbestand überfällig"
-#: templates/InvenTree/index.html:232
+#: templates/InvenTree/index.html:224
msgid "Build Orders In Progress"
msgstr "laufende Bauaufträge"
-#: templates/InvenTree/index.html:243
+#: templates/InvenTree/index.html:235
msgid "Overdue Build Orders"
msgstr "überfällige Bauaufträge"
-#: templates/InvenTree/index.html:263
+#: templates/InvenTree/index.html:255
msgid "Outstanding Purchase Orders"
msgstr "ausstehende Bestellungen"
-#: templates/InvenTree/index.html:274
+#: templates/InvenTree/index.html:266
msgid "Overdue Purchase Orders"
msgstr "überfällige Bestellungen"
-#: templates/InvenTree/index.html:294
+#: templates/InvenTree/index.html:286
msgid "Outstanding Sales Orders"
msgstr "ausstehende Aufträge"
-#: templates/InvenTree/index.html:305
+#: templates/InvenTree/index.html:297
msgid "Overdue Sales Orders"
msgstr "überfällige Aufträge"
-#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14
+#: templates/InvenTree/search.html:8
msgid "Search Results"
msgstr "Suchergebnisse"
-#: templates/InvenTree/search.html:24
+#: templates/InvenTree/search.html:22
msgid "Enter a search query"
msgstr "Eine Sucheanfrage eingeben"
@@ -6185,23 +6146,23 @@ msgstr "Kategorie-Einstellungen"
msgid "Currency Settings"
msgstr "Währungseinstellungen"
-#: templates/InvenTree/settings/currencies.html:23
+#: templates/InvenTree/settings/currencies.html:19
msgid "Base Currency"
msgstr "Basiswährung"
-#: templates/InvenTree/settings/currencies.html:27
+#: templates/InvenTree/settings/currencies.html:24
msgid "Exchange Rates"
msgstr "Wechselkurse"
-#: templates/InvenTree/settings/currencies.html:37
+#: templates/InvenTree/settings/currencies.html:38
msgid "Last Update"
msgstr "Letzte Aktualisierung"
-#: templates/InvenTree/settings/currencies.html:43
+#: templates/InvenTree/settings/currencies.html:44
msgid "Never"
msgstr "Nie"
-#: templates/InvenTree/settings/currencies.html:48
+#: templates/InvenTree/settings/currencies.html:49
msgid "Update Now"
msgstr "Jetzt aktualisieren"
@@ -6209,147 +6170,78 @@ msgstr "Jetzt aktualisieren"
msgid "Server Settings"
msgstr "Server Einstellungen"
-#: templates/InvenTree/settings/header.html:7
-msgid "Setting"
-msgstr "Einstellungen"
-
#: templates/InvenTree/settings/login.html:9
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:12
-#: templates/InvenTree/settings/user_settings.html:9
-msgid "User Settings"
-msgstr "Benutzer-Einstellungen"
-
-#: templates/InvenTree/settings/navbar.html:15
-#: templates/InvenTree/settings/navbar.html:17
-msgid "Account"
-msgstr "Konto"
-
-#: templates/InvenTree/settings/navbar.html:21
-#: templates/InvenTree/settings/navbar.html:23
-msgid "Home Page"
-msgstr "Startseite"
-
-#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29
-#: templates/js/translated/tables.js:375 templates/search_form.html:6
-#: templates/search_form.html:8
-msgid "Search"
-msgstr "Suche"
-
-#: templates/InvenTree/settings/navbar.html:33
-#: templates/InvenTree/settings/navbar.html:35
-msgid "Labels"
-msgstr "Labels"
-
-#: templates/InvenTree/settings/navbar.html:39
-#: templates/InvenTree/settings/navbar.html:41
-msgid "Reports"
-msgstr "Berichte"
-
-#: templates/InvenTree/settings/navbar.html:45
-#: templates/InvenTree/settings/navbar.html:47
-msgid "Forms"
-msgstr "Formulare"
-
-#: templates/InvenTree/settings/navbar.html:52
-#: templates/InvenTree/settings/navbar.html:54
-#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90
-msgid "Settings"
-msgstr "Einstellungen"
-
-#: templates/InvenTree/settings/navbar.html:62
-msgid "InvenTree Settings"
-msgstr "InvenTree-Einstellungen"
-
-#: templates/InvenTree/settings/navbar.html:65
-#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9
-msgid "Server"
-msgstr "Server"
-
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87
-msgid "Login"
-msgstr "Einloggen"
-
-#: templates/InvenTree/settings/navbar.html:77
-#: templates/InvenTree/settings/navbar.html:79
-msgid "Barcodes"
-msgstr "Barcodes"
-
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85
-msgid "Currencies"
-msgstr "Währungen"
-
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91
-msgid "Reporting"
-msgstr "Berichte"
-
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103
-msgid "Categories"
-msgstr "Kategorien"
-
#: templates/InvenTree/settings/part.html:7
msgid "Part Settings"
msgstr "Teil-Einstellungen"
-#: templates/InvenTree/settings/part.html:12
-msgid "Part Options"
-msgstr "Teil-Optionen"
-
#: templates/InvenTree/settings/part.html:43
msgid "Part Import"
msgstr "Teileimport"
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:47
msgid "Import Part"
msgstr "Teil importieren"
-#: templates/InvenTree/settings/part.html:59
+#: templates/InvenTree/settings/part.html:61
msgid "Part Parameter Templates"
msgstr "Teil-Parametervorlage"
-#: templates/InvenTree/settings/po.html:9
+#: templates/InvenTree/settings/po.html:7
msgid "Purchase Order Settings"
msgstr "Bestellungs-Einstellungen"
-#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr "Berichts-Einstellungen"
-#: templates/InvenTree/settings/setting.html:29
+#: templates/InvenTree/settings/setting.html:28
msgid "No value set"
msgstr "Kein Wert angegeben"
-#: templates/InvenTree/settings/setting.html:41
+#: templates/InvenTree/settings/setting.html:39
msgid "Edit setting"
msgstr "Einstellungen ändern"
-#: templates/InvenTree/settings/settings.html:154
+#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93
+msgid "Settings"
+msgstr "Einstellungen"
+
+#: templates/InvenTree/settings/settings.html:65
+#, fuzzy
+#| msgid "Edit setting"
+msgid "Edit Global Setting"
+msgstr "Einstellungen ändern"
+
+#: templates/InvenTree/settings/settings.html:65
+#, fuzzy
+#| msgid "Edit setting"
+msgid "Edit User Setting"
+msgstr "Einstellungen ändern"
+
+#: templates/InvenTree/settings/settings.html:148
msgid "No category parameter templates found"
msgstr "Keine Kategorie-Parametervorlagen gefunden"
-#: templates/InvenTree/settings/settings.html:176
-#: templates/InvenTree/settings/settings.html:275
+#: templates/InvenTree/settings/settings.html:170
+#: templates/InvenTree/settings/settings.html:269
msgid "Edit Template"
msgstr "Vorlage bearbeiten"
-#: templates/InvenTree/settings/settings.html:177
-#: templates/InvenTree/settings/settings.html:276
+#: templates/InvenTree/settings/settings.html:171
+#: templates/InvenTree/settings/settings.html:270
msgid "Delete Template"
msgstr "Vorlage löschen"
-#: templates/InvenTree/settings/settings.html:255
+#: templates/InvenTree/settings/settings.html:249
msgid "No part parameter templates found"
msgstr "Keine Teilparametervorlagen gefunden"
@@ -6365,135 +6257,169 @@ msgstr "Bestands-Einstellungen"
msgid "Account Settings"
msgstr "Kontoeinstellungen"
-#: templates/InvenTree/settings/user.html:19
+#: templates/InvenTree/settings/user.html:18
#: templates/js/translated/helpers.js:26
msgid "Edit"
msgstr "Bearbeiten"
-#: templates/InvenTree/settings/user.html:21
+#: templates/InvenTree/settings/user.html:20
#: templates/account/password_reset_from_key.html:4
#: templates/account/password_reset_from_key.html:7
msgid "Change Password"
msgstr "Passwort ändern"
-#: templates/InvenTree/settings/user.html:28
+#: templates/InvenTree/settings/user.html:31
msgid "Username"
msgstr "Benutzername"
-#: templates/InvenTree/settings/user.html:32
+#: templates/InvenTree/settings/user.html:35
msgid "First Name"
msgstr "Vorname"
-#: templates/InvenTree/settings/user.html:36
+#: templates/InvenTree/settings/user.html:39
msgid "Last Name"
msgstr "Nachname"
-#: templates/InvenTree/settings/user.html:42
-msgid "E-Mail"
+#: templates/InvenTree/settings/user.html:54
+msgid "The following email addresses are associated with your account:"
msgstr ""
-#: templates/InvenTree/settings/user.html:47
-msgid "The following e-mail addresses are associated with your account:"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:61
+#: templates/InvenTree/settings/user.html:74
msgid "Verified"
msgstr ""
-#: templates/InvenTree/settings/user.html:63
+#: templates/InvenTree/settings/user.html:76
msgid "Unverified"
msgstr ""
-#: templates/InvenTree/settings/user.html:65
+#: templates/InvenTree/settings/user.html:78
msgid "Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:71
+#: templates/InvenTree/settings/user.html:84
msgid "Make Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:72
+#: templates/InvenTree/settings/user.html:85
msgid "Re-send Verification"
msgstr ""
-#: templates/InvenTree/settings/user.html:73
-#: templates/InvenTree/settings/user.html:130
+#: templates/InvenTree/settings/user.html:86
+#: templates/InvenTree/settings/user.html:153
msgid "Remove"
msgstr ""
-#: templates/InvenTree/settings/user.html:80
+#: templates/InvenTree/settings/user.html:93
msgid "Warning:"
msgstr ""
-#: templates/InvenTree/settings/user.html:81
-msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc."
+#: templates/InvenTree/settings/user.html:94
+msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc."
msgstr ""
-#: templates/InvenTree/settings/user.html:88
-msgid "Add E-mail Address"
-msgstr ""
+#: templates/InvenTree/settings/user.html:101
+#, fuzzy
+#| msgid "Contact email address"
+msgid "Add Email Address"
+msgstr "Kontakt-Email"
-#: templates/InvenTree/settings/user.html:93
-msgid "Add E-mail"
-msgstr ""
+#: templates/InvenTree/settings/user.html:111
+#, fuzzy
+#| msgid "Contact email address"
+msgid "Enter e-mail address"
+msgstr "Kontakt-Email"
-#: templates/InvenTree/settings/user.html:100
+#: templates/InvenTree/settings/user.html:113
+#, fuzzy
+#| msgid "Email"
+msgid "Add Email"
+msgstr "Email"
+
+#: templates/InvenTree/settings/user.html:123
msgid "Social Accounts"
msgstr ""
-#: templates/InvenTree/settings/user.html:105
+#: templates/InvenTree/settings/user.html:128
msgid "You can sign in to your account using any of the following third party accounts:"
msgstr ""
-#: templates/InvenTree/settings/user.html:138
-msgid "You currently have no social network accounts connected to this account."
+#: templates/InvenTree/settings/user.html:162
+msgid "There are no social network accounts connected to your InvenTree account"
msgstr ""
-#: templates/InvenTree/settings/user.html:142
+#: templates/InvenTree/settings/user.html:167
msgid "Add a 3rd Party Account"
msgstr ""
-#: templates/InvenTree/settings/user.html:153
-msgid "Theme Settings"
-msgstr "Anzeige-Einstellungen"
-
-#: templates/InvenTree/settings/user.html:174
-msgid "Set Theme"
-msgstr "Design auswählen"
-
-#: templates/InvenTree/settings/user.html:181
+#: templates/InvenTree/settings/user.html:177
msgid "Language Settings"
msgstr "Spracheinstellung"
-#: templates/InvenTree/settings/user.html:200
+#: templates/InvenTree/settings/user.html:186
+#, fuzzy
+#| msgid "Set Language"
+msgid "Select language"
+msgstr "Sprache festlegen"
+
+#: templates/InvenTree/settings/user.html:202
#, python-format
msgid "%(lang_translated)s%% translated"
msgstr "%(lang_translated)s%% übersetzt"
-#: templates/InvenTree/settings/user.html:202
+#: templates/InvenTree/settings/user.html:204
msgid "No translations available"
msgstr "Keine Übersetzungen verfügbar"
-#: templates/InvenTree/settings/user.html:209
+#: templates/InvenTree/settings/user.html:211
msgid "Set Language"
msgstr "Sprache festlegen"
-#: templates/InvenTree/settings/user.html:214
+#: templates/InvenTree/settings/user.html:213
+msgid "Some languages are not complete"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:215
+msgid "Show only sufficent"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:217
+#, fuzzy
+#| msgid "Show stale stock"
+msgid "Show them too"
+msgstr "Alten Bestand anzeigen"
+
+#: templates/InvenTree/settings/user.html:224
msgid "Help the translation efforts!"
msgstr "Hilf bei der Übersetzung!"
-#: templates/InvenTree/settings/user.html:215
+#: templates/InvenTree/settings/user.html:225
#, python-format
msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
msgstr "Die Übersetzung von InvenTree wird von Nutzern mit Crowdin betrieben. Wir ermutigen zur und freuen uns über jeden Mithilfe!"
-#: templates/InvenTree/settings/user.html:223
-msgid "Do you really want to remove the selected e-mail address?"
+#: templates/InvenTree/settings/user.html:233
+msgid "Do you really want to remove the selected email address?"
msgstr ""
-#: templates/InvenTree/settings/user_forms.html:9
-msgid "Form Settings"
-msgstr "Formulareinstellungen"
+#: templates/InvenTree/settings/user_display.html:9
+#, fuzzy
+#| msgid "Email Settings"
+msgid "Display Settings"
+msgstr "E-Mail-Einstellungen"
+
+#: templates/InvenTree/settings/user_display.html:25
+msgid "Theme Settings"
+msgstr "Anzeige-Einstellungen"
+
+#: templates/InvenTree/settings/user_display.html:35
+#, fuzzy
+#| msgid "Set Theme"
+msgid "Select theme"
+msgstr "Design auswählen"
+
+#: templates/InvenTree/settings/user_display.html:46
+msgid "Set Theme"
+msgstr "Design auswählen"
#: templates/InvenTree/settings/user_homepage.html:9
msgid "Home Page Settings"
@@ -6507,124 +6433,143 @@ msgstr "Labeleinstellungen"
msgid "Search Settings"
msgstr "Sucheinstellungen"
-#: templates/about.html:13
+#: templates/InvenTree/settings/user_settings.html:9
+msgid "User Settings"
+msgstr "Benutzer-Einstellungen"
+
+#: templates/about.html:10
msgid "InvenTree Version Information"
msgstr "InvenTree-Versionsinformationen"
-#: templates/about.html:22
-msgid "InvenTree Version"
-msgstr "InvenTree-Version"
-
-#: templates/about.html:27
-msgid "Development Version"
-msgstr "Entwicklungsversion"
-
-#: templates/about.html:30
-msgid "Up to Date"
-msgstr "Aktuell"
-
-#: templates/about.html:32
-msgid "Update Available"
-msgstr "Aktualisierung verfügbar"
-
-#: templates/about.html:42
-msgid "Commit Hash"
-msgstr "Commit-Hash"
-
-#: templates/about.html:49
-msgid "Commit Date"
-msgstr "Commit-Datum"
-
-#: templates/about.html:55
-msgid "InvenTree Documentation"
-msgstr "InvenTree-Dokumentation"
-
-#: templates/about.html:60
-msgid "API Version"
-msgstr "API-Version"
-
-#: templates/about.html:65
-msgid "Python Version"
-msgstr "Python-Version"
-
-#: templates/about.html:70
-msgid "Django Version"
-msgstr "Django-Version"
-
-#: templates/about.html:75
-msgid "View Code on GitHub"
-msgstr "Code auf GitHub ansehen"
-
-#: templates/about.html:80
-msgid "Credits"
-msgstr "Danksagung"
-
-#: templates/about.html:85
-msgid "Mobile App"
-msgstr "Mobile App"
-
-#: templates/about.html:90
-msgid "Submit Bug Report"
-msgstr "Fehlerbericht senden"
-
-#: templates/about.html:97 templates/clip.html:4
-msgid "copy to clipboard"
-msgstr "In die Zwischenablage kopieren"
-
-#: templates/about.html:97
-msgid "copy version information"
-msgstr "Versionsinformationen kopieren"
-
-#: templates/about.html:107 templates/js/translated/modals.js:50
-#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678
-#: templates/js/translated/modals.js:982 templates/modals.html:29
-#: templates/modals.html:54
+#: templates/about.html:11 templates/about.html:105
+#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:964 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr "Schliessen"
+#: templates/about.html:20
+msgid "InvenTree Version"
+msgstr "InvenTree-Version"
+
+#: templates/about.html:25
+msgid "Development Version"
+msgstr "Entwicklungsversion"
+
+#: templates/about.html:28
+msgid "Up to Date"
+msgstr "Aktuell"
+
+#: templates/about.html:30
+msgid "Update Available"
+msgstr "Aktualisierung verfügbar"
+
+#: templates/about.html:40
+msgid "Commit Hash"
+msgstr "Commit-Hash"
+
+#: templates/about.html:47
+msgid "Commit Date"
+msgstr "Commit-Datum"
+
+#: templates/about.html:53
+msgid "InvenTree Documentation"
+msgstr "InvenTree-Dokumentation"
+
+#: templates/about.html:58
+msgid "API Version"
+msgstr "API-Version"
+
+#: templates/about.html:63
+msgid "Python Version"
+msgstr "Python-Version"
+
+#: templates/about.html:68
+msgid "Django Version"
+msgstr "Django-Version"
+
+#: templates/about.html:73
+msgid "View Code on GitHub"
+msgstr "Code auf GitHub ansehen"
+
+#: templates/about.html:78
+msgid "Credits"
+msgstr "Danksagung"
+
+#: templates/about.html:83
+msgid "Mobile App"
+msgstr "Mobile App"
+
+#: templates/about.html:88
+msgid "Submit Bug Report"
+msgstr "Fehlerbericht senden"
+
+#: templates/about.html:95 templates/clip.html:4
+msgid "copy to clipboard"
+msgstr "In die Zwischenablage kopieren"
+
+#: templates/about.html:95
+msgid "copy version information"
+msgstr "Versionsinformationen kopieren"
+
#: templates/account/email_confirm.html:6
#: templates/account/email_confirm.html:10
-msgid "Confirm E-mail Address"
-msgstr ""
+#, fuzzy
+#| msgid "Contact email address"
+msgid "Confirm Email Address"
+msgstr "Kontakt-Email"
#: templates/account/email_confirm.html:16
#, python-format
-msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s."
+msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
#: templates/account/email_confirm.html:27
#, python-format
-msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request."
+msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:5 templates/account/login.html:14
-#: templates/account/login.html:36
+#: templates/account/login.html:6 templates/account/login.html:16
+#: templates/account/login.html:39
msgid "Sign In"
msgstr ""
-#: templates/account/login.html:19
+#: templates/account/login.html:21
#, python-format
-msgid "Please sign in with one\n"
+msgid ""
+"Please sign in with one\n"
"of your existing third party accounts or sign up\n"
"for a account and sign in below:"
msgstr ""
-#: templates/account/login.html:23
+#: templates/account/login.html:25
#, python-format
-msgid "If you have not created an account yet, then please\n"
+msgid ""
+"If you have not created an account yet, then please\n"
"sign up first."
msgstr ""
-#: templates/account/login.html:38
+#: templates/account/login.html:42
msgid "Forgot Password?"
msgstr ""
-#: templates/account/login.html:45
+#: templates/account/login.html:47
+#, fuzzy
+#| msgid "InvenTree Instance Name"
+msgid "InvenTree demo instance"
+msgstr "InvenTree Instanzname"
+
+#: templates/account/login.html:47
+msgid "Click here for login details"
+msgstr ""
+
+#: templates/account/login.html:55
msgid "or use SSO"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
-#: templates/account/logout.html:17
+#: templates/account/logout.html:20
msgid "Sign Out"
msgstr ""
@@ -6632,13 +6577,17 @@ msgstr ""
msgid "Are you sure you want to sign out?"
msgstr ""
+#: templates/account/logout.html:19
+msgid "Back to Site"
+msgstr ""
+
#: templates/account/password_reset.html:5
#: templates/account/password_reset.html:12
msgid "Password Reset"
msgstr ""
#: templates/account/password_reset.html:18
-msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it."
+msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it."
msgstr ""
#: templates/account/password_reset.html:23
@@ -6658,11 +6607,13 @@ msgstr ""
msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
msgstr ""
-#: templates/account/password_reset_from_key.html:17
-msgid "change password"
-msgstr ""
+#: templates/account/password_reset_from_key.html:18
+#, fuzzy
+#| msgid "Change Password"
+msgid "Change password"
+msgstr "Passwort ändern"
-#: templates/account/password_reset_from_key.html:20
+#: templates/account/password_reset_from_key.html:22
msgid "Your password is now changed."
msgstr ""
@@ -6679,6 +6630,91 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/admin_button.html:2
+msgid "View in administration panel"
+msgstr ""
+
+#: templates/base.html:96
+#, fuzzy
+#| msgid "Server status"
+msgid "Server Restart Required"
+msgstr "Serverstatus"
+
+#: templates/base.html:99
+msgid "A configuration option has been changed which requires a server restart"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Contact your system administrator for further information"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:7
+#, fuzzy
+#| msgid "User responsible for this build order"
+msgid "Stock is required for the following build order"
+msgstr "Nutzer der für diesen Bauauftrag zuständig ist"
+
+#: templates/email/build_order_required_stock.html:8
+#, python-format
+msgid "Build order %(build)s - building %(quantity)s x %(part)s"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:10
+msgid "Click on the following link to view this build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:14
+#, fuzzy
+#| msgid "Allow sale of expired stock"
+msgid "The following parts are low on required stock"
+msgstr "Verkauf von abgelaufenem Bestand erlaubt"
+
+#: templates/email/build_order_required_stock.html:18
+#: templates/js/translated/bom.js:989
+#, fuzzy
+#| msgid "Build Quantity"
+msgid "Required Quantity"
+msgstr "Bau-Anzahl"
+
+#: templates/email/build_order_required_stock.html:19
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129
+#: templates/js/translated/build.js:1749
+msgid "Available"
+msgstr "Verfügbar"
+
+#: templates/email/build_order_required_stock.html:38
+#: templates/email/low_stock_notification.html:31
+msgid "You are receiving this email because you are subscribed to notifications for this part "
+msgstr ""
+
+#: templates/email/email.html:35
+#, fuzzy
+#| msgid "InvenTree Version"
+msgid "InvenTree version"
+msgstr "InvenTree-Version"
+
+#: templates/email/low_stock_notification.html:7
+#, python-format
+msgid " The available stock for %(part)s has fallen below the configured minimum level"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:9
+msgid "Click on the following link to view this part"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:17
+#, fuzzy
+#| msgid "Stale Stock"
+msgid "Total Stock"
+msgstr "Lagerbestand überfällig"
+
+#: templates/email/low_stock_notification.html:19
+#, fuzzy
+#| msgid "Build Quantity"
+msgid "Minimum Quantity"
+msgstr "Bau-Anzahl"
+
#: templates/image_download.html:8
msgid "Specify URL for downloading image"
msgstr "URL für Bild-Donwload angeben"
@@ -6695,138 +6731,59 @@ msgstr "Der angegebene Server muss erreichbar sein"
msgid "Remote image must not exceed maximum allowable file size"
msgstr "Das Bild darf nicht größer als die maximal-erlaubte Größe sein"
-#: templates/js/report.js:47 templates/js/translated/report.js:67
-msgid "items selected"
-msgstr "BestandsObjekt ausgewählt"
-
-#: templates/js/report.js:55 templates/js/translated/report.js:75
-msgid "Select Report Template"
-msgstr "Bericht-Vorlage auswählen"
-
-#: templates/js/report.js:70 templates/js/translated/report.js:90
-msgid "Select Test Report Template"
-msgstr "Test-Bericht-Vorlage auswählen"
-
-#: templates/js/report.js:98 templates/js/translated/label.js:29
-#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297
-msgid "Select Stock Items"
-msgstr "BestandsObjekte auswählen"
-
-#: templates/js/report.js:99 templates/js/translated/report.js:119
-msgid "Stock item(s) must be selected before printing reports"
-msgstr "BestandsObjekt(e) müssen vor dem Berichtsdruck ausgewählt werden"
-
-#: templates/js/report.js:116 templates/js/report.js:169
-#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331 templates/js/translated/report.js:136
-#: templates/js/translated/report.js:189 templates/js/translated/report.js:243
-#: templates/js/translated/report.js:297 templates/js/translated/report.js:351
-msgid "No Reports Found"
-msgstr "Keine Berichte gefunden"
-
-#: templates/js/report.js:117 templates/js/translated/report.js:137
-msgid "No report templates found which match selected stock item(s)"
-msgstr "Keine Berichtsvorlagen für ausgewählte BestandsObjekt(e) gefunden"
-
-#: templates/js/report.js:152 templates/js/translated/report.js:172
-msgid "Select Builds"
-msgstr "Bauauftrag auswählen"
-
-#: templates/js/report.js:153 templates/js/translated/report.js:173
-msgid "Build(s) must be selected before printing reports"
-msgstr "Bauauftrag muss vor dem Berichtsdruck ausgewählt werden"
-
-#: templates/js/report.js:170 templates/js/translated/report.js:190
-msgid "No report templates found which match selected build(s)"
-msgstr "Keine Berichtvorlagen für ausgewählten Bauauftrag gefunden"
-
-#: templates/js/report.js:205 templates/js/translated/build.js:948
-#: templates/js/translated/label.js:134 templates/js/translated/report.js:225
-msgid "Select Parts"
-msgstr "Teile auswählen"
-
-#: templates/js/report.js:206 templates/js/translated/report.js:226
-msgid "Part(s) must be selected before printing reports"
-msgstr "Teil muss vor dem Berichtsdruck ausgewählt werden"
-
-#: templates/js/report.js:224 templates/js/translated/report.js:244
-msgid "No report templates found which match selected part(s)"
-msgstr "Keine Berichtvorlagen für ausgewählte Teile gefunden"
-
-#: templates/js/report.js:259 templates/js/translated/report.js:279
-msgid "Select Purchase Orders"
-msgstr "Bestellungen auswählen"
-
-#: templates/js/report.js:260 templates/js/translated/report.js:280
-msgid "Purchase Order(s) must be selected before printing report"
-msgstr "Bestellung muss vor dem Berichtsdruck ausgewählt werden"
-
-#: templates/js/report.js:278 templates/js/report.js:332
-#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
-msgid "No report templates found which match selected orders"
-msgstr "Keine Berichtvorlagen für ausgewählte Bestellungen gefunden"
-
-#: templates/js/report.js:313 templates/js/translated/report.js:333
-msgid "Select Sales Orders"
-msgstr "Aufträge auswählen"
-
-#: templates/js/report.js:314 templates/js/translated/report.js:334
-msgid "Sales Order(s) must be selected before printing report"
-msgstr "Auftrag muss vor dem Berichtsdruck ausgewählt werden"
-
-#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034
msgid "No Response"
msgstr "Keine Antwort"
-#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053
+#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035
msgid "No response from the InvenTree server"
msgstr "keine Antwort vom InvenTree Server"
-#: templates/js/translated/api.js:181
+#: templates/js/translated/api.js:191
msgid "Error 400: Bad request"
msgstr "Fehler 400: Fehlerhafte Anfrage"
-#: templates/js/translated/api.js:182
+#: templates/js/translated/api.js:192
msgid "API request returned error code 400"
msgstr "Fehler-Code 400 zurückgegeben"
-#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044
msgid "Error 401: Not Authenticated"
msgstr "Fehler 401: Nicht Angemeldet"
-#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063
+#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045
msgid "Authentication credentials not supplied"
msgstr "Authentication Kredentials nicht angegeben"
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049
msgid "Error 403: Permission Denied"
msgstr "Fehler 403: keine Berechtigung"
-#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050
msgid "You do not have the required permissions to access this function"
msgstr "Fehlende Berechtigung für diese Aktion"
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054
msgid "Error 404: Resource Not Found"
msgstr "Fehler 404: Ressource nicht gefunden"
-#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055
msgid "The requested resource could not be located on the server"
msgstr "Die angefragte Ressource kann auf diesem Server nicht gefunden werden"
-#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059
msgid "Error 408: Timeout"
msgstr "Fehler 408: Zeitüberschreitung"
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060
msgid "Connection timeout while requesting data from server"
msgstr "Verbindungszeitüberschreitung bei der Datenanforderung"
-#: templates/js/translated/api.js:205
+#: templates/js/translated/api.js:215
msgid "Unhandled Error Code"
msgstr "Unbehandelter Fehler-Code"
-#: templates/js/translated/api.js:206
+#: templates/js/translated/api.js:216
msgid "Error code"
msgstr "Fehler-Code"
@@ -6834,292 +6791,403 @@ msgstr "Fehler-Code"
msgid "No attachments found"
msgstr "Keine Anhänge gefunden"
-#: templates/js/translated/attachment.js:91
+#: templates/js/translated/attachment.js:95
msgid "Upload Date"
msgstr "Hochladedatum"
-#: templates/js/translated/attachment.js:104
+#: templates/js/translated/attachment.js:108
msgid "Edit attachment"
msgstr "Anhang bearbeiten"
-#: templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:115
msgid "Delete attachment"
msgstr "Anhang löschen"
-#: templates/js/translated/barcode.js:30
+#: templates/js/translated/barcode.js:29
msgid "Scan barcode data here using wedge scanner"
msgstr "Hier den Barcode scannen"
-#: templates/js/translated/barcode.js:32
+#: templates/js/translated/barcode.js:31
msgid "Enter barcode data"
msgstr "Barcode-Daten eingeben"
-#: templates/js/translated/barcode.js:36
+#: templates/js/translated/barcode.js:35
msgid "Barcode"
msgstr "Barcode"
-#: templates/js/translated/barcode.js:54
+#: templates/js/translated/barcode.js:53
msgid "Enter optional notes for stock transfer"
msgstr "Optionale Notizen zu Bestandsübertragung eingeben"
-#: templates/js/translated/barcode.js:55
+#: templates/js/translated/barcode.js:54
msgid "Enter notes"
msgstr "Notizen eingeben"
-#: templates/js/translated/barcode.js:93
+#: templates/js/translated/barcode.js:92
msgid "Server error"
msgstr "Server-Fehler"
-#: templates/js/translated/barcode.js:114
+#: templates/js/translated/barcode.js:113
msgid "Unknown response from server"
msgstr "Unbekannte Antwort von Server erhalten"
-#: templates/js/translated/barcode.js:141
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/barcode.js:140
+#: templates/js/translated/modals.js:1024
msgid "Invalid server response"
msgstr "Ungültige Antwort von Server"
-#: templates/js/translated/barcode.js:234
+#: templates/js/translated/barcode.js:233
msgid "Scan barcode data below"
msgstr "Barcode unterhalb scannen"
-#: templates/js/translated/barcode.js:281 templates/navbar.html:65
+#: templates/js/translated/barcode.js:280 templates/navbar.html:69
msgid "Scan Barcode"
msgstr "Barcode scannen"
-#: templates/js/translated/barcode.js:292
+#: templates/js/translated/barcode.js:291
msgid "No URL in response"
msgstr "keine URL in der Antwort"
-#: templates/js/translated/barcode.js:310
+#: templates/js/translated/barcode.js:309
msgid "Link Barcode to Stock Item"
msgstr "Barcode mit BestandsObjekt verknüpfen"
-#: templates/js/translated/barcode.js:333
+#: templates/js/translated/barcode.js:332
msgid "This will remove the association between this stock item and the barcode"
msgstr "Dadurch wird die Verknüpfung zwischen diesem BestandsObjekt und dem Barcode entfernt"
-#: templates/js/translated/barcode.js:339
+#: templates/js/translated/barcode.js:338
msgid "Unlink"
msgstr "Entfernen"
-#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273
+#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570
msgid "Remove stock item"
msgstr "BestandsObjekt entfernen"
-#: templates/js/translated/barcode.js:440
+#: templates/js/translated/barcode.js:439
msgid "Check Stock Items into Location"
msgstr "BestandsObjekte in Lagerort buchen"
-#: templates/js/translated/barcode.js:444
-#: templates/js/translated/barcode.js:571
+#: templates/js/translated/barcode.js:443
+#: templates/js/translated/barcode.js:573
msgid "Check In"
msgstr "Einbuchen"
-#: templates/js/translated/barcode.js:486
-#: templates/js/translated/barcode.js:610
+#: templates/js/translated/barcode.js:485
+#: templates/js/translated/barcode.js:612
msgid "Error transferring stock"
msgstr "Fehler bei Bestandsübertragung"
-#: templates/js/translated/barcode.js:505
+#: templates/js/translated/barcode.js:507
msgid "Stock Item already scanned"
msgstr "BestandsObjekte bereits gescannt"
-#: templates/js/translated/barcode.js:509
+#: templates/js/translated/barcode.js:511
msgid "Stock Item already in this location"
msgstr "BestandsObjekt besteht bereits in diesem Lagerort"
-#: templates/js/translated/barcode.js:516
+#: templates/js/translated/barcode.js:518
msgid "Added stock item"
msgstr "BestandsObjekt hinzugefügt"
-#: templates/js/translated/barcode.js:523
+#: templates/js/translated/barcode.js:525
msgid "Barcode does not match Stock Item"
msgstr "Barcode entspricht keinem BestandsObjekt"
-#: templates/js/translated/barcode.js:566
+#: templates/js/translated/barcode.js:568
msgid "Check Into Location"
msgstr "In Lagerorten buchen"
-#: templates/js/translated/barcode.js:629
+#: templates/js/translated/barcode.js:633
msgid "Barcode does not match a valid location"
msgstr "Barcode entspricht keinem Lagerort"
-#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495
+#: templates/js/translated/bom.js:184
+#, fuzzy
+#| msgid "Remove part"
+msgid "Remove substitute part"
+msgstr "Teil entfernen"
+
+#: templates/js/translated/bom.js:226
+msgid "Select and add a new variant item using the input below"
+msgstr ""
+
+#: templates/js/translated/bom.js:237
+#, fuzzy
+#| msgid "Are you sure you wish to cancel this build?"
+msgid "Are you sure you wish to remove this substitute part link?"
+msgstr "Sind Sie sicher, dass sie diesen Bauauftrag abbrechen möchten?"
+
+#: templates/js/translated/bom.js:243
+#, fuzzy
+#| msgid "Remove stock item"
+msgid "Remove Substitute Part"
+msgstr "BestandsObjekt entfernen"
+
+#: templates/js/translated/bom.js:282
+#, fuzzy
+#| msgid "Add Supplier"
+msgid "Add Substitute"
+msgstr "Zulieferer hinzufügen"
+
+#: templates/js/translated/bom.js:283
+#, fuzzy
+#| msgid "Edit BOM Item"
+msgid "Edit BOM Item Substitutes"
+msgstr "Stücklisten-Position bearbeiten"
+
+#: templates/js/translated/bom.js:402
+#, fuzzy
+#| msgid "Update Available"
+msgid "Substitutes Available"
+msgstr "Aktualisierung verfügbar"
+
+#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111
+#, fuzzy
+#| msgid "Edit stock allocation"
+msgid "Variant stock allowed"
+msgstr "Bestands-Zuordnung bearbeiten"
+
+#: templates/js/translated/bom.js:411
msgid "Open subassembly"
msgstr "Unterbaugruppe öffnen"
-#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744
-#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522
-msgid "Available"
-msgstr "Verfügbar"
+#: templates/js/translated/bom.js:483
+msgid "Substitutes"
+msgstr ""
-#: templates/js/translated/bom.js:307
+#: templates/js/translated/bom.js:498
msgid "Purchase Price Range"
msgstr "Kaufpreisspanne"
-#: templates/js/translated/bom.js:314
+#: templates/js/translated/bom.js:505
msgid "Purchase Price Average"
msgstr "Durchschnittlicher Kaufpreis"
-#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449
+#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643
msgid "View BOM"
msgstr "Stückliste anzeigen"
-#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798
-#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285
+#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183
+#: templates/js/translated/order.js:1298
msgid "Actions"
msgstr "Aktionen"
-#: templates/js/translated/bom.js:423
+#: templates/js/translated/bom.js:614
msgid "Validate BOM Item"
msgstr "Stücklisten-Position kontrollieren"
-#: templates/js/translated/bom.js:425
+#: templates/js/translated/bom.js:616
msgid "This line has been validated"
msgstr "Diese Position wurde kontrolliert"
-#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590
+#: templates/js/translated/bom.js:618
+#, fuzzy
+#| msgid "Edit supplier part"
+msgid "Edit substitute parts"
+msgstr "Zuliefererteil bearbeiten"
+
+#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794
msgid "Edit BOM Item"
msgstr "Stücklisten-Position bearbeiten"
-#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575
+#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777
msgid "Delete BOM Item"
msgstr "Stücklisten-Position löschen"
-#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:1593
+#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855
msgid "No BOM items found"
msgstr "Keine Stücklisten-Position(en) gefunden"
-#: templates/js/translated/build.js:71
-msgid "Edit Build Order"
-msgstr "Bauauftrag bearbeiten"
+#: templates/js/translated/bom.js:772
+#, fuzzy
+#| msgid "Are you sure you want to delete this stock item?"
+msgid "Are you sure you want to delete this BOM item?"
+msgstr "Sind Sie sicher, dass Sie dieses BestandsObjekt löschen wollen?"
-#: templates/js/translated/build.js:105
-msgid "Create Build Order"
-msgstr "Bauauftrag erstellen"
-
-#: templates/js/translated/build.js:138
-msgid "Allocate stock items to this build output"
-msgstr ""
-
-#: templates/js/translated/build.js:146
-msgid "Unallocate stock from build output"
-msgstr "Bestand von Endpordukt zurücknehmen"
-
-#: templates/js/translated/build.js:155
-msgid "Complete build output"
-msgstr "Endprodukt fertigstellen"
-
-#: templates/js/translated/build.js:164
-msgid "Delete build output"
-msgstr "Endprodukt entfernen"
-
-#: templates/js/translated/build.js:265
-msgid "No build order allocations found"
-msgstr "Keine Allokationen für Bauauftrag gefunden"
-
-#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159
-msgid "Location not specified"
-msgstr "Standort nicht angegeben"
-
-#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356
-#: templates/js/translated/order.js:1292
-msgid "Edit stock allocation"
-msgstr "Bestands-Zuordnung bearbeiten"
-
-#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357
-#: templates/js/translated/order.js:1293
-msgid "Delete stock allocation"
-msgstr "Bestands-Zuordnung löschen"
-
-#: templates/js/translated/build.js:695
-msgid "Edit Allocation"
-msgstr "Zuordnung bearbeiten"
-
-#: templates/js/translated/build.js:705
-msgid "Remove Allocation"
-msgstr "Zuordnung entfernen"
-
-#: templates/js/translated/build.js:718
+#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095
msgid "Required Part"
msgstr "benötigtes Teil"
-#: templates/js/translated/build.js:739
+#: templates/js/translated/bom.js:994
+#, fuzzy
+#| msgid "Split from parent item"
+msgid "Inherited from parent BOM"
+msgstr "Vom übergeordneten Element geteilt"
+
+#: templates/js/translated/build.js:78
+msgid "Edit Build Order"
+msgstr "Bauauftrag bearbeiten"
+
+#: templates/js/translated/build.js:112
+msgid "Create Build Order"
+msgstr "Bauauftrag erstellen"
+
+#: templates/js/translated/build.js:133
+msgid "Allocate stock items to this build output"
+msgstr ""
+
+#: templates/js/translated/build.js:144
+msgid "Unallocate stock from build output"
+msgstr "Bestand von Endpordukt zurücknehmen"
+
+#: templates/js/translated/build.js:153
+msgid "Complete build output"
+msgstr "Endprodukt fertigstellen"
+
+#: templates/js/translated/build.js:161
+msgid "Delete build output"
+msgstr "Endprodukt entfernen"
+
+#: templates/js/translated/build.js:184
+#, fuzzy
+#| msgid "Are you sure you wish to unallocate all stock for this build?"
+msgid "Are you sure you wish to unallocate stock items from this build?"
+msgstr "Sind Sie sicher, dass sie alle BestandsObjekt von diesem Bauauftrag entfernen möchten?"
+
+#: templates/js/translated/build.js:202
+#, fuzzy
+#| msgid "Allocate Stock Item"
+msgid "Unallocate Stock Items"
+msgstr "Lagerbestand zuweisen"
+
+#: templates/js/translated/build.js:220
+#, fuzzy
+#| msgid "Delete Build Output"
+msgid "Select Build Outputs"
+msgstr "Endprodukt entfernen"
+
+#: templates/js/translated/build.js:221
+#, fuzzy
+#| msgid "At least one line item must be selected"
+msgid "At least one build output must be selected"
+msgstr "Mindestens eine Position muss ausgewählt werden"
+
+#: templates/js/translated/build.js:275
+#, fuzzy
+#| msgid "Build Output"
+msgid "Output"
+msgstr "Endprodukt"
+
+#: templates/js/translated/build.js:291
+#, fuzzy
+#| msgid "Completed Build Outputs"
+msgid "Complete Build Outputs"
+msgstr "Fertiggestellte Endprodukte"
+
+#: templates/js/translated/build.js:386
+msgid "No build order allocations found"
+msgstr "Keine Allokationen für Bauauftrag gefunden"
+
+#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172
+msgid "Location not specified"
+msgstr "Standort nicht angegeben"
+
+#: templates/js/translated/build.js:603
+#, fuzzy
+#| msgid "No incomplete build outputs remain."
+msgid "No active build outputs found"
+msgstr "Keine unfertigen Endprodukte verbleibend."
+
+#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760
+#: templates/js/translated/order.js:1305
+msgid "Edit stock allocation"
+msgstr "Bestands-Zuordnung bearbeiten"
+
+#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761
+#: templates/js/translated/order.js:1306
+msgid "Delete stock allocation"
+msgstr "Bestands-Zuordnung löschen"
+
+#: templates/js/translated/build.js:1072
+msgid "Edit Allocation"
+msgstr "Zuordnung bearbeiten"
+
+#: templates/js/translated/build.js:1082
+msgid "Remove Allocation"
+msgstr "Zuordnung entfernen"
+
+#: templates/js/translated/build.js:1107
+msgid "Substitute parts available"
+msgstr ""
+
+#: templates/js/translated/build.js:1124
msgid "Quantity Per"
msgstr "Anzahl pro"
-#: templates/js/translated/build.js:749 templates/js/translated/build.js:975
-#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514
+#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360
+#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535
msgid "Allocated"
msgstr "Zugeordnet"
-#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553
-#: templates/js/translated/order.js:1567
+#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589
msgid "Build stock"
msgstr "Lagerbestand bauen"
-#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557
-#: templates/stock_table.html:59
+#: templates/js/translated/build.js:1194 templates/stock_table.html:52
msgid "Order stock"
msgstr "Bestand bestellen"
-#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560
+#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582
msgid "Allocate stock"
msgstr "Lagerbestand zuweisen"
-#: templates/js/translated/build.js:880
+#: templates/js/translated/build.js:1262
msgid "Specify stock allocation quantity"
msgstr "Anzahl für Bestandszuordnung eingeben"
-#: templates/js/translated/build.js:949
+#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134
+#: templates/js/translated/report.js:225
+msgid "Select Parts"
+msgstr "Teile auswählen"
+
+#: templates/js/translated/build.js:1334
msgid "You must select at least one part to allocate"
msgstr "Sie müssen mindestens ein Teil auswählen"
-#: templates/js/translated/build.js:963
+#: templates/js/translated/build.js:1348
msgid "Select source location (leave blank to take from all locations)"
msgstr "Wählen Sie den Quellort aus (leer lassen um von allen Standorten zu nehmen)"
-#: templates/js/translated/build.js:992
+#: templates/js/translated/build.js:1377
msgid "Confirm stock allocation"
msgstr "Bestandszuordnung bestätigen"
-#: templates/js/translated/build.js:993
+#: templates/js/translated/build.js:1378
msgid "Allocate Stock Items to Build Order"
msgstr "Lagerbestand für Bauauftrag zuweisen"
-#: templates/js/translated/build.js:1004
+#: templates/js/translated/build.js:1389
msgid "No matching stock locations"
msgstr "Keine passenden Lagerstandorte"
-#: templates/js/translated/build.js:1048
+#: templates/js/translated/build.js:1451
msgid "No matching stock items"
msgstr "Keine passenden Lagerbestände"
-#: templates/js/translated/build.js:1172
+#: templates/js/translated/build.js:1576
msgid "No builds matching query"
msgstr "Keine Bauaufträge passen zur Anfrage"
-#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856
-#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762
-#: templates/js/translated/stock.js:1456
+#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873
+#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064
+#: templates/js/translated/stock.js:1841
msgid "Select"
msgstr "Auswählen"
-#: templates/js/translated/build.js:1209
+#: templates/js/translated/build.js:1613
msgid "Build order is overdue"
msgstr "Bauauftrag ist überfällig"
-#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675
+#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060
msgid "No user information"
msgstr "Keine Benutzerinformation"
-#: templates/js/translated/build.js:1282
+#: templates/js/translated/build.js:1686
msgid "No information"
msgstr "Keine Information"
-#: templates/js/translated/build.js:1333
+#: templates/js/translated/build.js:1737
msgid "No parts allocated for"
msgstr "Keine Teile zugeordnet zu"
@@ -7139,7 +7207,7 @@ msgstr "Herstellerteil ändern"
msgid "Delete Manufacturer Part"
msgstr "Herstellerteil löschen"
-#: templates/js/translated/company.js:164 templates/js/translated/order.js:89
+#: templates/js/translated/company.js:164 templates/js/translated/order.js:90
msgid "Add Supplier"
msgstr "Zulieferer hinzufügen"
@@ -7188,34 +7256,34 @@ msgid "No manufacturer parts found"
msgstr "Keine Herstellerteile gefunden"
#: templates/js/translated/company.js:496
-#: templates/js/translated/company.js:753 templates/js/translated/part.js:427
-#: templates/js/translated/part.js:512
+#: templates/js/translated/company.js:753 templates/js/translated/part.js:448
+#: templates/js/translated/part.js:533
msgid "Template part"
msgstr "Vorlagenteil"
#: templates/js/translated/company.js:500
-#: templates/js/translated/company.js:757 templates/js/translated/part.js:431
-#: templates/js/translated/part.js:516
+#: templates/js/translated/company.js:757 templates/js/translated/part.js:452
+#: templates/js/translated/part.js:537
msgid "Assembled part"
msgstr "Baugruppe"
-#: templates/js/translated/company.js:627 templates/js/translated/part.js:604
+#: templates/js/translated/company.js:627 templates/js/translated/part.js:625
msgid "No parameters found"
msgstr "Keine Parameter gefunden"
-#: templates/js/translated/company.js:664 templates/js/translated/part.js:646
+#: templates/js/translated/company.js:664 templates/js/translated/part.js:667
msgid "Edit parameter"
msgstr "Parameter bearbeiten"
-#: templates/js/translated/company.js:665 templates/js/translated/part.js:647
+#: templates/js/translated/company.js:665 templates/js/translated/part.js:668
msgid "Delete parameter"
msgstr "Parameter löschen"
-#: templates/js/translated/company.js:684 templates/js/translated/part.js:664
+#: templates/js/translated/company.js:684 templates/js/translated/part.js:685
msgid "Edit Parameter"
msgstr "Parameter bearbeiten"
-#: templates/js/translated/company.js:695 templates/js/translated/part.js:676
+#: templates/js/translated/company.js:695 templates/js/translated/part.js:697
msgid "Delete Parameter"
msgstr "Parameter löschen"
@@ -7224,12 +7292,12 @@ msgid "No supplier parts found"
msgstr "Keine Zuliefererteile gefunden"
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:407
+#: templates/js/translated/filters.js:420
msgid "true"
msgstr "ja"
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:408
+#: templates/js/translated/filters.js:421
msgid "false"
msgstr "nein"
@@ -7237,57 +7305,63 @@ msgstr "nein"
msgid "Select filter"
msgstr "Filter auswählen"
-#: templates/js/translated/filters.js:284
+#: templates/js/translated/filters.js:286
msgid "Reload data"
msgstr "Daten neu laden"
-#: templates/js/translated/filters.js:286
+#: templates/js/translated/filters.js:290
msgid "Add new filter"
msgstr "Filter hinzufügen"
-#: templates/js/translated/filters.js:289
+#: templates/js/translated/filters.js:293
msgid "Clear all filters"
msgstr "Filter entfernen"
-#: templates/js/translated/filters.js:317
+#: templates/js/translated/filters.js:329
msgid "Create filter"
msgstr "Filter anlegen"
-#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336
-#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360
+#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364
+#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392
msgid "Action Prohibited"
msgstr "Aktion verboten"
-#: templates/js/translated/forms.js:324
+#: templates/js/translated/forms.js:351
msgid "Create operation not allowed"
msgstr "Erstellvorgang nicht erlaubt"
-#: templates/js/translated/forms.js:337
+#: templates/js/translated/forms.js:366
msgid "Update operation not allowed"
msgstr "Updatevorgang nicht erlaubt"
-#: templates/js/translated/forms.js:349
+#: templates/js/translated/forms.js:380
msgid "Delete operation not allowed"
msgstr "Löschvorgang nicht erlaubt"
-#: templates/js/translated/forms.js:361
+#: templates/js/translated/forms.js:394
msgid "View operation not allowed"
msgstr "Anzeigevorgang nicht erlaubt"
-#: templates/js/translated/forms.js:968 templates/modals.html:21
-#: templates/modals.html:47
+#: templates/js/translated/forms.js:679
+#, fuzzy
+#| msgid "Must be a valid number"
+msgid "Enter a valid number"
+msgstr "Muss eine gültige Nummer sein"
+
+#: templates/js/translated/forms.js:1071 templates/modals.html:19
+#: templates/modals.html:43
msgid "Form errors exist"
msgstr "Fehler in Formular"
-#: templates/js/translated/forms.js:1323
+#: templates/js/translated/forms.js:1457
msgid "No results found"
msgstr "Keine Ergebnisse gefunden"
-#: templates/js/translated/forms.js:1525
+#: templates/js/translated/forms.js:1661
msgid "Searching"
msgstr "Suche"
-#: templates/js/translated/forms.js:1742
+#: templates/js/translated/forms.js:1878
msgid "Clear input"
msgstr "Eingabe leeren"
@@ -7299,6 +7373,11 @@ msgstr "JA"
msgid "NO"
msgstr "NEIN"
+#: templates/js/translated/label.js:29 templates/js/translated/report.js:118
+#: templates/js/translated/stock.js:594
+msgid "Select Stock Items"
+msgstr "BestandsObjekte auswählen"
+
#: templates/js/translated/label.js:30
msgid "Stock item(s) must be selected before printing labels"
msgstr "BestandsObjekt(e) müssen ausgewählt sein bevor Labels gedruckt werden können"
@@ -7344,62 +7423,62 @@ msgstr "Label auswählen"
msgid "Select Label Template"
msgstr "Label-Vorlage auswählen"
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119
+#: templates/js/translated/modals.js:593
msgid "Cancel"
msgstr "Abbrechen"
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981
-#: templates/modals.html:30 templates/modals.html:55
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963
+#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr "Abschicken"
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:117
msgid "Form Title"
msgstr "Formulartitel"
-#: templates/js/translated/modals.js:397
+#: templates/js/translated/modals.js:380
msgid "Waiting for server..."
msgstr "Warte auf Server..."
-#: templates/js/translated/modals.js:556
+#: templates/js/translated/modals.js:539
msgid "Show Error Information"
msgstr "Fehler-Informationen anzeigen"
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:592
msgid "Accept"
msgstr "Akzeptieren"
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:649
msgid "Loading Data"
msgstr "Lade Daten"
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Invalid response from server"
msgstr "ungültige Antwort vom Server"
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Form data missing from server response"
msgstr "Formulardaten fehlen bei Serverantwort"
-#: templates/js/translated/modals.js:945
+#: templates/js/translated/modals.js:927
msgid "Error posting form data"
msgstr "Formulardaten fehlerhaft"
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/modals.js:1024
msgid "JSON response missing form data"
msgstr "JSON Antwort enthält keine Formulardaten"
-#: templates/js/translated/modals.js:1057
+#: templates/js/translated/modals.js:1039
msgid "Error 400: Bad Request"
msgstr "Fehler 400: Ungültige Anfrage"
-#: templates/js/translated/modals.js:1058
+#: templates/js/translated/modals.js:1040
msgid "Server returned error code 400"
msgstr "Fehler 400 von Server erhalten"
-#: templates/js/translated/modals.js:1081
+#: templates/js/translated/modals.js:1063
msgid "Error requesting form data"
msgstr "Fehler bei Formulardaten-Anfrage"
@@ -7407,35 +7486,35 @@ msgstr "Fehler bei Formulardaten-Anfrage"
msgid "Company ID"
msgstr "Firmen-ID"
-#: templates/js/translated/model_renderers.js:90
+#: templates/js/translated/model_renderers.js:77
msgid "Stock ID"
msgstr "Bestands-ID"
-#: templates/js/translated/model_renderers.js:125
+#: templates/js/translated/model_renderers.js:130
msgid "Location ID"
msgstr "Standort-ID"
-#: templates/js/translated/model_renderers.js:142
+#: templates/js/translated/model_renderers.js:147
msgid "Build ID"
msgstr "Bauauftrag-ID"
-#: templates/js/translated/model_renderers.js:177
+#: templates/js/translated/model_renderers.js:182
msgid "Part ID"
msgstr "Teil-ID"
-#: templates/js/translated/model_renderers.js:231
+#: templates/js/translated/model_renderers.js:236
msgid "Order ID"
msgstr "Bestell-ID"
-#: templates/js/translated/model_renderers.js:251
+#: templates/js/translated/model_renderers.js:256
msgid "Category ID"
msgstr "Kategorie-ID"
-#: templates/js/translated/model_renderers.js:288
+#: templates/js/translated/model_renderers.js:293
msgid "Manufacturer Part ID"
msgstr "Herstellerteil-ID"
-#: templates/js/translated/model_renderers.js:317
+#: templates/js/translated/model_renderers.js:322
msgid "Supplier Part ID"
msgstr "Zuliefererteil-ID"
@@ -7447,565 +7526,714 @@ msgstr "Kunden hinzufügen"
msgid "Create Sales Order"
msgstr "Auftrag anlegen"
-#: templates/js/translated/order.js:207
+#: templates/js/translated/order.js:208
msgid "Export Order"
msgstr "Bestellung exportieren"
-#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96
+#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393
msgid "Format"
msgstr "Format"
-#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97
+#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394
msgid "Select file format"
msgstr "Dateiformat auswählen"
-#: templates/js/translated/order.js:299
+#: templates/js/translated/order.js:300
msgid "Select Line Items"
msgstr "Positionen auswählen"
-#: templates/js/translated/order.js:300
+#: templates/js/translated/order.js:301
msgid "At least one line item must be selected"
msgstr "Mindestens eine Position muss ausgewählt werden"
-#: templates/js/translated/order.js:325
+#: templates/js/translated/order.js:326
msgid "Quantity to receive"
msgstr "Zu erhaltende Menge"
-#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343
+#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643
msgid "Stock Status"
msgstr "Status"
-#: templates/js/translated/order.js:426
+#: templates/js/translated/order.js:427
msgid "Order Code"
msgstr "Bestellnummer"
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:428
msgid "Ordered"
msgstr "Bestellt"
-#: templates/js/translated/order.js:429
+#: templates/js/translated/order.js:430
msgid "Receive"
msgstr "Empfangen"
-#: templates/js/translated/order.js:448
+#: templates/js/translated/order.js:449
msgid "Confirm receipt of items"
msgstr "Empfang der Teile bestätigen"
-#: templates/js/translated/order.js:449
+#: templates/js/translated/order.js:450
msgid "Receive Purchase Order Items"
msgstr "Bestellpositionen erhalten"
-#: templates/js/translated/order.js:626
+#: templates/js/translated/order.js:627
msgid "No purchase orders found"
msgstr "Keine Bestellungen gefunden"
-#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028
+#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041
msgid "Order is overdue"
msgstr "Bestellung überfällig"
-#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602
+#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624
msgid "Edit Line Item"
msgstr "Position bearbeiten"
-#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613
+#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635
msgid "Delete Line Item"
msgstr "Position löschen"
-#: templates/js/translated/order.js:800
+#: templates/js/translated/order.js:801
msgid "No line items found"
msgstr "Keine Positionen gefunden"
-#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432
+#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445
msgid "Total"
msgstr "Summe"
-#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457
-#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554
+#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470
+#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693
msgid "Unit Price"
msgstr "Stück-Preis"
-#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464
-msgid "Total price"
+#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486
+#, fuzzy
+#| msgid "Total price"
+msgid "Total Price"
msgstr "Gesamtpreis"
-#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573
+#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595
msgid "Edit line item"
msgstr "Position bearbeiten"
-#: templates/js/translated/order.js:963
+#: templates/js/translated/order.js:976
msgid "Delete line item"
msgstr "Position löschen"
-#: templates/js/translated/order.js:967
+#: templates/js/translated/order.js:980
msgid "Receive line item"
msgstr "Position empfangen"
-#: templates/js/translated/order.js:1004
+#: templates/js/translated/order.js:1017
msgid "No sales orders found"
msgstr "Keine Aufträge gefunden"
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1055
msgid "Invalid Customer"
msgstr "Ungültiger Kunde"
-#: templates/js/translated/order.js:1120
+#: templates/js/translated/order.js:1133
msgid "No sales order allocations found"
msgstr "Keine Allokationen für Verkaufsaufträge gefunden"
-#: templates/js/translated/order.js:1213
+#: templates/js/translated/order.js:1226
msgid "Edit Stock Allocation"
msgstr "Bestandszuordnung bearbeiten"
-#: templates/js/translated/order.js:1231
+#: templates/js/translated/order.js:1244
msgid "Delete Stock Allocation"
msgstr "Bestands-Zuordnung löschen"
-#: templates/js/translated/order.js:1273
+#: templates/js/translated/order.js:1286
msgid "Stock location not specified"
msgstr "Lagerstandort nicht angegeben"
-#: templates/js/translated/order.js:1514
+#: templates/js/translated/order.js:1535
msgid "Fulfilled"
msgstr "Erledigt"
-#: templates/js/translated/order.js:1557
+#: templates/js/translated/order.js:1579
msgid "Allocate serial numbers"
msgstr "Seriennummern zuweisen"
-#: templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1585
msgid "Purchase stock"
msgstr "Lagerbestand kaufen"
-#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725
+#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771
msgid "Calculate price"
msgstr "Preis berechnen"
-#: templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1596
msgid "Delete line item "
msgstr "Position löschen "
-#: templates/js/translated/order.js:1673
+#: templates/js/translated/order.js:1719
msgid "Allocate Stock Item"
msgstr "Lagerbestand zuweisen"
-#: templates/js/translated/order.js:1733
+#: templates/js/translated/order.js:1779
msgid "Update Unit Price"
msgstr "Stückpreis aktualisieren"
-#: templates/js/translated/order.js:1747
+#: templates/js/translated/order.js:1793
msgid "No matching line items"
msgstr "Keine passenden Positionen gefunden"
-#: templates/js/translated/part.js:49
+#: templates/js/translated/part.js:50
msgid "Part Attributes"
msgstr "Teileigenschaften"
-#: templates/js/translated/part.js:53
+#: templates/js/translated/part.js:54
msgid "Part Creation Options"
msgstr "Erstellungsoptionen für Teile"
-#: templates/js/translated/part.js:57
+#: templates/js/translated/part.js:58
msgid "Part Duplication Options"
msgstr "Einstellungen für Teilkopien"
-#: templates/js/translated/part.js:61
+#: templates/js/translated/part.js:62
msgid "Supplier Options"
msgstr "Zuliefereroptionen"
-#: templates/js/translated/part.js:75
+#: templates/js/translated/part.js:76
msgid "Add Part Category"
msgstr "Teil-Kategorie hinzufügen"
-#: templates/js/translated/part.js:164
+#: templates/js/translated/part.js:165
msgid "Create Initial Stock"
msgstr "Anfänglichen Bestand erstellen"
-#: templates/js/translated/part.js:165
+#: templates/js/translated/part.js:166
msgid "Create an initial stock item for this part"
msgstr "Anfänglichen Bestand für dieses Teil erstellen"
-#: templates/js/translated/part.js:172
+#: templates/js/translated/part.js:173
msgid "Initial Stock Quantity"
msgstr "Start-Bestandsmenge"
-#: templates/js/translated/part.js:173
+#: templates/js/translated/part.js:174
msgid "Specify initial stock quantity for this part"
msgstr "Menge des anfänglichen Bestands für dieses Teil angeben"
-#: templates/js/translated/part.js:180
+#: templates/js/translated/part.js:181
msgid "Select destination stock location"
msgstr "Zielstandort auswählen"
-#: templates/js/translated/part.js:191
+#: templates/js/translated/part.js:192
msgid "Copy Category Parameters"
msgstr "Kategorieparameter kopieren"
-#: templates/js/translated/part.js:192
+#: templates/js/translated/part.js:193
msgid "Copy parameter templates from selected part category"
msgstr "Parametervorlagen aus der ausgewählten Bauteilkategorie kopieren"
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:201
msgid "Add Supplier Data"
msgstr "Zuliefererdaten hinzufügen"
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:202
msgid "Create initial supplier data for this part"
msgstr "Erstelle ersten Lieferanten für dieses Teil"
-#: templates/js/translated/part.js:257
+#: templates/js/translated/part.js:258
msgid "Copy Image"
msgstr "Bild kopieren"
-#: templates/js/translated/part.js:258
+#: templates/js/translated/part.js:259
msgid "Copy image from original part"
msgstr "Bild vom Originalteil kopieren"
-#: templates/js/translated/part.js:265
-msgid "Copy BOM"
-msgstr "Stückliste kopieren"
-
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:267
msgid "Copy bill of materials from original part"
msgstr "Stückliste vom Originalteil kopieren"
-#: templates/js/translated/part.js:273
+#: templates/js/translated/part.js:274
msgid "Copy Parameters"
msgstr "Parameter kopieren"
-#: templates/js/translated/part.js:274
+#: templates/js/translated/part.js:275
msgid "Copy parameter data from original part"
msgstr "Parameterdaten vom Originalteil kopieren"
-#: templates/js/translated/part.js:287
+#: templates/js/translated/part.js:288
msgid "Parent part category"
msgstr "Übergeordnete Teilkategorie"
-#: templates/js/translated/part.js:331
+#: templates/js/translated/part.js:332
msgid "Edit Part"
msgstr "Teil bearbeiten"
-#: templates/js/translated/part.js:419 templates/js/translated/part.js:504
+#: templates/js/translated/part.js:334
+#, fuzzy
+#| msgid "Parts imported"
+msgid "Part edited"
+msgstr "Teile importiert"
+
+#: templates/js/translated/part.js:402
+msgid "You are subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:404
+msgid "You have subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:409
+msgid "Subscribe to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:411
+msgid "You have unsubscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:440 templates/js/translated/part.js:525
msgid "Trackable part"
msgstr "Nachverfolgbares Teil"
-#: templates/js/translated/part.js:423 templates/js/translated/part.js:508
+#: templates/js/translated/part.js:444 templates/js/translated/part.js:529
msgid "Virtual part"
msgstr "virtuelles Teil"
-#: templates/js/translated/part.js:435
-msgid "Starred part"
-msgstr "Favoritenteil"
+#: templates/js/translated/part.js:456
+#, fuzzy
+#| msgid "Sub part"
+msgid "Subscribed part"
+msgstr "Untergeordnetes Teil"
-#: templates/js/translated/part.js:439
+#: templates/js/translated/part.js:460
msgid "Salable part"
msgstr "Verkäufliches Teil"
-#: templates/js/translated/part.js:554
+#: templates/js/translated/part.js:575
msgid "No variants found"
msgstr "Keine Varianten gefunden"
-#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005
+#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008
msgid "No parts found"
msgstr "Keine Teile gefunden"
-#: templates/js/translated/part.js:932
+#: templates/js/translated/part.js:933
msgid "No category"
msgstr "Keine Kategorie"
-#: templates/js/translated/part.js:955
-#: templates/js/translated/table_filters.js:359
+#: templates/js/translated/part.js:956
+#: templates/js/translated/table_filters.js:375
msgid "Low stock"
msgstr "Bestand niedrig"
-#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480
+#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200
+#: templates/js/translated/stock.js:1802
+#, fuzzy
+#| msgid "Display list view"
+msgid "Display as list"
+msgstr "Listen-Ansicht"
+
+#: templates/js/translated/part.js:1044
+#, fuzzy
+#| msgid "Display list view"
+msgid "Display as grid"
+msgstr "Listen-Ansicht"
+
+#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821
+#, fuzzy
+#| msgid "Display list view"
+msgid "Display as tree"
+msgstr "Listen-Ansicht"
+
+#: templates/js/translated/part.js:1283
+#, fuzzy
+#| msgid "Set category"
+msgid "Subscribed category"
+msgstr "Teil-Kategorie auswählen"
+
+#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865
msgid "Path"
msgstr "Pfad"
-#: templates/js/translated/part.js:1202
+#: templates/js/translated/part.js:1341
msgid "No test templates matching query"
msgstr "Keine zur Anfrage passenden Testvorlagen"
-#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493
+#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786
msgid "Edit test result"
msgstr "Testergebnis bearbeiten"
-#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494
+#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787
msgid "Delete test result"
msgstr "Testergebnis löschen"
-#: templates/js/translated/part.js:1260
+#: templates/js/translated/part.js:1399
msgid "This test is defined for a parent part"
msgstr "Dieses Testergebnis ist für ein Hauptteil"
-#: templates/js/translated/part.js:1282
+#: templates/js/translated/part.js:1421
msgid "Edit Test Result Template"
msgstr "Testergebnis-Vorlage bearbeiten"
-#: templates/js/translated/part.js:1296
+#: templates/js/translated/part.js:1435
msgid "Delete Test Result Template"
msgstr "Testergebnis-Vorlage löschen"
-#: templates/js/translated/part.js:1321
+#: templates/js/translated/part.js:1460
#, python-brace-format
msgid "No ${human_name} information found"
msgstr "Keine ${human_name} Informationen gefunden"
-#: templates/js/translated/part.js:1376
+#: templates/js/translated/part.js:1515
#, python-brace-format
msgid "Edit ${human_name}"
msgstr "${human_name} bearbeiten"
-#: templates/js/translated/part.js:1377
+#: templates/js/translated/part.js:1516
#, python-brace-format
msgid "Delete ${human_name}"
msgstr "${human_name} löschen"
-#: templates/js/translated/part.js:1478
+#: templates/js/translated/part.js:1617
msgid "Single Price"
msgstr "Einzelpreis"
-#: templates/js/translated/part.js:1497
+#: templates/js/translated/part.js:1636
msgid "Single Price Difference"
msgstr "Einzelpreisdifferenz"
-#: templates/js/translated/stock.js:63
+#: templates/js/translated/report.js:67
+msgid "items selected"
+msgstr "BestandsObjekt ausgewählt"
+
+#: templates/js/translated/report.js:75
+msgid "Select Report Template"
+msgstr "Bericht-Vorlage auswählen"
+
+#: templates/js/translated/report.js:90
+msgid "Select Test Report Template"
+msgstr "Test-Bericht-Vorlage auswählen"
+
+#: templates/js/translated/report.js:119
+msgid "Stock item(s) must be selected before printing reports"
+msgstr "BestandsObjekt(e) müssen vor dem Berichtsdruck ausgewählt werden"
+
+#: templates/js/translated/report.js:136 templates/js/translated/report.js:189
+#: templates/js/translated/report.js:243 templates/js/translated/report.js:297
+#: templates/js/translated/report.js:351
+msgid "No Reports Found"
+msgstr "Keine Berichte gefunden"
+
+#: templates/js/translated/report.js:137
+msgid "No report templates found which match selected stock item(s)"
+msgstr "Keine Berichtsvorlagen für ausgewählte BestandsObjekt(e) gefunden"
+
+#: templates/js/translated/report.js:172
+msgid "Select Builds"
+msgstr "Bauauftrag auswählen"
+
+#: templates/js/translated/report.js:173
+msgid "Build(s) must be selected before printing reports"
+msgstr "Bauauftrag muss vor dem Berichtsdruck ausgewählt werden"
+
+#: templates/js/translated/report.js:190
+msgid "No report templates found which match selected build(s)"
+msgstr "Keine Berichtvorlagen für ausgewählten Bauauftrag gefunden"
+
+#: templates/js/translated/report.js:226
+msgid "Part(s) must be selected before printing reports"
+msgstr "Teil muss vor dem Berichtsdruck ausgewählt werden"
+
+#: templates/js/translated/report.js:244
+msgid "No report templates found which match selected part(s)"
+msgstr "Keine Berichtvorlagen für ausgewählte Teile gefunden"
+
+#: templates/js/translated/report.js:279
+msgid "Select Purchase Orders"
+msgstr "Bestellungen auswählen"
+
+#: templates/js/translated/report.js:280
+msgid "Purchase Order(s) must be selected before printing report"
+msgstr "Bestellung muss vor dem Berichtsdruck ausgewählt werden"
+
+#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
+msgid "No report templates found which match selected orders"
+msgstr "Keine Berichtvorlagen für ausgewählte Bestellungen gefunden"
+
+#: templates/js/translated/report.js:333
+msgid "Select Sales Orders"
+msgstr "Aufträge auswählen"
+
+#: templates/js/translated/report.js:334
+msgid "Sales Order(s) must be selected before printing report"
+msgstr "Auftrag muss vor dem Berichtsdruck ausgewählt werden"
+
+#: templates/js/translated/stock.js:70
+#, fuzzy
+#| msgid "Serialize Stock"
+msgid "Serialize Stock Item"
+msgstr "Lagerbestand erfassen"
+
+#: templates/js/translated/stock.js:90
msgid "Parent stock location"
msgstr "Übergeordneter Lagerort"
-#: templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:126
+#, fuzzy
+#| msgid "Stock Location"
+msgid "New Stock Location"
+msgstr "Bestand-Lagerort"
+
+#: templates/js/translated/stock.js:189
+#, fuzzy
+#| msgid "Enter quantity of stock items"
+msgid "Enter initial quantity for this stock item"
+msgstr "Menge der BestandsObjekt eingeben"
+
+#: templates/js/translated/stock.js:195
+#, fuzzy
+#| msgid "Enter unique serial numbers (or leave blank)"
+msgid "Enter serial numbers for new stock (or leave blank)"
+msgstr "Eindeutige Seriennummern eingeben (oder leer lassen)"
+
+#: templates/js/translated/stock.js:338
+#, fuzzy
+#| msgid "Create new Stock Item"
+msgid "Created new stock item"
+msgstr "Neues BestandsObjekt hinzufügen"
+
+#: templates/js/translated/stock.js:351
+#, fuzzy
+#| msgid "Create new Stock Item"
+msgid "Created multiple stock items"
+msgstr "Neues BestandsObjekt hinzufügen"
+
+#: templates/js/translated/stock.js:390
msgid "Export Stock"
msgstr "Bestand exportieren"
-#: templates/js/translated/stock.js:104
+#: templates/js/translated/stock.js:401
msgid "Include Sublocations"
msgstr "Einschließlich Unterstandorte"
-#: templates/js/translated/stock.js:105
+#: templates/js/translated/stock.js:402
msgid "Include stock items in sublocations"
msgstr "Bestand in untergeordneten Lagerorten einschließen"
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:444
msgid "Transfer Stock"
msgstr "Bestand verschieben"
-#: templates/js/translated/stock.js:148
+#: templates/js/translated/stock.js:445
msgid "Move"
msgstr "Verschieben"
-#: templates/js/translated/stock.js:154
+#: templates/js/translated/stock.js:451
msgid "Count Stock"
msgstr "Bestand zählen"
-#: templates/js/translated/stock.js:155
+#: templates/js/translated/stock.js:452
msgid "Count"
msgstr "Anzahl"
-#: templates/js/translated/stock.js:159
+#: templates/js/translated/stock.js:456
msgid "Remove Stock"
msgstr "Bestand entfernen"
-#: templates/js/translated/stock.js:160
+#: templates/js/translated/stock.js:457
msgid "Take"
msgstr "Entfernen"
-#: templates/js/translated/stock.js:164
+#: templates/js/translated/stock.js:461
msgid "Add Stock"
msgstr "Bestand hinzufügen"
-#: templates/js/translated/stock.js:165 users/models.py:195
+#: templates/js/translated/stock.js:462 users/models.py:200
msgid "Add"
msgstr "Hinzufügen"
-#: templates/js/translated/stock.js:169 templates/stock_table.html:63
+#: templates/js/translated/stock.js:466 templates/stock_table.html:56
msgid "Delete Stock"
msgstr "Bestand löschen"
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Quantity cannot be adjusted for serialized stock"
msgstr "Menge von serialisiertem Bestand kann nicht bearbeitet werden"
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Specify stock quantity"
msgstr "Bestandsanzahl angeben"
-#: templates/js/translated/stock.js:298
+#: templates/js/translated/stock.js:595
msgid "You must select at least one available stock item"
msgstr "Sie müssen mindestens einen Lagerbestand auswählen"
-#: templates/js/translated/stock.js:456
+#: templates/js/translated/stock.js:753
msgid "PASS"
msgstr "ERFOLGREICH"
-#: templates/js/translated/stock.js:458
+#: templates/js/translated/stock.js:755
msgid "FAIL"
msgstr "FEHLGESCHLAGEN"
-#: templates/js/translated/stock.js:463
+#: templates/js/translated/stock.js:760
msgid "NO RESULT"
msgstr "KEIN ERGEBNIS"
-#: templates/js/translated/stock.js:489
+#: templates/js/translated/stock.js:782
msgid "Add test result"
msgstr "Testergebnis hinzufügen"
-#: templates/js/translated/stock.js:515
+#: templates/js/translated/stock.js:808
msgid "No test results found"
msgstr "Keine Testergebnisse gefunden"
-#: templates/js/translated/stock.js:563
+#: templates/js/translated/stock.js:865
msgid "Test Date"
msgstr "Testdatum"
-#: templates/js/translated/stock.js:670
+#: templates/js/translated/stock.js:972
msgid "In production"
msgstr "In Arbeit"
-#: templates/js/translated/stock.js:674
+#: templates/js/translated/stock.js:976
msgid "Installed in Stock Item"
msgstr "In BestandsObjekt installiert"
-#: templates/js/translated/stock.js:678
+#: templates/js/translated/stock.js:980
msgid "Shipped to customer"
msgstr "an Kunde versand"
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:984
msgid "Assigned to Sales Order"
msgstr "Auftrag zugewiesen"
-#: templates/js/translated/stock.js:688
+#: templates/js/translated/stock.js:990
msgid "No stock location set"
msgstr "Kein Lagerort gesetzt"
-#: templates/js/translated/stock.js:844
+#: templates/js/translated/stock.js:1148
msgid "Stock item is in production"
msgstr "BestandsObjekt wird produziert"
-#: templates/js/translated/stock.js:849
+#: templates/js/translated/stock.js:1153
msgid "Stock item assigned to sales order"
msgstr "BestandsObjekt wurde Auftrag zugewiesen"
-#: templates/js/translated/stock.js:852
+#: templates/js/translated/stock.js:1156
msgid "Stock item assigned to customer"
msgstr "BestandsObjekt wurde Kunden zugewiesen"
-#: templates/js/translated/stock.js:856
+#: templates/js/translated/stock.js:1160
msgid "Stock item has expired"
msgstr "BestandsObjekt ist abgelaufen"
-#: templates/js/translated/stock.js:858
+#: templates/js/translated/stock.js:1162
msgid "Stock item will expire soon"
msgstr "BestandsObjekt läuft demnächst ab"
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:1166
msgid "Stock item has been allocated"
msgstr "BestandsObjekt zugewiesen"
-#: templates/js/translated/stock.js:866
+#: templates/js/translated/stock.js:1170
msgid "Stock item has been installed in another item"
msgstr "BestandsObjekt in anderem Element verbaut"
-#: templates/js/translated/stock.js:873
+#: templates/js/translated/stock.js:1177
msgid "Stock item has been rejected"
msgstr "BestandsObjekt abgewiesen"
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:1179
msgid "Stock item is lost"
msgstr "BestandsObjekt verloren"
-#: templates/js/translated/stock.js:877
+#: templates/js/translated/stock.js:1181
msgid "Stock item is destroyed"
msgstr "BestandsObjekt zerstört"
-#: templates/js/translated/stock.js:881
-#: templates/js/translated/table_filters.js:161
+#: templates/js/translated/stock.js:1185
+#: templates/js/translated/table_filters.js:177
msgid "Depleted"
msgstr "gelöscht"
-#: templates/js/translated/stock.js:935
+#: templates/js/translated/stock.js:1235
msgid "Stocktake"
msgstr "Inventur"
-#: templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1308
msgid "Supplier part not specified"
msgstr "Zuliefererteil nicht angegeben"
-#: templates/js/translated/stock.js:1046
+#: templates/js/translated/stock.js:1346
msgid "No stock items matching query"
msgstr "Keine zur Anfrage passenden BestandsObjekte"
-#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115
+#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415
msgid "items"
msgstr "Teile"
-#: templates/js/translated/stock.js:1155
+#: templates/js/translated/stock.js:1455
msgid "batches"
msgstr "lose"
-#: templates/js/translated/stock.js:1182
+#: templates/js/translated/stock.js:1482
msgid "locations"
msgstr "Lagerorte"
-#: templates/js/translated/stock.js:1184
+#: templates/js/translated/stock.js:1484
msgid "Undefined location"
msgstr "unbekannter Lagerort"
-#: templates/js/translated/stock.js:1358
+#: templates/js/translated/stock.js:1658
msgid "Set Stock Status"
msgstr "Status setzen"
-#: templates/js/translated/stock.js:1372
+#: templates/js/translated/stock.js:1672
msgid "Select Status Code"
msgstr "Status Code setzen"
-#: templates/js/translated/stock.js:1373
+#: templates/js/translated/stock.js:1673
msgid "Status code must be selected"
msgstr "Status Code muss ausgewählt werden"
-#: templates/js/translated/stock.js:1512
+#: templates/js/translated/stock.js:1897
msgid "Invalid date"
msgstr "Ungültiges Datum"
-#: templates/js/translated/stock.js:1559
+#: templates/js/translated/stock.js:1919
+msgid "Details"
+msgstr "Details"
+
+#: templates/js/translated/stock.js:1944
msgid "Location no longer exists"
msgstr "Standort nicht mehr vorhanden"
-#: templates/js/translated/stock.js:1578
+#: templates/js/translated/stock.js:1963
msgid "Purchase order no longer exists"
msgstr "Bestellung existiert nicht mehr"
-#: templates/js/translated/stock.js:1597
+#: templates/js/translated/stock.js:1982
msgid "Customer no longer exists"
msgstr "Kunde existiert nicht mehr"
-#: templates/js/translated/stock.js:1615
+#: templates/js/translated/stock.js:2000
msgid "Stock item no longer exists"
msgstr "Lagerbestand existiert nicht mehr"
-#: templates/js/translated/stock.js:1638
+#: templates/js/translated/stock.js:2023
msgid "Added"
msgstr "Hinzugefügt"
-#: templates/js/translated/stock.js:1646
+#: templates/js/translated/stock.js:2031
msgid "Removed"
msgstr "Entfernt"
-#: templates/js/translated/stock.js:1687
+#: templates/js/translated/stock.js:2072
msgid "Edit tracking entry"
msgstr "Tracking-Eintrag bearbeiten"
-#: templates/js/translated/stock.js:1688
+#: templates/js/translated/stock.js:2073
msgid "Delete tracking entry"
msgstr "Tracking-Eintrag löschen"
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:2124
msgid "No installed items"
msgstr "Keine installierten Elemente"
-#: templates/js/translated/stock.js:1835
-msgid "Serial"
-msgstr "Seriennummer"
-
-#: templates/js/translated/stock.js:1863
+#: templates/js/translated/stock.js:2175
msgid "Uninstall Stock Item"
msgstr "Lagerbestand entfernen"
@@ -8025,254 +8253,266 @@ msgstr "überprüft"
msgid "Allow Variant Stock"
msgstr "Bestand an Varianten zulassen"
-#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:156
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:172
msgid "Include sublocations"
msgstr "Unter-Lagerorte einschließen"
-#: templates/js/translated/table_filters.js:93
+#: templates/js/translated/table_filters.js:105
msgid "Include locations"
msgstr "Lagerorte einschließen"
-#: templates/js/translated/table_filters.js:103
-#: templates/js/translated/table_filters.js:104
-#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:115
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:352
msgid "Include subcategories"
msgstr "Unterkategorien einschließen"
-#: templates/js/translated/table_filters.js:114
-#: templates/js/translated/table_filters.js:191
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:387
+msgid "Subscribed"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:130
+#: templates/js/translated/table_filters.js:207
msgid "Is Serialized"
msgstr "Hat Seriennummer"
-#: templates/js/translated/table_filters.js:117
-#: templates/js/translated/table_filters.js:198
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:214
msgid "Serial number GTE"
msgstr "Seriennummer >="
-#: templates/js/translated/table_filters.js:118
-#: templates/js/translated/table_filters.js:199
+#: templates/js/translated/table_filters.js:134
+#: templates/js/translated/table_filters.js:215
msgid "Serial number greater than or equal to"
msgstr "Seriennummer größer oder gleich"
-#: templates/js/translated/table_filters.js:121
-#: templates/js/translated/table_filters.js:202
+#: templates/js/translated/table_filters.js:137
+#: templates/js/translated/table_filters.js:218
msgid "Serial number LTE"
msgstr "Seriennummer <="
-#: templates/js/translated/table_filters.js:122
-#: templates/js/translated/table_filters.js:203
+#: templates/js/translated/table_filters.js:138
+#: templates/js/translated/table_filters.js:219
msgid "Serial number less than or equal to"
msgstr "Seriennummern kleiner oder gleich"
-#: templates/js/translated/table_filters.js:125
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:141
+#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:211
msgid "Serial number"
msgstr "Seriennummer"
-#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:212
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:228
msgid "Batch code"
msgstr "Losnummer"
-#: templates/js/translated/table_filters.js:141
-#: templates/js/translated/table_filters.js:326
+#: templates/js/translated/table_filters.js:157
+#: templates/js/translated/table_filters.js:342
msgid "Active parts"
msgstr "Aktive Teile"
-#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:158
msgid "Show stock for active parts"
msgstr "Bestand aktiver Teile anzeigen"
-#: templates/js/translated/table_filters.js:147
+#: templates/js/translated/table_filters.js:163
msgid "Part is an assembly"
msgstr "Teil ist eine Baugruppe"
-#: templates/js/translated/table_filters.js:151
+#: templates/js/translated/table_filters.js:167
msgid "Is allocated"
msgstr "Ist zugeordnet"
-#: templates/js/translated/table_filters.js:152
+#: templates/js/translated/table_filters.js:168
msgid "Item has been allocated"
msgstr "Teil wurde zugeordnet"
-#: templates/js/translated/table_filters.js:157
+#: templates/js/translated/table_filters.js:173
msgid "Include stock in sublocations"
msgstr "Bestand in Unter-Lagerorten einschließen"
-#: templates/js/translated/table_filters.js:162
+#: templates/js/translated/table_filters.js:178
msgid "Show stock items which are depleted"
msgstr "Zeige aufgebrauchte BestandsObjekte"
-#: templates/js/translated/table_filters.js:167
+#: templates/js/translated/table_filters.js:183
msgid "Show items which are in stock"
msgstr "Zeige Objekte welche im Lager sind"
-#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:187
msgid "In Production"
msgstr "In Arbeit"
-#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:188
msgid "Show items which are in production"
msgstr "Elemente, die in Produktion sind, anzeigen"
-#: templates/js/translated/table_filters.js:176
+#: templates/js/translated/table_filters.js:192
msgid "Include Variants"
msgstr "Varianten einschließen"
-#: templates/js/translated/table_filters.js:177
+#: templates/js/translated/table_filters.js:193
msgid "Include stock items for variant parts"
msgstr "BestandsObjekte für Teil-Varianten einschließen"
-#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:197
msgid "Installed"
msgstr "Installiert"
-#: templates/js/translated/table_filters.js:182
+#: templates/js/translated/table_filters.js:198
msgid "Show stock items which are installed in another item"
msgstr "BestandsObjekte, die in anderen Elementen verbaut sind, anzeigen"
-#: templates/js/translated/table_filters.js:187
+#: templates/js/translated/table_filters.js:203
msgid "Show items which have been assigned to a customer"
msgstr "zeige zu Kunden zugeordnete Einträge"
-#: templates/js/translated/table_filters.js:207
-#: templates/js/translated/table_filters.js:208
+#: templates/js/translated/table_filters.js:223
+#: templates/js/translated/table_filters.js:224
msgid "Stock status"
msgstr "Status"
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/table_filters.js:232
msgid "Has purchase price"
msgstr "Hat Einkaufspreis"
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:233
msgid "Show stock items which have a purchase price set"
msgstr "Bestand mit Einkaufspreis anzeigen"
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:242
msgid "Show stock items which have expired"
msgstr "Zeige abgelaufene BestandsObjekte"
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:248
msgid "Show stock which is close to expiring"
msgstr "Bestand, der bald ablaufen, anzeigen"
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:279
msgid "Build status"
msgstr "Bauauftrags-Status"
-#: templates/js/translated/table_filters.js:291
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:307
+#: templates/js/translated/table_filters.js:324
msgid "Order status"
msgstr "Bestellstatus"
-#: templates/js/translated/table_filters.js:296
-#: templates/js/translated/table_filters.js:313
+#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:329
msgid "Outstanding"
msgstr "ausstehend"
-#: templates/js/translated/table_filters.js:337
+#: templates/js/translated/table_filters.js:353
msgid "Include parts in subcategories"
msgstr "Teile in Unterkategorien einschließen"
-#: templates/js/translated/table_filters.js:341
+#: templates/js/translated/table_filters.js:357
msgid "Has IPN"
msgstr "Hat IPN"
-#: templates/js/translated/table_filters.js:342
+#: templates/js/translated/table_filters.js:358
msgid "Part has internal part number"
msgstr "Teil hat Interne Teilenummer"
-#: templates/js/translated/table_filters.js:347
+#: templates/js/translated/table_filters.js:363
msgid "Show active parts"
msgstr "Aktive Teile anzeigen"
-#: templates/js/translated/table_filters.js:355
+#: templates/js/translated/table_filters.js:371
msgid "Stock available"
msgstr "verfügbarer Lagerbestand"
-#: templates/js/translated/table_filters.js:371
-msgid "Starred"
-msgstr "Favorit"
-
-#: templates/js/translated/table_filters.js:383
+#: templates/js/translated/table_filters.js:399
msgid "Purchasable"
msgstr "Käuflich"
-#: templates/js/translated/tables.js:366
+#: templates/js/translated/tables.js:368
msgid "Loading data"
msgstr "Lade Daten"
-#: templates/js/translated/tables.js:369
+#: templates/js/translated/tables.js:371
msgid "rows per page"
msgstr "Zeilen pro Seite"
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "Showing"
msgstr "zeige"
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "to"
msgstr "bis"
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "of"
msgstr "von"
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "rows"
msgstr "Zeilen"
-#: templates/js/translated/tables.js:378
+#: templates/js/translated/tables.js:377 templates/search_form.html:6
+#: templates/search_form.html:7
+msgid "Search"
+msgstr "Suche"
+
+#: templates/js/translated/tables.js:380
msgid "No matching results"
msgstr "Keine passenden Ergebnisse gefunden"
-#: templates/js/translated/tables.js:381
+#: templates/js/translated/tables.js:383
msgid "Hide/Show pagination"
msgstr "Zeige/Verstecke Pagination"
-#: templates/js/translated/tables.js:384
+#: templates/js/translated/tables.js:386
msgid "Refresh"
msgstr "Neu laden"
-#: templates/js/translated/tables.js:387
+#: templates/js/translated/tables.js:389
msgid "Toggle"
msgstr "umschalten"
-#: templates/js/translated/tables.js:390
+#: templates/js/translated/tables.js:392
msgid "Columns"
msgstr "Spalten"
-#: templates/js/translated/tables.js:393
+#: templates/js/translated/tables.js:395
msgid "All"
msgstr "Alle"
-#: templates/navbar.html:19
-msgid "Toggle navigation"
-msgstr "Navigation ein-/ausklappen"
-
-#: templates/navbar.html:39
+#: templates/navbar.html:40
msgid "Buy"
msgstr "Kaufen"
-#: templates/navbar.html:51
+#: templates/navbar.html:52
msgid "Sell"
msgstr "Verkaufen"
-#: templates/navbar.html:83 users/models.py:39
+#: templates/navbar.html:86 users/models.py:39
msgid "Admin"
msgstr "Admin"
-#: templates/navbar.html:85
+#: templates/navbar.html:88
msgid "Logout"
msgstr "Ausloggen"
-#: templates/navbar.html:106
+#: templates/navbar.html:90
+msgid "Login"
+msgstr "Einloggen"
+
+#: templates/navbar.html:111
msgid "About InvenTree"
msgstr "Über InvenTree"
+#: templates/navbar_demo.html:5
+#, fuzzy
+#| msgid "InvenTree Instance Name"
+msgid "InvenTree demo mode"
+msgstr "InvenTree Instanzname"
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr "QR Daten nicht angegeben"
@@ -8285,6 +8525,10 @@ msgstr ""
msgid "Log in again"
msgstr ""
+#: templates/stats.html:9
+msgid "Server"
+msgstr "Server"
+
#: templates/stats.html:13
msgid "Instance Name"
msgstr "Instanzname"
@@ -8338,54 +8582,50 @@ msgid "Export Stock Information"
msgstr "Aktuellen Bestand exportieren"
#: templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr "Neues BestandsObjekt"
-
-#: templates/stock_table.html:27
msgid "Barcode Actions"
msgstr "Barcode Aktionen"
-#: templates/stock_table.html:43
+#: templates/stock_table.html:36
msgid "Print test reports"
msgstr "Test-Berichte drucken"
-#: templates/stock_table.html:50
+#: templates/stock_table.html:43
msgid "Stock Options"
msgstr "Bestands-Einstellungen "
-#: templates/stock_table.html:55
+#: templates/stock_table.html:48
msgid "Add to selected stock items"
msgstr "Zu ausgewählten BestandsObjekten hinzufügen"
-#: templates/stock_table.html:56
+#: templates/stock_table.html:49
msgid "Remove from selected stock items"
msgstr "Von ausgewählten BestandsObjekten entfernen"
-#: templates/stock_table.html:57
+#: templates/stock_table.html:50
msgid "Stocktake selected stock items"
msgstr "Inventur für gewählte BestandsObjekte"
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move selected stock items"
msgstr "Ausgewählte BestandsObjekte verschieben"
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move stock"
msgstr "Bestand verschieben"
-#: templates/stock_table.html:59
+#: templates/stock_table.html:52
msgid "Order selected items"
msgstr "Ausgewählte Positionen bestellen"
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change status"
msgstr "Status ändern"
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change stock status"
msgstr "Status ändern"
-#: templates/stock_table.html:63
+#: templates/stock_table.html:56
msgid "Delete selected items"
msgstr "Ausgewählte Positionen löschen"
@@ -8421,35 +8661,367 @@ msgstr "Berechtigungen"
msgid "Important dates"
msgstr "wichtige Daten"
-#: users/models.py:182
+#: users/models.py:187
msgid "Permission set"
msgstr "Berechtigung geändert"
-#: users/models.py:190
+#: users/models.py:195
msgid "Group"
msgstr "Gruppe"
-#: users/models.py:193
+#: users/models.py:198
msgid "View"
msgstr "Ansicht"
-#: users/models.py:193
+#: users/models.py:198
msgid "Permission to view items"
msgstr "Berechtigung Einträge anzuzeigen"
-#: users/models.py:195
+#: users/models.py:200
msgid "Permission to add items"
msgstr "Berechtigung Einträge zu erstellen"
-#: users/models.py:197
+#: users/models.py:202
msgid "Change"
msgstr "Ändern"
-#: users/models.py:197
+#: users/models.py:202
msgid "Permissions to edit items"
msgstr "Berechtigungen Einträge zu ändern"
-#: users/models.py:199
+#: users/models.py:204
msgid "Permission to delete items"
msgstr "Berechtigung Einträge zu löschen"
+#~ msgid "Matching build order does not exist"
+#~ msgstr "Es existiert kein passender Build-Auftrag"
+
+#~ msgid "Build Order reference"
+#~ msgstr "Bauauftrags-Referenz"
+
+#~ msgid "Order target date"
+#~ msgstr "geplantes Bestelldatum"
+
+#~ msgid "Number of items to build"
+#~ msgstr "Anzahl der zu bauenden Teile"
+
+#~ msgid "Confirm unallocation of stock"
+#~ msgstr "Aufhebung der BestandsZuordnung bestätigen"
+
+#~ msgid "Build output stock status"
+#~ msgstr "Bestands-Status der Endprodukte"
+
+#~ msgid "Confirm incomplete"
+#~ msgstr "Bauauftrag nicht fertiggestellt"
+
+#~ msgid "Confirm completion with incomplete stock allocation"
+#~ msgstr "Fertigstellung mit nicht kompletter Bestandszuordnung bestätigen"
+
+#~ msgid "Confirm build completion"
+#~ msgstr "Bauauftrag-Fertigstellung bestätigen"
+
+#~ msgid "Admin view"
+#~ msgstr "Admin"
+
+#~ msgid "Print Build Order"
+#~ msgstr "Bauauftrag drucken"
+
+#~ msgid "Progress"
+#~ msgstr "Fortschritt"
+
+#~ msgid "Stock allocation is complete for this output"
+#~ msgstr "Lagerzuordnung für dieses Endprodukt ist vollständig"
+
+#~ msgid "Stock allocation is incomplete"
+#~ msgstr "Bestandszuordnung ist nicht vollständig"
+
+#~ msgid "tracked parts have not been fully allocated"
+#~ msgstr "verfolgte Teile wurden nicht vollständig zugewiesen"
+
+#~ msgid "The following items will be created"
+#~ msgstr "Die folgenden Objekte werden erstellt"
+
+#~ msgid "Create New Output"
+#~ msgstr "Neues Endprodukt anlegen"
+
+#~ msgid "Create a new build output"
+#~ msgstr "Neues Endprodukt anlegen"
+
+#~ msgid "Create a new build output using the button above"
+#~ msgstr "Neues Endprodukt mit der Schaltfläche oberhalb anlegen"
+
+#~ msgid "Alter the quantity of stock allocated to the build output"
+#~ msgstr "Anzahl des zugeordneten Bestands für die Endprodukte ändern"
+
+#~ msgid "Build Order Details"
+#~ msgstr "Bauauftrag-details"
+
+#~ msgid "Build Outputs"
+#~ msgstr "Endprodukte"
+
+#~ msgid "Child Builds"
+#~ msgstr "Unter-Endprodukte"
+
+#~ msgid "Build Order Notes"
+#~ msgstr "Bauauftrag-Notizen"
+
+#~ msgid "All incomplete stock allocations will be removed from the build"
+#~ msgstr "Alle unvollständigen Bestandszuordnungen werden vom Endprodukt entfernt"
+
+#~ msgid "Complete Build Output"
+#~ msgstr "Endprodukt fertigstellen"
+
+#~ msgid "Invalid stock status value selected"
+#~ msgstr "Ungültiger Lagerbestands-Status ausgewählt"
+
+#~ msgid "Quantity to complete cannot exceed build output quantity"
+#~ msgstr "Fertigzustellende Anzahl darf nicht die geplante Endprodukt-Anzahl überschreiten"
+
+#~ msgid "Confirm completion of incomplete build"
+#~ msgstr "Endprodukt-Fertigstellung bestätigen"
+
+#~ msgid "Build output completed"
+#~ msgstr "Endprodukt fertiggestellt"
+
+#~ msgid "Enable build"
+#~ msgstr "Bauaufträge aktivieren"
+
+#~ msgid "Enable build functionality in InvenTree interface"
+#~ msgstr "Bau-Funktionalität in InvenTree aktivieren"
+
+#~ msgid "Enable buy"
+#~ msgstr "Kaufen aktivieren"
+
+#~ msgid "Enable buy functionality in InvenTree interface"
+#~ msgstr "Kauf-Funktionalität in InvenTree aktivieren"
+
+#~ msgid "Enable sell"
+#~ msgstr "Verkauf aktivieren"
+
+#~ msgid "Enable sell functionality in InvenTree interface"
+#~ msgstr "Verkaufs-Funktionalität in InvenTree aktivieren"
+
+#~ msgid "Enable stock"
+#~ msgstr "Lagerbestand aktivieren"
+
+#~ msgid "Enable SO"
+#~ msgstr "Aufträge aktivieren"
+
+#~ msgid "Enable PO"
+#~ msgstr "Bestellungen aktivieren"
+
+#~ msgid "Default"
+#~ msgstr "Standard"
+
+#~ msgid "Current value"
+#~ msgstr "Aktueller Wert"
+
+#~ msgid "Change Setting"
+#~ msgstr "Einstellungen ändern"
+
+#~ msgid "Supplied value is not allowed"
+#~ msgstr "Angegebener Wert nicht erlaubt"
+
+#~ msgid "Supplied value must be a boolean"
+#~ msgstr "Angegebener Wert muss ein Wahrheitswert sein"
+
+#~ msgid "Change User Setting"
+#~ msgstr "Benutzereinstellungen ändern"
+
+#~ msgid "Company Details"
+#~ msgstr "Firmendetails"
+
+#~ msgid "Manufacturer Part Details"
+#~ msgstr "Herstellerteil-Details"
+
+#~ msgid "Manufacturer Part Stock"
+#~ msgstr "Herstellerteil-Bestand"
+
+#~ msgid "Manufacturer Part Orders"
+#~ msgstr "Herstellerteil-Bestellungen"
+
+#~ msgid "Manufactured Parts"
+#~ msgstr "Hergestellte Teile"
+
+#~ msgid "Supplier Part Details"
+#~ msgstr "Zuliefererteil Details"
+
+#~ msgid "Print"
+#~ msgstr "Drucken"
+
+#~ msgid "Purchase Order Details"
+#~ msgstr "Bestellungs-Details"
+
+#~ msgid "Purchase Order Attachments"
+#~ msgstr "Bestellungs-Anhänge"
+
+#~ msgid "Received Stock Items"
+#~ msgstr "BestandsObjekte empfangen"
+
+#~ msgid "Sales Order Details"
+#~ msgstr "Auftragsdetails"
+
+#~ msgid "Sales Order Line Items"
+#~ msgstr "Auftragspositionen"
+
+#~ msgid "Order Items"
+#~ msgstr "Auftragspositionen"
+
+#~ msgid "Sales Order Attachments"
+#~ msgstr "Auftrags-Anhänge"
+
+#~ msgid "Remove selected BOM items"
+#~ msgstr "Ausgewählte Stücklistenpositionen entfernen"
+
+#~ msgid "Import BOM data"
+#~ msgstr "Stückliste importieren"
+
+#~ msgid "Copy BOM from parent part"
+#~ msgstr "Stückliste von übergeordnetem Teil kopieren"
+
+#~ msgid "Finish Editing"
+#~ msgstr "Bearbeitung beenden"
+
+#~ msgid "Edit BOM"
+#~ msgstr "Stückliste bearbeiten"
+
+#~ msgid "Validate Bill of Materials"
+#~ msgstr "Stückliste kontrollieren"
+
+#~ msgid "Return To BOM"
+#~ msgstr "Zurück zur Stückliste"
+
+#~ msgid "All parts"
+#~ msgstr "Alle Teile"
+
+#~ msgid "Category Details"
+#~ msgstr "Kategorie-Details"
+
+#~ msgid "View list display"
+#~ msgstr "Listenansicht anzeigen"
+
+#~ msgid "View grid display"
+#~ msgstr "Rasteransicht anzeigen"
+
+#~ msgid "Import Parts"
+#~ msgstr "Teile importieren"
+
+#~ msgid "New sales order"
+#~ msgstr "Neuer Auftrag"
+
+#~ msgid "New Order"
+#~ msgstr "Neue Bestellung"
+
+#~ msgid "Start New Build"
+#~ msgstr "Neuen Bauauftrag beginnen"
+
+#~ msgid "Variants"
+#~ msgstr "Varianten"
+
+#~ msgid "Used In"
+#~ msgstr "Benutzt in"
+
+#~ msgid "Prices"
+#~ msgstr "Preise"
+
+#~ msgid "Test Templates"
+#~ msgstr "Testvorlagen"
+
+#~ msgid "Star this part"
+#~ msgstr "Teil favorisieren"
+
+#~ msgid "Hide Part Details"
+#~ msgstr "Teildetails ausblenden"
+
+#~ msgid "Select test report template"
+#~ msgstr "Test Bericht Vorlage auswählen"
+
+#~ msgid "Stock Item Details"
+#~ msgstr "BestandsObjekt-Details"
+
+#~ msgid "Save"
+#~ msgstr "Speichern"
+
+#~ msgid "All stock items"
+#~ msgstr "Alle BestandsObjekte"
+
+#~ msgid "Location Details"
+#~ msgstr "Lagerort-Details"
+
+#~ msgid "Location Path"
+#~ msgstr "Lagerort-Pfad"
+
+#~ msgid "Location Description"
+#~ msgstr "Lagerort-Beschreibung"
+
+#~ msgid "Stock Details"
+#~ msgstr "Objekt-Details"
+
+#~ msgid "Create new location"
+#~ msgstr "Neuen Lagerort anlegen"
+
+#~ msgid "Stock Item Tracking"
+#~ msgstr "BestandsObjekt-Verfolgung"
+
+#~ msgid "History"
+#~ msgstr "Geschichte"
+
+#~ msgid "Child Items"
+#~ msgstr "Kindobjekte"
+
+#~ msgid "Children"
+#~ msgstr "Kinder"
+
+#~ msgid "Remove item"
+#~ msgstr "Teil entfernen"
+
+#~ msgid "Starred Parts"
+#~ msgstr "Teilfavoriten"
+
+#~ msgid "Setting"
+#~ msgstr "Einstellungen"
+
+#~ msgid "Account"
+#~ msgstr "Konto"
+
+#~ msgid "Home Page"
+#~ msgstr "Startseite"
+
+#~ msgid "Labels"
+#~ msgstr "Labels"
+
+#~ msgid "Reports"
+#~ msgstr "Berichte"
+
+#~ msgid "Forms"
+#~ msgstr "Formulare"
+
+#~ msgid "InvenTree Settings"
+#~ msgstr "InvenTree-Einstellungen"
+
+#~ msgid "Barcodes"
+#~ msgstr "Barcodes"
+
+#~ msgid "Currencies"
+#~ msgstr "Währungen"
+
+#~ msgid "Reporting"
+#~ msgstr "Berichte"
+
+#~ msgid "Categories"
+#~ msgstr "Kategorien"
+
+#~ msgid "Part Options"
+#~ msgstr "Teil-Optionen"
+
+#~ msgid "Form Settings"
+#~ msgstr "Formulareinstellungen"
+
+#~ msgid "Starred part"
+#~ msgstr "Favoritenteil"
+
+#~ msgid "Starred"
+#~ msgstr "Favorit"
+
+#~ msgid "Toggle navigation"
+#~ msgstr "Navigation ein-/ausklappen"
diff --git a/InvenTree/locale/el/LC_MESSAGES/django.mo b/InvenTree/locale/el/LC_MESSAGES/django.mo
new file mode 100644
index 0000000000..dbe42ffd5b
Binary files /dev/null and b/InvenTree/locale/el/LC_MESSAGES/django.mo differ
diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po
index 880c7b29d6..5e4134264a 100644
--- a/InvenTree/locale/el/LC_MESSAGES/django.po
+++ b/InvenTree/locale/el/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-11 06:21+0000\n"
+"POT-Creation-Date: 2021-11-22 22:08+0000\n"
"PO-Revision-Date: 2021-10-11 06:29\n"
"Last-Translator: \n"
"Language-Team: Greek\n"
@@ -33,260 +33,266 @@ msgstr ""
msgid "Enter date"
msgstr ""
-#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123
-#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27
-#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71
-#: part/forms.py:108 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:564
+#: InvenTree/forms.py:120 build/forms.py:48 build/forms.py:69 build/forms.py:93
+#: order/forms.py:26 order/forms.py:37 order/forms.py:48 order/forms.py:59
+#: order/forms.py:70 part/forms.py:108 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:594
msgid "Confirm"
msgstr ""
-#: InvenTree/forms.py:132
+#: InvenTree/forms.py:136
msgid "Confirm delete"
msgstr ""
-#: InvenTree/forms.py:133
+#: InvenTree/forms.py:137
msgid "Confirm item deletion"
msgstr ""
-#: InvenTree/forms.py:164
+#: InvenTree/forms.py:168
msgid "Enter password"
msgstr ""
-#: InvenTree/forms.py:165
+#: InvenTree/forms.py:169
msgid "Enter new password"
msgstr ""
-#: InvenTree/forms.py:172
+#: InvenTree/forms.py:176
msgid "Confirm password"
msgstr ""
-#: InvenTree/forms.py:173
+#: InvenTree/forms.py:177
msgid "Confirm new password"
msgstr ""
-#: InvenTree/forms.py:205
+#: InvenTree/forms.py:209
msgid "Select Category"
msgstr ""
-#: InvenTree/forms.py:226
-msgid "E-mail (again)"
-msgstr ""
-
#: InvenTree/forms.py:230
-msgid "E-mail address confirmation"
+msgid "Email (again)"
msgstr ""
-#: InvenTree/forms.py:250
+#: InvenTree/forms.py:234
+msgid "Email address confirmation"
+msgstr ""
+
+#: InvenTree/forms.py:254
msgid "You must type the same email each time."
msgstr ""
-#: InvenTree/helpers.py:401
+#: InvenTree/helpers.py:430
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr ""
-#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437
-#: stock/views.py:1340
+#: InvenTree/helpers.py:437 order/models.py:318 order/models.py:440
+#: stock/views.py:1264
msgid "Invalid quantity provided"
msgstr ""
-#: InvenTree/helpers.py:411
+#: InvenTree/helpers.py:440
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:462 InvenTree/helpers.py:465 InvenTree/helpers.py:468
+#: InvenTree/helpers.py:493
#, python-brace-format
msgid "Invalid group: {g}"
msgstr ""
-#: InvenTree/helpers.py:469
+#: InvenTree/helpers.py:498
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr ""
-#: InvenTree/helpers.py:477
+#: InvenTree/helpers.py:506
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:481
+#: InvenTree/helpers.py:510
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/models.py:66 stock/models.py:1823
+#: InvenTree/models.py:109 stock/models.py:1874
msgid "Attachment"
msgstr ""
-#: InvenTree/models.py:67
+#: InvenTree/models.py:110
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:69 templates/js/translated/attachment.js:87
+#: InvenTree/models.py:112 templates/js/translated/attachment.js:91
msgid "Comment"
msgstr ""
-#: InvenTree/models.py:69
+#: InvenTree/models.py:112
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055
-#: common/models.py:1056 part/models.py:2055
-#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/translated/stock.js:1669
+#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185
+#: common/models.py:1186 part/models.py:2205 part/models.py:2225
+#: report/templates/report/inventree_test_report_base.html:96
+#: templates/js/translated/stock.js:2054
msgid "User"
msgstr ""
-#: InvenTree/models.py:79
+#: InvenTree/models.py:122
msgid "upload date"
msgstr ""
-#: InvenTree/models.py:99
+#: InvenTree/models.py:142
msgid "Filename must not be empty"
msgstr ""
-#: InvenTree/models.py:122
+#: InvenTree/models.py:165
msgid "Invalid attachment directory"
msgstr ""
-#: InvenTree/models.py:132
+#: InvenTree/models.py:175
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr ""
-#: InvenTree/models.py:135
+#: InvenTree/models.py:178
msgid "Filename missing extension"
msgstr ""
-#: InvenTree/models.py:142
+#: InvenTree/models.py:185
msgid "Attachment with this filename already exists"
msgstr ""
-#: InvenTree/models.py:149
+#: InvenTree/models.py:192
msgid "Error renaming file"
msgstr ""
-#: InvenTree/models.py:184
+#: InvenTree/models.py:227
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415
-#: label/models.py:112 part/models.py:659 part/models.py:2216
-#: part/templates/part/part_base.html:241 report/models.py:181
-#: templates/js/translated/company.js:637 templates/js/translated/part.js:477
-#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141
-#: templates/js/translated/stock.js:1462
+#: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415
+#: label/models.py:112 part/models.py:741 part/models.py:2389
+#: part/templates/part/detail.html:25 report/models.py:181
+#: templates/js/translated/company.js:637 templates/js/translated/part.js:498
+#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272
+#: templates/js/translated/stock.js:1847
msgid "Name"
msgstr ""
-#: InvenTree/models.py:207 build/models.py:189
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/manufacturer_part.html:76
-#: company/templates/company/supplier_part.html:75 label/models.py:119
-#: order/models.py:158 part/models.py:682
-#: part/templates/part/part_base.html:246
+#: InvenTree/models.py:250 build/models.py:207
+#: build/templates/build/detail.html:25 company/models.py:354
+#: company/models.py:570 company/templates/company/manufacturer_part.html:80
+#: company/templates/company/supplier_part.html:81 label/models.py:119
+#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30
#: part/templates/part/set_category.html:14 report/models.py:194
-#: report/models.py:551 report/models.py:590
+#: report/models.py:553 report/models.py:592
#: report/templates/report/inventree_build_order_base.html:118
-#: templates/InvenTree/settings/header.html:9
-#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217
-#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344
+#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214
+#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621
+#: templates/js/translated/company.js:344
#: templates/js/translated/company.js:547
-#: templates/js/translated/company.js:836 templates/js/translated/order.js:672
-#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056
-#: templates/js/translated/part.js:536 templates/js/translated/part.js:724
-#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153
-#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819
-#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519
+#: templates/js/translated/company.js:836 templates/js/translated/order.js:673
+#: templates/js/translated/order.js:833 templates/js/translated/order.js:1069
+#: templates/js/translated/part.js:557 templates/js/translated/part.js:745
+#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291
+#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121
+#: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904
msgid "Description"
msgstr ""
-#: InvenTree/models.py:208
+#: InvenTree/models.py:251
msgid "Description (optional)"
msgstr ""
-#: InvenTree/models.py:216
+#: InvenTree/models.py:259
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:55 part/models.py:2475
+#: InvenTree/serializers.py:62 part/models.py:2674
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:244
+#: InvenTree/serializers.py:251
msgid "Filename"
msgstr ""
-#: InvenTree/settings.py:529
+#: InvenTree/settings.py:663
msgid "German"
msgstr ""
-#: InvenTree/settings.py:530
+#: InvenTree/settings.py:664
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:531
+#: InvenTree/settings.py:665
msgid "English"
msgstr ""
-#: InvenTree/settings.py:532
+#: InvenTree/settings.py:666
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:533
+#: InvenTree/settings.py:667
+msgid "Spanish (Mexican)"
+msgstr ""
+
+#: InvenTree/settings.py:668
msgid "French"
msgstr ""
-#: InvenTree/settings.py:534
+#: InvenTree/settings.py:669
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:535
+#: InvenTree/settings.py:670
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:536
+#: InvenTree/settings.py:671
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:537
+#: InvenTree/settings.py:672
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:538
+#: InvenTree/settings.py:673
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:539
+#: InvenTree/settings.py:674
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:540
+#: InvenTree/settings.py:675
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:541
+#: InvenTree/settings.py:676
+msgid "Portugese"
+msgstr ""
+
+#: InvenTree/settings.py:677
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:542
+#: InvenTree/settings.py:678
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:543
+#: InvenTree/settings.py:679
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:544
+#: InvenTree/settings.py:680
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:545
+#: InvenTree/settings.py:681
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:546
+#: InvenTree/settings.py:682
msgid "Chinese"
msgstr ""
@@ -302,196 +308,196 @@ msgstr ""
msgid "InvenTree system health checks failed"
msgstr ""
-#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145
-#: InvenTree/status_codes.py:314
+#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142
+#: InvenTree/status_codes.py:311
msgid "Pending"
msgstr ""
-#: InvenTree/status_codes.py:105
+#: InvenTree/status_codes.py:102
msgid "Placed"
msgstr ""
-#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317
+#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:314
msgid "Complete"
msgstr ""
-#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147
-#: InvenTree/status_codes.py:316
+#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144
+#: InvenTree/status_codes.py:313
msgid "Cancelled"
msgstr ""
-#: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148
-#: InvenTree/status_codes.py:190
+#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145
+#: InvenTree/status_codes.py:187
msgid "Lost"
msgstr ""
-#: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149
-#: InvenTree/status_codes.py:192
+#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146
+#: InvenTree/status_codes.py:189
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:146
-#: order/templates/order/sales_order_base.html:131
+#: InvenTree/status_codes.py:143
+#: order/templates/order/sales_order_base.html:147
msgid "Shipped"
msgstr ""
-#: InvenTree/status_codes.py:186
+#: InvenTree/status_codes.py:183
msgid "OK"
msgstr ""
-#: InvenTree/status_codes.py:187
+#: InvenTree/status_codes.py:184
msgid "Attention needed"
msgstr ""
-#: InvenTree/status_codes.py:188
+#: InvenTree/status_codes.py:185
msgid "Damaged"
msgstr ""
-#: InvenTree/status_codes.py:189
+#: InvenTree/status_codes.py:186
msgid "Destroyed"
msgstr ""
-#: InvenTree/status_codes.py:191
+#: InvenTree/status_codes.py:188
msgid "Rejected"
msgstr ""
-#: InvenTree/status_codes.py:272
+#: InvenTree/status_codes.py:269
msgid "Legacy stock tracking entry"
msgstr ""
-#: InvenTree/status_codes.py:274
+#: InvenTree/status_codes.py:271
msgid "Stock item created"
msgstr ""
-#: InvenTree/status_codes.py:276
+#: InvenTree/status_codes.py:273
msgid "Edited stock item"
msgstr ""
-#: InvenTree/status_codes.py:277
+#: InvenTree/status_codes.py:274
msgid "Assigned serial number"
msgstr ""
-#: InvenTree/status_codes.py:279
+#: InvenTree/status_codes.py:276
msgid "Stock counted"
msgstr ""
-#: InvenTree/status_codes.py:280
+#: InvenTree/status_codes.py:277
msgid "Stock manually added"
msgstr ""
-#: InvenTree/status_codes.py:281
+#: InvenTree/status_codes.py:278
msgid "Stock manually removed"
msgstr ""
-#: InvenTree/status_codes.py:283
+#: InvenTree/status_codes.py:280
msgid "Location changed"
msgstr ""
-#: InvenTree/status_codes.py:285
+#: InvenTree/status_codes.py:282
msgid "Installed into assembly"
msgstr ""
-#: InvenTree/status_codes.py:286
+#: InvenTree/status_codes.py:283
msgid "Removed from assembly"
msgstr ""
-#: InvenTree/status_codes.py:288
+#: InvenTree/status_codes.py:285
msgid "Installed component item"
msgstr ""
-#: InvenTree/status_codes.py:289
+#: InvenTree/status_codes.py:286
msgid "Removed component item"
msgstr ""
-#: InvenTree/status_codes.py:291
+#: InvenTree/status_codes.py:288
msgid "Split from parent item"
msgstr ""
-#: InvenTree/status_codes.py:292
+#: InvenTree/status_codes.py:289
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186
+#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202
msgid "Sent to customer"
msgstr ""
-#: InvenTree/status_codes.py:295
+#: InvenTree/status_codes.py:292
msgid "Returned from customer"
msgstr ""
-#: InvenTree/status_codes.py:297
+#: InvenTree/status_codes.py:294
msgid "Build order output created"
msgstr ""
-#: InvenTree/status_codes.py:298
+#: InvenTree/status_codes.py:295
msgid "Build order output completed"
msgstr ""
-#: InvenTree/status_codes.py:300
+#: InvenTree/status_codes.py:297
msgid "Received against purchase order"
msgstr ""
-#: InvenTree/status_codes.py:315
+#: InvenTree/status_codes.py:312
msgid "Production"
msgstr ""
-#: InvenTree/validators.py:22
+#: InvenTree/validators.py:23
msgid "Not a valid currency code"
msgstr ""
-#: InvenTree/validators.py:50
+#: InvenTree/validators.py:51
msgid "Invalid character in part name"
msgstr ""
-#: InvenTree/validators.py:63
+#: InvenTree/validators.py:64
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr ""
-#: InvenTree/validators.py:77 InvenTree/validators.py:91
-#: InvenTree/validators.py:105
+#: InvenTree/validators.py:78 InvenTree/validators.py:92
+#: InvenTree/validators.py:106
#, python-brace-format
msgid "Reference must match pattern {pattern}"
msgstr ""
-#: InvenTree/validators.py:113
+#: InvenTree/validators.py:114
#, python-brace-format
msgid "Illegal character in name ({x})"
msgstr ""
-#: InvenTree/validators.py:132 InvenTree/validators.py:148
+#: InvenTree/validators.py:133 InvenTree/validators.py:149
msgid "Overage value must not be negative"
msgstr ""
-#: InvenTree/validators.py:150
+#: InvenTree/validators.py:151
msgid "Overage must not exceed 100%"
msgstr ""
-#: InvenTree/validators.py:157
+#: InvenTree/validators.py:158
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:616
+#: InvenTree/views.py:536
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:665
+#: InvenTree/views.py:585
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:710
+#: InvenTree/views.py:630
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:954 templates/navbar.html:97
+#: InvenTree/views.py:863 templates/navbar.html:101
msgid "System Information"
msgstr ""
@@ -535,599 +541,566 @@ msgstr ""
msgid "Barcode associated with StockItem"
msgstr ""
-#: build/api.py:213
-msgid "Matching build order does not exist"
-msgstr ""
-
-#: build/forms.py:37
-msgid "Build Order reference"
-msgstr ""
-
-#: build/forms.py:38
-msgid "Order target date"
-msgstr ""
-
-#: build/forms.py:42 build/templates/build/build_base.html:146
-#: build/templates/build/detail.html:124
-#: order/templates/order/order_base.html:124
-#: order/templates/order/sales_order_base.html:124
-#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689
-#: templates/js/translated/order.js:1074
-msgid "Target Date"
-msgstr ""
-
-#: build/forms.py:43 build/models.py:279
-msgid "Target date for build completion. Build will be overdue after this date."
-msgstr ""
-
-#: build/forms.py:48 build/forms.py:90 build/models.py:1281
-#: build/templates/build/allocation_card.html:23
-#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:1087
-#: company/forms.py:42 company/templates/company/supplier_part.html:226
-#: order/forms.py:101 order/forms.py:123 order/models.py:720
-#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249
-#: part/forms.py:265 part/forms.py:281 part/models.py:2377
+#: build/forms.py:36 build/models.py:1283
+#: build/templates/build/build_base.html:124
+#: build/templates/build/detail.html:35 common/models.py:1225
+#: company/forms.py:42 company/templates/company/supplier_part.html:251
+#: order/forms.py:102 order/models.py:729 order/models.py:991
+#: order/templates/order/order_wizard/match_parts.html:30
+#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237
+#: part/forms.py:253 part/forms.py:269 part/models.py:2576
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030
+#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
-#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:140 stock/templates/stock/item_base.html:269
-#: stock/templates/stock/stock_adjust.html:18
-#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264
-#: templates/js/translated/build.js:314 templates/js/translated/build.js:638
-#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515
-#: templates/js/translated/model_renderers.js:74
-#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170
-#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444
-#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487
-#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654
-#: templates/js/translated/stock.js:1829
+#: report/templates/report/inventree_test_report_base.html:81
+#: report/templates/report/inventree_test_report_base.html:139
+#: stock/forms.py:156 stock/serializers.py:286
+#: stock/templates/stock/item_base.html:256
+#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441
+#: templates/js/translated/build.js:235 templates/js/translated/build.js:435
+#: templates/js/translated/build.js:629 templates/js/translated/build.js:639
+#: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362
+#: templates/js/translated/model_renderers.js:99
+#: templates/js/translated/order.js:870 templates/js/translated/order.js:1183
+#: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268
+#: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457
+#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626
+#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347
+#: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141
msgid "Quantity"
msgstr ""
-#: build/forms.py:49
-msgid "Number of items to build"
-msgstr ""
-
-#: build/forms.py:91
+#: build/forms.py:37
msgid "Enter quantity for build output"
msgstr ""
-#: build/forms.py:95 order/forms.py:95 stock/forms.py:83
+#: build/forms.py:41 order/forms.py:96 stock/forms.py:95
+#: stock/serializers.py:307 templates/js/translated/stock.js:194
+#: templates/js/translated/stock.js:348
msgid "Serial Numbers"
msgstr ""
-#: build/forms.py:97
+#: build/forms.py:43
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/forms.py:103
+#: build/forms.py:49
msgid "Confirm creation of build output"
msgstr ""
-#: build/forms.py:124
+#: build/forms.py:70
msgid "Confirm deletion of build output"
msgstr ""
-#: build/forms.py:145
-msgid "Confirm unallocation of stock"
-msgstr ""
-
-#: build/forms.py:174
+#: build/forms.py:94
msgid "Mark build as complete"
msgstr ""
-#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284
-#: stock/forms.py:280 stock/serializers.py:553
-#: stock/templates/stock/item_base.html:299
-#: stock/templates/stock/stock_adjust.html:17
-#: templates/js/translated/barcode.js:385
-#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299
-#: templates/js/translated/build.js:650 templates/js/translated/order.js:347
-#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263
-#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179
-#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921
-#: templates/js/translated/stock.js:1546
-msgid "Location"
-msgstr ""
-
-#: build/forms.py:199
-msgid "Location of completed parts"
-msgstr ""
-
-#: build/forms.py:203 build/templates/build/build_base.html:138
-#: build/templates/build/detail.html:62 order/models.py:563
-#: order/serializers.py:238 stock/templates/stock/item_base.html:422
-#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251
-#: templates/js/translated/order.js:430 templates/js/translated/order.js:676
-#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896
-#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845
-msgid "Status"
-msgstr ""
-
-#: build/forms.py:204
-msgid "Build output stock status"
-msgstr ""
-
-#: build/forms.py:211
-msgid "Confirm incomplete"
-msgstr ""
-
-#: build/forms.py:212
-msgid "Confirm completion with incomplete stock allocation"
-msgstr ""
-
-#: build/forms.py:215
-msgid "Confirm build completion"
-msgstr ""
-
-#: build/forms.py:240
+#: build/forms.py:107
msgid "Confirm cancel"
msgstr ""
-#: build/forms.py:240 build/views.py:65
+#: build/forms.py:107 build/views.py:65
msgid "Confirm build cancellation"
msgstr ""
-#: build/models.py:115
+#: build/models.py:133
msgid "Invalid choice for parent build"
msgstr ""
-#: build/models.py:119 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:73
+#: build/models.py:137 build/templates/build/build_base.html:9
+#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:276
+#: templates/js/translated/build.js:397
msgid "Build Order"
msgstr ""
-#: build/models.py:120 build/templates/build/index.html:8
-#: build/templates/build/index.html:15
-#: order/templates/order/sales_order_detail.html:34
-#: order/templates/order/so_navbar.html:19
-#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50
-#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229
-#: templates/InvenTree/search.html:171
-#: templates/InvenTree/settings/navbar.html:113
-#: templates/InvenTree/settings/navbar.html:115 users/models.py:44
+#: build/models.py:138 build/templates/build/build_base.html:13
+#: build/templates/build/index.html:8 build/templates/build/index.html:12
+#: order/templates/order/sales_order_detail.html:42
+#: templates/InvenTree/index.html:221 templates/InvenTree/search.html:145
+#: users/models.py:44
msgid "Build Orders"
msgstr ""
-#: build/models.py:180
+#: build/models.py:198
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:181 order/models.py:246 order/models.py:547
-#: order/models.py:727 part/models.py:2386
+#: build/models.py:199 order/models.py:249 order/models.py:556
+#: order/models.py:736 part/models.py:2585
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734
-#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863
-#: templates/js/translated/order.js:1438
+#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119
+#: templates/js/translated/order.js:864 templates/js/translated/order.js:1451
msgid "Reference"
msgstr ""
-#: build/models.py:192
+#: build/models.py:210
msgid "Brief description of the build"
msgstr ""
-#: build/models.py:201 build/templates/build/build_base.html:163
-#: build/templates/build/detail.html:80
+#: build/models.py:219 build/templates/build/build_base.html:156
+#: build/templates/build/detail.html:88
msgid "Parent Build"
msgstr ""
-#: build/models.py:202
+#: build/models.py:220
msgid "BuildOrder to which this build is allocated"
msgstr ""
-#: build/models.py:207 build/templates/build/build_base.html:128
-#: build/templates/build/detail.html:29 company/models.py:705
-#: order/models.py:780 order/models.py:851
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298
-#: part/models.py:2000 part/models.py:2016 part/models.py:2035
-#: part/models.py:2053 part/models.py:2132 part/models.py:2254
-#: part/models.py:2361 part/templates/part/detail.html:199
+#: build/models.py:225 build/templates/build/build_base.html:119
+#: build/templates/build/detail.html:30 company/models.py:705
+#: order/models.py:789 order/models.py:860
+#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357
+#: part/models.py:2151 part/models.py:2167 part/models.py:2186
+#: part/models.py:2203 part/models.py:2305 part/models.py:2427
+#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
-#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384
-#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611
-#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222
-#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488
-#: templates/js/translated/company.js:745 templates/js/translated/order.js:425
-#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422
-#: templates/js/translated/part.js:705 templates/js/translated/part.js:875
-#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776
-#: templates/js/translated/stock.js:1817
+#: templates/InvenTree/search.html:86
+#: templates/email/build_order_required_stock.html:17
+#: templates/email/low_stock_notification.html:16
+#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213
+#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620
+#: templates/js/translated/build.js:988 templates/js/translated/build.js:1359
+#: templates/js/translated/build.js:1626 templates/js/translated/company.js:488
+#: templates/js/translated/company.js:745 templates/js/translated/order.js:426
+#: templates/js/translated/order.js:818 templates/js/translated/order.js:1435
+#: templates/js/translated/part.js:726 templates/js/translated/part.js:892
+#: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:2129
msgid "Part"
msgstr ""
-#: build/models.py:215
+#: build/models.py:233
msgid "Select part to build"
msgstr ""
-#: build/models.py:220
+#: build/models.py:238
msgid "Sales Order Reference"
msgstr ""
-#: build/models.py:224
+#: build/models.py:242
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:229 templates/js/translated/build.js:962
+#: build/models.py:247 templates/js/translated/build.js:1347
msgid "Source Location"
msgstr ""
-#: build/models.py:233
+#: build/models.py:251
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr ""
-#: build/models.py:238
+#: build/models.py:256
msgid "Destination Location"
msgstr ""
-#: build/models.py:242
+#: build/models.py:260
msgid "Select location where the completed items will be stored"
msgstr ""
-#: build/models.py:246
+#: build/models.py:264
msgid "Build Quantity"
msgstr ""
-#: build/models.py:249
+#: build/models.py:267
msgid "Number of stock items to build"
msgstr ""
-#: build/models.py:253
+#: build/models.py:271
msgid "Completed items"
msgstr ""
-#: build/models.py:255
+#: build/models.py:273
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:259 part/templates/part/part_base.html:198
+#: build/models.py:277 part/templates/part/part_base.html:216
msgid "Build Status"
msgstr ""
-#: build/models.py:263
+#: build/models.py:281
msgid "Build status code"
msgstr ""
-#: build/models.py:267 stock/models.py:513
+#: build/models.py:285 stock/models.py:544
msgid "Batch Code"
msgstr ""
-#: build/models.py:271
+#: build/models.py:289
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:274 order/models.py:162 part/models.py:854
-#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069
+#: build/models.py:292 order/models.py:165 part/models.py:936
+#: part/templates/part/detail.html:86 templates/js/translated/order.js:1082
msgid "Creation Date"
msgstr ""
-#: build/models.py:278 order/models.py:569
+#: build/models.py:296 order/models.py:578
msgid "Target completion date"
msgstr ""
-#: build/models.py:282 order/models.py:288
-#: templates/js/translated/build.js:1293
+#: build/models.py:297
+msgid "Target date for build completion. Build will be overdue after this date."
+msgstr ""
+
+#: build/models.py:300 order/models.py:291
+#: templates/js/translated/build.js:1697
msgid "Completion Date"
msgstr ""
-#: build/models.py:288
+#: build/models.py:306
msgid "completed by"
msgstr ""
-#: build/models.py:296 templates/js/translated/build.js:1264
+#: build/models.py:314 templates/js/translated/build.js:1668
msgid "Issued by"
msgstr ""
-#: build/models.py:297
+#: build/models.py:315
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:305 build/templates/build/build_base.html:184
-#: build/templates/build/detail.html:108 order/models.py:176
-#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:145 part/models.py:858
+#: build/models.py:323 build/templates/build/build_base.html:177
+#: build/templates/build/detail.html:116 order/models.py:179
+#: order/templates/order/order_base.html:154
+#: order/templates/order/sales_order_base.html:161 part/models.py:940
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1680
msgid "Responsible"
msgstr ""
-#: build/models.py:306
+#: build/models.py:324
msgid "User responsible for this build order"
msgstr ""
-#: build/models.py:311 build/templates/build/detail.html:94
-#: company/templates/company/manufacturer_part.html:83
-#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:266 stock/models.py:507
-#: stock/templates/stock/item_base.html:359
+#: build/models.py:329 build/templates/build/detail.html:102
+#: company/templates/company/manufacturer_part.html:87
+#: company/templates/company/supplier_part.html:88
+#: part/templates/part/detail.html:80 stock/models.py:538
+#: stock/templates/stock/item_base.html:346
msgid "External Link"
msgstr ""
-#: build/models.py:312 part/models.py:716 stock/models.py:509
+#: build/models.py:330 part/models.py:798 stock/models.py:540
msgid "Link to external URL"
msgstr ""
-#: build/models.py:316 build/templates/build/navbar.html:52
-#: company/models.py:142 company/models.py:577
-#: company/templates/company/navbar.html:69
-#: company/templates/company/navbar.html:72 order/models.py:180
-#: order/models.py:729 order/templates/order/po_navbar.html:38
-#: order/templates/order/po_navbar.html:41
-#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:843
-#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120
-#: part/templates/part/navbar.html:123
+#: build/models.py:334 build/serializers.py:201 company/models.py:142
+#: company/models.py:577 order/models.py:183 order/models.py:738
+#: part/models.py:925 part/templates/part/detail.html:223
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579
-#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451
-#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59
-#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841
-#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540
-#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040
+#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610
+#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325
+#: stock/serializers.py:584 templates/js/translated/barcode.js:58
+#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841
+#: templates/js/translated/order.js:963 templates/js/translated/order.js:1561
+#: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340
msgid "Notes"
msgstr ""
-#: build/models.py:317
+#: build/models.py:335
msgid "Extra build notes"
msgstr ""
-#: build/models.py:714
+#: build/models.py:710
msgid "No build output specified"
msgstr ""
-#: build/models.py:717
+#: build/models.py:713
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:720
+#: build/models.py:716
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1102
+#: build/models.py:1108
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1111
+#: build/models.py:1117
#, python-brace-format
msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1121
+#: build/models.py:1127
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1127 order/models.py:955
+#: build/models.py:1133 order/models.py:964
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1133
+#: build/models.py:1139
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1191
+#: build/models.py:1193
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1251 stock/templates/stock/item_base.html:331
-#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195
-#: templates/navbar.html:35
+#: build/models.py:1253 stock/templates/stock/item_base.html:318
+#: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599
+#: templates/navbar.html:33
msgid "Build"
msgstr ""
-#: build/models.py:1252
+#: build/models.py:1254
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1268 build/serializers.py:151
+#: build/models.py:1270 build/serializers.py:328
#: stock/templates/stock/item_base.html:8
-#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:353
-#: stock/templates/stock/stock_adjust.html:16
-#: templates/js/translated/build.js:287 templates/js/translated/build.js:292
-#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148
-#: templates/js/translated/stock.js:1605
+#: stock/templates/stock/item_base.html:16
+#: stock/templates/stock/item_base.html:340
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:413
+#: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742
+#: templates/js/translated/order.js:1156 templates/js/translated/order.js:1161
+#: templates/js/translated/stock.js:1990
msgid "Stock Item"
msgstr ""
-#: build/models.py:1269
+#: build/models.py:1271
msgid "Source stock item"
msgstr ""
-#: build/models.py:1282
+#: build/models.py:1284
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1290
+#: build/models.py:1292
msgid "Install into"
msgstr ""
-#: build/models.py:1291
+#: build/models.py:1293
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:133 part/models.py:2501
-msgid "BOM Item"
-msgstr ""
-
-#: build/serializers.py:142
-msgid "bom_item.part must point to the same part as the build order"
-msgstr ""
-
-#: build/serializers.py:157
-msgid "Item must be in stock"
-msgstr ""
-
-#: build/serializers.py:171 order/models.py:313 order/serializers.py:231
-#: stock/models.py:351 stock/models.py:1072
-msgid "Quantity must be greater than zero"
-msgstr ""
-
-#: build/serializers.py:180
+#: build/serializers.py:137 build/serializers.py:357
msgid "Build Output"
msgstr ""
+#: build/serializers.py:146
+msgid "Build output does not match the parent build"
+msgstr ""
+
+#: build/serializers.py:150
+msgid "Output part does not match BuildOrder part"
+msgstr ""
+
+#: build/serializers.py:154
+msgid "This build output has already been completed"
+msgstr ""
+
+#: build/serializers.py:158
+msgid "This build output is not fully allocated"
+msgstr ""
+
+#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285
+#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686
+#: stock/templates/stock/item_base.html:286
+#: templates/js/translated/barcode.js:384
+#: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420
+#: templates/js/translated/build.js:1027 templates/js/translated/order.js:348
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1276
+#: templates/js/translated/order.js:1282 templates/js/translated/part.js:180
+#: templates/js/translated/stock.js:480 templates/js/translated/stock.js:1221
+#: templates/js/translated/stock.js:1931
+msgid "Location"
+msgstr ""
+
+#: build/serializers.py:191
+msgid "Location for completed build outputs"
+msgstr ""
+
+#: build/serializers.py:197 build/templates/build/build_base.html:129
+#: build/templates/build/detail.html:63 order/models.py:572
+#: order/serializers.py:238 stock/templates/stock/item_base.html:409
+#: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655
+#: templates/js/translated/order.js:431 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196
+#: templates/js/translated/stock.js:2008 templates/js/translated/stock.js:2157
+msgid "Status"
+msgstr ""
+
#: build/serializers.py:213
+msgid "A list of build outputs must be provided"
+msgstr ""
+
+#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700
+#: part/models.py:2859
+msgid "BOM Item"
+msgstr ""
+
+#: build/serializers.py:269
+msgid "Build output"
+msgstr ""
+
+#: build/serializers.py:278
+msgid "Build output must point to the same build"
+msgstr ""
+
+#: build/serializers.py:319
+msgid "bom_item.part must point to the same part as the build order"
+msgstr ""
+
+#: build/serializers.py:334
+msgid "Item must be in stock"
+msgstr ""
+
+#: build/serializers.py:348 order/models.py:316 order/serializers.py:231
+#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298
+msgid "Quantity must be greater than zero"
+msgstr ""
+
+#: build/serializers.py:390
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:219
+#: build/serializers.py:396
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:226
+#: build/serializers.py:403
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:254
+#: build/serializers.py:431
msgid "Allocation items must be provided"
msgstr ""
-#: build/templates/build/allocation_card.html:21
-#: build/templates/build/complete_output.html:46
-#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:501 stock/templates/stock/item_base.html:251
-#: templates/js/translated/build.js:636
-#: templates/js/translated/model_renderers.js:72
-#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342
-msgid "Serial Number"
+#: build/tasks.py:92
+msgid "Stock required for build order"
msgstr ""
-#: build/templates/build/build_base.html:18
+#: build/templates/build/build_base.html:39
+#: order/templates/order/order_base.html:28
+#: order/templates/order/sales_order_base.html:38
+msgid "Print actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:43
+msgid "Print build order report"
+msgstr ""
+
+#: build/templates/build/build_base.html:50
+msgid "Build actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:54
+msgid "Edit Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:56
+#: build/templates/build/build_base.html:207 build/views.py:56
+msgid "Cancel Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:59
+msgid "Delete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:64
+#: build/templates/build/build_base.html:65
+#: build/templates/build/build_base.html:223
+msgid "Complete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:79
#, python-format
msgid "This Build Order is allocated to Sales Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:25
+#: build/templates/build/build_base.html:86
#, python-format
msgid "This Build Order is a child of Build Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:32
+#: build/templates/build/build_base.html:93
msgid "Build Order is ready to mark as completed"
msgstr ""
-#: build/templates/build/build_base.html:37
+#: build/templates/build/build_base.html:98
msgid "Build Order cannot be completed as outstanding outputs remain"
msgstr ""
-#: build/templates/build/build_base.html:42
+#: build/templates/build/build_base.html:103
msgid "Required build quantity has not yet been completed"
msgstr ""
-#: build/templates/build/build_base.html:47
+#: build/templates/build/build_base.html:108
msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
-#: build/templates/build/build_base.html:75
-#: company/templates/company/company_base.html:40
-#: company/templates/company/manufacturer_part.html:29
-#: company/templates/company/supplier_part.html:30
-#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:30
-#: stock/templates/stock/item_base.html:62
-#: stock/templates/stock/location.html:31
-msgid "Admin view"
+#: build/templates/build/build_base.html:138
+#: build/templates/build/detail.html:132
+#: order/templates/order/order_base.html:140
+#: order/templates/order/sales_order_base.html:140
+#: report/templates/report/inventree_build_order_base.html:126
+#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690
+#: templates/js/translated/order.js:1087
+msgid "Target Date"
msgstr ""
-#: build/templates/build/build_base.html:81
-#: build/templates/build/build_base.html:150
-#: order/templates/order/order_base.html:32
-#: order/templates/order/order_base.html:86
-#: order/templates/order/sales_order_base.html:43
-#: order/templates/order/sales_order_base.html:93
-#: templates/js/translated/table_filters.js:272
-#: templates/js/translated/table_filters.js:300
-#: templates/js/translated/table_filters.js:317
-msgid "Overdue"
-msgstr ""
-
-#: build/templates/build/build_base.html:90
-msgid "Print actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:94
-msgid "Print Build Order"
-msgstr ""
-
-#: build/templates/build/build_base.html:100
-#: build/templates/build/build_base.html:222
-msgid "Complete Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:105
-msgid "Build actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:109
-msgid "Edit Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:111
-#: build/templates/build/build_base.html:206 build/views.py:56
-msgid "Cancel Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:114
-msgid "Delete Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:124
-#: build/templates/build/detail.html:15
-msgid "Build Details"
-msgstr ""
-
-#: build/templates/build/build_base.html:150
+#: build/templates/build/build_base.html:143
#, python-format
msgid "This build was due on %(target)s"
msgstr ""
-#: build/templates/build/build_base.html:157
-#: build/templates/build/detail.html:67
-msgid "Progress"
+#: build/templates/build/build_base.html:143
+#: build/templates/build/build_base.html:188
+#: order/templates/order/order_base.html:81
+#: order/templates/order/order_base.html:102
+#: order/templates/order/sales_order_base.html:78
+#: order/templates/order/sales_order_base.html:107
+#: templates/js/translated/table_filters.js:288
+#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:333
+msgid "Overdue"
msgstr ""
-#: build/templates/build/build_base.html:170
-#: build/templates/build/detail.html:87 order/models.py:848
+#: build/templates/build/build_base.html:150
+#: build/templates/build/detail.html:68 build/templates/build/detail.html:143
+#: templates/js/translated/build.js:1641
+#: templates/js/translated/table_filters.js:298
+msgid "Completed"
+msgstr ""
+
+#: build/templates/build/build_base.html:163
+#: build/templates/build/detail.html:95 order/models.py:857
#: order/templates/order/sales_order_base.html:9
-#: order/templates/order/sales_order_base.html:35
+#: order/templates/order/sales_order_base.html:28
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:293
-#: templates/js/translated/order.js:1016
+#: stock/templates/stock/item_base.html:280
+#: templates/js/translated/order.js:1029
msgid "Sales Order"
msgstr ""
-#: build/templates/build/build_base.html:177
-#: build/templates/build/detail.html:101
+#: build/templates/build/build_base.html:170
+#: build/templates/build/detail.html:109
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:214
+#: build/templates/build/build_base.html:215
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:215
+#: build/templates/build/build_base.html:216
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
@@ -1175,220 +1148,195 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/templates/build/complete_output.html:10
-msgid "Stock allocation is complete for this output"
+#: build/templates/build/detail.html:16
+msgid "Build Details"
msgstr ""
-#: build/templates/build/complete_output.html:14
-msgid "Stock allocation is incomplete"
-msgstr ""
-
-#: build/templates/build/complete_output.html:20
-msgid "tracked parts have not been fully allocated"
-msgstr ""
-
-#: build/templates/build/complete_output.html:41
-msgid "The following items will be created"
-msgstr ""
-
-#: build/templates/build/detail.html:38
+#: build/templates/build/detail.html:39
msgid "Stock Source"
msgstr ""
-#: build/templates/build/detail.html:43
+#: build/templates/build/detail.html:44
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134
-#: templates/js/translated/order.js:431 templates/js/translated/order.js:939
+#: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150
+#: templates/js/translated/order.js:432 templates/js/translated/order.js:952
msgid "Destination"
msgstr ""
-#: build/templates/build/detail.html:56
+#: build/templates/build/detail.html:57
msgid "Destination location not specified"
msgstr ""
-#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:317
-#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852
-#: templates/js/translated/table_filters.js:129
-#: templates/js/translated/table_filters.js:211
+#: build/templates/build/detail.html:74 templates/js/translated/build.js:647
+msgid "Allocated Parts"
+msgstr ""
+
+#: build/templates/build/detail.html:81
+#: stock/templates/stock/item_base.html:304
+#: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164
+#: templates/js/translated/table_filters.js:145
+#: templates/js/translated/table_filters.js:227
msgid "Batch"
msgstr ""
-#: build/templates/build/detail.html:119
-#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:118
-#: templates/js/translated/build.js:1259
+#: build/templates/build/detail.html:127
+#: order/templates/order/order_base.html:127
+#: order/templates/order/sales_order_base.html:134
+#: templates/js/translated/build.js:1663
msgid "Created"
msgstr ""
-#: build/templates/build/detail.html:130
+#: build/templates/build/detail.html:138
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237
-#: templates/js/translated/table_filters.js:282
-msgid "Completed"
-msgstr ""
-
-#: build/templates/build/detail.html:139
+#: build/templates/build/detail.html:147
msgid "Build not complete"
msgstr ""
-#: build/templates/build/detail.html:150 build/templates/build/navbar.html:35
+#: build/templates/build/detail.html:158
msgid "Child Build Orders"
msgstr ""
-#: build/templates/build/detail.html:166
+#: build/templates/build/detail.html:173
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:172
-msgid "Allocate stock to build"
-msgstr ""
-
-#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20
-#: build/templates/build/navbar.html:23
-msgid "Allocate Stock"
-msgstr ""
-
-#: build/templates/build/detail.html:175 templates/js/translated/build.js:817
+#: build/templates/build/detail.html:177 templates/js/translated/build.js:1202
msgid "Unallocate stock"
msgstr ""
-#: build/templates/build/detail.html:176 build/views.py:257
+#: build/templates/build/detail.html:178
msgid "Unallocate Stock"
msgstr ""
-#: build/templates/build/detail.html:179
+#: build/templates/build/detail.html:180
+msgid "Allocate stock to build"
+msgstr ""
+
+#: build/templates/build/detail.html:181
+msgid "Allocate Stock"
+msgstr ""
+
+#: build/templates/build/detail.html:184
msgid "Order required parts"
msgstr ""
-#: build/templates/build/detail.html:180
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72 order/views.py:509
-#: part/templates/part/category.html:140
+#: build/templates/build/detail.html:185
+#: company/templates/company/detail.html:38
+#: company/templates/company/detail.html:85 order/views.py:509
+#: part/templates/part/category.html:166
msgid "Order Parts"
msgstr ""
-#: build/templates/build/detail.html:186
+#: build/templates/build/detail.html:197
msgid "Untracked stock has been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:190
+#: build/templates/build/detail.html:201
msgid "Untracked stock has not been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:197
+#: build/templates/build/detail.html:208
msgid "Allocate selected items"
msgstr ""
-#: build/templates/build/detail.html:209
+#: build/templates/build/detail.html:218
msgid "This Build Order does not have any associated untracked BOM items"
msgstr ""
-#: build/templates/build/detail.html:218
+#: build/templates/build/detail.html:227
msgid "Incomplete Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:223
+#: build/templates/build/detail.html:231
msgid "Create new build output"
msgstr ""
-#: build/templates/build/detail.html:224
-msgid "Create New Output"
+#: build/templates/build/detail.html:232
+msgid "New Build Output"
msgstr ""
-#: build/templates/build/detail.html:237
-msgid "Create a new build output"
+#: build/templates/build/detail.html:246
+msgid "Output Actions"
msgstr ""
-#: build/templates/build/detail.html:238
-msgid "No incomplete build outputs remain."
+#: build/templates/build/detail.html:250
+msgid "Complete selected items"
msgstr ""
-#: build/templates/build/detail.html:239
-msgid "Create a new build output using the button above"
+#: build/templates/build/detail.html:251
+msgid "Complete outputs"
msgstr ""
-#: build/templates/build/detail.html:247
+#: build/templates/build/detail.html:266
msgid "Completed Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42
-#: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35
-#: order/templates/order/sales_order_detail.html:43
-#: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173
-#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117
-#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47
-#: stock/templates/stock/navbar.html:50
+#: build/templates/build/detail.html:278
+#: order/templates/order/purchase_order_detail.html:60
+#: order/templates/order/sales_order_detail.html:52
+#: part/templates/part/detail.html:300 stock/templates/stock/item.html:95
msgid "Attachments"
msgstr ""
-#: build/templates/build/detail.html:269
+#: build/templates/build/detail.html:294
msgid "Build Notes"
msgstr ""
-#: build/templates/build/detail.html:273 build/templates/build/detail.html:414
-#: company/templates/company/detail.html:169
-#: company/templates/company/detail.html:196
-#: order/templates/order/purchase_order_detail.html:71
-#: order/templates/order/purchase_order_detail.html:104
-#: order/templates/order/sales_order_detail.html:58
-#: order/templates/order/sales_order_detail.html:85
-#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103
-#: stock/templates/stock/item.html:188
+#: build/templates/build/detail.html:298 build/templates/build/detail.html:489
+#: company/templates/company/detail.html:188
+#: company/templates/company/detail.html:215
+#: order/templates/order/purchase_order_detail.html:80
+#: order/templates/order/purchase_order_detail.html:108
+#: order/templates/order/sales_order_detail.html:72
+#: order/templates/order/sales_order_detail.html:99
+#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115
+#: stock/templates/stock/item.html:205
msgid "Edit Notes"
msgstr ""
-#: build/templates/build/detail.html:373
-#: order/templates/order/po_attachments.html:79
-#: order/templates/order/purchase_order_detail.html:166
-#: order/templates/order/sales_order_detail.html:146
-#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253
-#: templates/attachment_table.html:6
+#: build/templates/build/detail.html:448
+#: order/templates/order/purchase_order_detail.html:170
+#: order/templates/order/sales_order_detail.html:160
+#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270
+#: templates/attachment_button.html:4
msgid "Add Attachment"
msgstr ""
-#: build/templates/build/detail.html:392
-#: order/templates/order/po_attachments.html:51
-#: order/templates/order/purchase_order_detail.html:138
-#: order/templates/order/sales_order_detail.html:119
-#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221
+#: build/templates/build/detail.html:467
+#: order/templates/order/purchase_order_detail.html:142
+#: order/templates/order/sales_order_detail.html:133
+#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238
msgid "Edit Attachment"
msgstr ""
-#: build/templates/build/detail.html:399
-#: order/templates/order/po_attachments.html:58
-#: order/templates/order/purchase_order_detail.html:145
-#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230
-#: templates/js/translated/order.js:1230
+#: build/templates/build/detail.html:474
+#: order/templates/order/purchase_order_detail.html:149
+#: order/templates/order/sales_order_detail.html:139
+#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247
+#: templates/js/translated/order.js:1243
msgid "Confirm Delete Operation"
msgstr ""
-#: build/templates/build/detail.html:400
-#: order/templates/order/po_attachments.html:59
-#: order/templates/order/purchase_order_detail.html:146
-#: order/templates/order/sales_order_detail.html:126
-#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231
+#: build/templates/build/detail.html:475
+#: order/templates/order/purchase_order_detail.html:150
+#: order/templates/order/sales_order_detail.html:140
+#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248
msgid "Delete Attachment"
msgstr ""
-#: build/templates/build/detail.html:443
+#: build/templates/build/detail.html:513
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:444
+#: build/templates/build/detail.html:514
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/edit_build_item.html:7
-msgid "Alter the quantity of stock allocated to the build output"
-msgstr ""
-
-#: build/templates/build/index.html:28
+#: build/templates/build/index.html:18 part/templates/part/detail.html:433
msgid "New Build Order"
msgstr ""
@@ -1396,47 +1344,18 @@ msgstr ""
msgid "Print Build Orders"
msgstr ""
-#: build/templates/build/index.html:43
-#: order/templates/order/purchase_orders.html:27
-#: order/templates/order/sales_orders.html:27
+#: build/templates/build/index.html:44
+#: order/templates/order/purchase_orders.html:34
+#: order/templates/order/sales_orders.html:37
msgid "Display calendar view"
msgstr ""
-#: build/templates/build/index.html:46
-#: order/templates/order/purchase_orders.html:30
-#: order/templates/order/sales_orders.html:30
+#: build/templates/build/index.html:47
+#: order/templates/order/purchase_orders.html:37
+#: order/templates/order/sales_orders.html:40
msgid "Display list view"
msgstr ""
-#: build/templates/build/navbar.html:12
-msgid "Build Order Details"
-msgstr ""
-
-#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/translated/stock.js:1534
-msgid "Details"
-msgstr ""
-
-#: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31
-msgid "Build Outputs"
-msgstr ""
-
-#: build/templates/build/navbar.html:38
-msgid "Child Builds"
-msgstr ""
-
-#: build/templates/build/navbar.html:49
-msgid "Build Order Notes"
-msgstr ""
-
-#: build/templates/build/unallocate.html:10
-msgid "Are you sure you wish to unallocate all stock for this build?"
-msgstr ""
-
-#: build/templates/build/unallocate.html:12
-msgid "All incomplete stock allocations will be removed from the build"
-msgstr ""
-
#: build/views.py:76
msgid "Build was cancelled"
msgstr ""
@@ -1449,7 +1368,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:122 stock/views.py:1366
+#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290
msgid "Serial numbers already exist"
msgstr ""
@@ -1461,11 +1380,11 @@ msgstr ""
msgid "Delete Build Output"
msgstr ""
-#: build/views.py:218 build/views.py:308
+#: build/views.py:218
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:219 build/views.py:309 stock/views.py:381
+#: build/views.py:219 stock/views.py:385
msgid "Check the confirmation box"
msgstr ""
@@ -1473,7 +1392,7 @@ msgstr ""
msgid "Build output does not match build"
msgstr ""
-#: build/views.py:233 build/views.py:434
+#: build/views.py:233
msgid "Build output must be specified"
msgstr ""
@@ -1481,39 +1400,19 @@ msgstr ""
msgid "Build output deleted"
msgstr ""
-#: build/views.py:343
+#: build/views.py:261
msgid "Complete Build Order"
msgstr ""
-#: build/views.py:349
+#: build/views.py:267
msgid "Build order cannot be completed - incomplete outputs remain"
msgstr ""
-#: build/views.py:360
+#: build/views.py:278
msgid "Completed build order"
msgstr ""
-#: build/views.py:376
-msgid "Complete Build Output"
-msgstr ""
-
-#: build/views.py:418
-msgid "Invalid stock status value selected"
-msgstr ""
-
-#: build/views.py:425
-msgid "Quantity to complete cannot exceed build output quantity"
-msgstr ""
-
-#: build/views.py:431
-msgid "Confirm completion of incomplete build"
-msgstr ""
-
-#: build/views.py:530
-msgid "Build output completed"
-msgstr ""
-
-#: build/views.py:567
+#: build/views.py:319
msgid "Delete Build Order"
msgstr ""
@@ -1554,728 +1453,728 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:308 common/models.py:887 common/models.py:1048
+#: common/models.py:340 common/models.py:970 common/models.py:1178
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:310
+#: common/models.py:342
msgid "Settings value"
msgstr ""
-#: common/models.py:345
+#: common/models.py:377
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:368
+#: common/models.py:382
+msgid "Chosen value is not a valid option"
+msgstr ""
+
+#: common/models.py:405
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:379
+#: common/models.py:416
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:402
+#: common/models.py:439
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:509
+#: common/models.py:559
+msgid "No group"
+msgstr ""
+
+#: common/models.py:601
+msgid "Restart required"
+msgstr ""
+
+#: common/models.py:602
+msgid "A setting has been changed which requires a server restart"
+msgstr ""
+
+#: common/models.py:609
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:511
+#: common/models.py:611
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:515
+#: common/models.py:615
msgid "Use instance name"
msgstr ""
-#: common/models.py:516
+#: common/models.py:616
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:522 company/models.py:100 company/models.py:101
+#: common/models.py:622 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr ""
-#: common/models.py:523
+#: common/models.py:623
msgid "Internal company name"
msgstr ""
-#: common/models.py:528
+#: common/models.py:628
msgid "Base URL"
msgstr ""
-#: common/models.py:529
+#: common/models.py:629
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:535
+#: common/models.py:635
msgid "Default Currency"
msgstr ""
-#: common/models.py:536
+#: common/models.py:636
msgid "Default currency"
msgstr ""
-#: common/models.py:542
+#: common/models.py:642
msgid "Download from URL"
msgstr ""
-#: common/models.py:543
+#: common/models.py:643
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:549
+#: common/models.py:649
msgid "Barcode Support"
msgstr ""
-#: common/models.py:550
+#: common/models.py:650
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:556
+#: common/models.py:656
msgid "IPN Regex"
msgstr ""
-#: common/models.py:557
+#: common/models.py:657
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:561
+#: common/models.py:661
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:562
+#: common/models.py:662
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:568
+#: common/models.py:668
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:569
+#: common/models.py:669
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:575
+#: common/models.py:675
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:576
+#: common/models.py:676
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:582
+#: common/models.py:682
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:583
+#: common/models.py:683
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:589
+#: common/models.py:689
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:590
+#: common/models.py:690
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:596
+#: common/models.py:696
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:597
+#: common/models.py:697
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:603 part/models.py:2256 report/models.py:187
-#: stock/forms.py:224 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:351
+#: common/models.py:703 part/models.py:2429 report/models.py:187
+#: templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:367
msgid "Template"
msgstr ""
-#: common/models.py:604
+#: common/models.py:704
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:610 part/models.py:806
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:363
+#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954
+#: templates/js/translated/table_filters.js:162
+#: templates/js/translated/table_filters.js:379
msgid "Assembly"
msgstr ""
-#: common/models.py:611
+#: common/models.py:711
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:617 part/models.py:812
-#: templates/js/translated/table_filters.js:367
+#: common/models.py:717 part/models.py:894
+#: templates/js/translated/table_filters.js:383
msgid "Component"
msgstr ""
-#: common/models.py:618
+#: common/models.py:718
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:624 part/models.py:823
+#: common/models.py:724 part/models.py:905
msgid "Purchaseable"
msgstr ""
-#: common/models.py:625
+#: common/models.py:725
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:631 part/models.py:828
-#: templates/js/translated/table_filters.js:375
+#: common/models.py:731 part/models.py:910
+#: templates/js/translated/table_filters.js:391
msgid "Salable"
msgstr ""
-#: common/models.py:632
+#: common/models.py:732
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:638 part/models.py:818
+#: common/models.py:738 part/models.py:900
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:379
+#: templates/js/translated/table_filters.js:94
+#: templates/js/translated/table_filters.js:395
msgid "Trackable"
msgstr ""
-#: common/models.py:639
+#: common/models.py:739
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:645 part/models.py:838
-#: part/templates/part/part_base.html:66
+#: common/models.py:745 part/models.py:920
+#: part/templates/part/part_base.html:144
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:646
+#: common/models.py:746
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:652
+#: common/models.py:752
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:653
+#: common/models.py:753
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:659
+#: common/models.py:759
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:660
+#: common/models.py:760
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:671
+#: common/models.py:771
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:672
+#: common/models.py:772
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:678
+#: common/models.py:778
msgid "Show related parts"
msgstr ""
-#: common/models.py:679
+#: common/models.py:779
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:685
+#: common/models.py:785
msgid "Create initial stock"
msgstr ""
-#: common/models.py:686
+#: common/models.py:786
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:692
+#: common/models.py:792
msgid "Internal Prices"
msgstr ""
-#: common/models.py:693
+#: common/models.py:793
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:699
+#: common/models.py:799
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:700
+#: common/models.py:800
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:706 templates/stats.html:25
+#: common/models.py:806
+msgid "Part Name Display Format"
+msgstr ""
+
+#: common/models.py:807
+msgid "Format to display the part name"
+msgstr ""
+
+#: common/models.py:814
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:815
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:821 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:707
+#: common/models.py:822
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:713
+#: common/models.py:828
msgid "Page Size"
msgstr ""
-#: common/models.py:714
+#: common/models.py:829
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:724
+#: common/models.py:839
msgid "Test Reports"
msgstr ""
-#: common/models.py:725
+#: common/models.py:840
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:731
+#: common/models.py:846
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:732
+#: common/models.py:847
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:738
+#: common/models.py:853
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:739
+#: common/models.py:854
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:745
+#: common/models.py:860
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:746
+#: common/models.py:861
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:748
+#: common/models.py:863
msgid "days"
msgstr ""
-#: common/models.py:753
+#: common/models.py:868
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:754
+#: common/models.py:869
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:760
+#: common/models.py:875
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:761
+#: common/models.py:876
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:767
+#: common/models.py:882
msgid "Group by Part"
msgstr ""
-#: common/models.py:768
+#: common/models.py:883
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:774
+#: common/models.py:889
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:775
+#: common/models.py:890
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:780
+#: common/models.py:895
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:781
+#: common/models.py:896
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:785
+#: common/models.py:900
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:786
+#: common/models.py:901
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:791
+#: common/models.py:906
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:792
+#: common/models.py:907
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:798
-msgid "Enable build"
-msgstr ""
-
-#: common/models.py:799
-msgid "Enable build functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:804
-msgid "Enable buy"
-msgstr ""
-
-#: common/models.py:805
-msgid "Enable buy functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:810
-msgid "Enable sell"
-msgstr ""
-
-#: common/models.py:811
-msgid "Enable sell functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:816
-msgid "Enable stock"
-msgstr ""
-
-#: common/models.py:817
-msgid "Enable stock functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:822
-msgid "Enable SO"
-msgstr ""
-
-#: common/models.py:823
-msgid "Enable SO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:828
-msgid "Enable PO"
-msgstr ""
-
-#: common/models.py:829
-msgid "Enable PO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:836
+#: common/models.py:913
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:837
-msgid "Enable password forgot function on the login-pages"
+#: common/models.py:914
+msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:842
+#: common/models.py:919
msgid "Enable registration"
msgstr ""
-#: common/models.py:843
-msgid "Enable self-registration for users on the login-pages"
+#: common/models.py:920
+msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:848
+#: common/models.py:925
msgid "Enable SSO"
msgstr ""
-#: common/models.py:849
-msgid "Enable SSO on the login-pages"
+#: common/models.py:926
+msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:854
-msgid "E-Mail required"
+#: common/models.py:931
+msgid "Email required"
msgstr ""
-#: common/models.py:855
+#: common/models.py:932
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:860
+#: common/models.py:937
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:861
+#: common/models.py:938
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:943
msgid "Mail twice"
msgstr ""
-#: common/models.py:867
+#: common/models.py:944
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:872
+#: common/models.py:949
msgid "Password twice"
msgstr ""
-#: common/models.py:873
+#: common/models.py:950
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:898
-msgid "Show starred parts"
+#: common/models.py:955
+msgid "Group on signup"
msgstr ""
-#: common/models.py:899
-msgid "Show starred parts on the homepage"
+#: common/models.py:956
+msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:904
-msgid "Show latest parts"
-msgstr ""
-
-#: common/models.py:905
-msgid "Show latest parts on the homepage"
-msgstr ""
-
-#: common/models.py:910
-msgid "Recent Part Count"
-msgstr ""
-
-#: common/models.py:911
-msgid "Number of recent parts to display on index page"
-msgstr ""
-
-#: common/models.py:917
-msgid "Show unvalidated BOMs"
-msgstr ""
-
-#: common/models.py:918
-msgid "Show BOMs that await validation on the homepage"
-msgstr ""
-
-#: common/models.py:923
-msgid "Show recent stock changes"
-msgstr ""
-
-#: common/models.py:924
-msgid "Show recently changed stock items on the homepage"
-msgstr ""
-
-#: common/models.py:929
-msgid "Recent Stock Count"
-msgstr ""
-
-#: common/models.py:930
-msgid "Number of recent stock items to display on index page"
-msgstr ""
-
-#: common/models.py:935
-msgid "Show low stock"
-msgstr ""
-
-#: common/models.py:936
-msgid "Show low stock items on the homepage"
-msgstr ""
-
-#: common/models.py:941
-msgid "Show depleted stock"
-msgstr ""
-
-#: common/models.py:942
-msgid "Show depleted stock items on the homepage"
-msgstr ""
-
-#: common/models.py:947
-msgid "Show needed stock"
-msgstr ""
-
-#: common/models.py:948
-msgid "Show stock items needed for builds on the homepage"
-msgstr ""
-
-#: common/models.py:953
-msgid "Show expired stock"
-msgstr ""
-
-#: common/models.py:954
-msgid "Show expired stock items on the homepage"
-msgstr ""
-
-#: common/models.py:959
-msgid "Show stale stock"
-msgstr ""
-
-#: common/models.py:960
-msgid "Show stale stock items on the homepage"
-msgstr ""
-
-#: common/models.py:965
-msgid "Show pending builds"
-msgstr ""
-
-#: common/models.py:966
-msgid "Show pending builds on the homepage"
-msgstr ""
-
-#: common/models.py:971
-msgid "Show overdue builds"
-msgstr ""
-
-#: common/models.py:972
-msgid "Show overdue builds on the homepage"
-msgstr ""
-
-#: common/models.py:977
-msgid "Show outstanding POs"
-msgstr ""
-
-#: common/models.py:978
-msgid "Show outstanding POs on the homepage"
-msgstr ""
-
-#: common/models.py:983
-msgid "Show overdue POs"
-msgstr ""
-
-#: common/models.py:984
-msgid "Show overdue POs on the homepage"
-msgstr ""
-
-#: common/models.py:989
-msgid "Show outstanding SOs"
-msgstr ""
-
-#: common/models.py:990
-msgid "Show outstanding SOs on the homepage"
-msgstr ""
-
-#: common/models.py:995
-msgid "Show overdue SOs"
-msgstr ""
-
-#: common/models.py:996
-msgid "Show overdue SOs on the homepage"
+#: common/models.py:1001
+msgid "Show subscribed parts"
msgstr ""
#: common/models.py:1002
+msgid "Show subscribed parts on the homepage"
+msgstr ""
+
+#: common/models.py:1007
+msgid "Show subscribed categories"
+msgstr ""
+
+#: common/models.py:1008
+msgid "Show subscribed part categories on the homepage"
+msgstr ""
+
+#: common/models.py:1013
+msgid "Show latest parts"
+msgstr ""
+
+#: common/models.py:1014
+msgid "Show latest parts on the homepage"
+msgstr ""
+
+#: common/models.py:1019
+msgid "Recent Part Count"
+msgstr ""
+
+#: common/models.py:1020
+msgid "Number of recent parts to display on index page"
+msgstr ""
+
+#: common/models.py:1026
+msgid "Show unvalidated BOMs"
+msgstr ""
+
+#: common/models.py:1027
+msgid "Show BOMs that await validation on the homepage"
+msgstr ""
+
+#: common/models.py:1032
+msgid "Show recent stock changes"
+msgstr ""
+
+#: common/models.py:1033
+msgid "Show recently changed stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1038
+msgid "Recent Stock Count"
+msgstr ""
+
+#: common/models.py:1039
+msgid "Number of recent stock items to display on index page"
+msgstr ""
+
+#: common/models.py:1044
+msgid "Show low stock"
+msgstr ""
+
+#: common/models.py:1045
+msgid "Show low stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1050
+msgid "Show depleted stock"
+msgstr ""
+
+#: common/models.py:1051
+msgid "Show depleted stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1056
+msgid "Show needed stock"
+msgstr ""
+
+#: common/models.py:1057
+msgid "Show stock items needed for builds on the homepage"
+msgstr ""
+
+#: common/models.py:1062
+msgid "Show expired stock"
+msgstr ""
+
+#: common/models.py:1063
+msgid "Show expired stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1068
+msgid "Show stale stock"
+msgstr ""
+
+#: common/models.py:1069
+msgid "Show stale stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1074
+msgid "Show pending builds"
+msgstr ""
+
+#: common/models.py:1075
+msgid "Show pending builds on the homepage"
+msgstr ""
+
+#: common/models.py:1080
+msgid "Show overdue builds"
+msgstr ""
+
+#: common/models.py:1081
+msgid "Show overdue builds on the homepage"
+msgstr ""
+
+#: common/models.py:1086
+msgid "Show outstanding POs"
+msgstr ""
+
+#: common/models.py:1087
+msgid "Show outstanding POs on the homepage"
+msgstr ""
+
+#: common/models.py:1092
+msgid "Show overdue POs"
+msgstr ""
+
+#: common/models.py:1093
+msgid "Show overdue POs on the homepage"
+msgstr ""
+
+#: common/models.py:1098
+msgid "Show outstanding SOs"
+msgstr ""
+
+#: common/models.py:1099
+msgid "Show outstanding SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Show overdue SOs"
+msgstr ""
+
+#: common/models.py:1105
+msgid "Show overdue SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1111
msgid "Inline label display"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1112
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1118
msgid "Inline report display"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1119
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1125
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1126
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:1023
+#: common/models.py:1132
+msgid "Search Show Stock"
+msgstr ""
+
+#: common/models.py:1133
+msgid "Display stock levels in search preview window"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Hide Inactive Parts"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Hide inactive parts in search preview window"
+msgstr ""
+
+#: common/models.py:1146
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1024
+#: common/models.py:1147
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1153
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1154
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1088 company/forms.py:43
+#: common/models.py:1160
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1161
+msgid "InvenTree navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1226 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1095 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1369
+#: common/models.py:1233 company/serializers.py:264
+#: company/templates/company/supplier_part.html:256
+#: templates/js/translated/part.js:1508
msgid "Price"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1234
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1189
-msgid "Default"
-msgstr ""
-
-#: common/templates/common/edit_setting.html:11
-msgid "Current value"
-msgstr ""
-
-#: common/views.py:33
-msgid "Change Setting"
-msgstr ""
-
-#: common/views.py:119
-msgid "Supplied value is not allowed"
-msgstr ""
-
-#: common/views.py:128
-msgid "Supplied value must be a boolean"
-msgstr ""
-
-#: common/views.py:138
-msgid "Change User Setting"
-msgstr ""
-
-#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42
-#: order/templates/order/po_navbar.html:19
-#: order/templates/order/po_navbar.html:22
-#: order/templates/order/purchase_order_detail.html:27 order/views.py:289
-#: part/templates/part/bom_upload/upload_file.html:65
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
-#: part/views.py:882
+#: common/views.py:93 order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:289
+#: part/templates/part/bom_upload/upload_file.html:51
+#: part/templates/part/import_wizard/part_upload.html:46 part/views.py:281
+#: part/views.py:923
msgid "Upload File"
msgstr ""
-#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
+#: common/views.py:94 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
-#: part/views.py:883
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:282
+#: part/views.py:924
msgid "Match Fields"
msgstr ""
-#: common/views.py:215
+#: common/views.py:95
msgid "Match Items"
msgstr ""
-#: common/views.py:560
+#: common/views.py:440
msgid "Fields matching failed"
msgstr ""
-#: common/views.py:615
+#: common/views.py:495
msgid "Parts imported"
msgstr ""
-#: common/views.py:637 order/templates/order/order_wizard/match_fields.html:27
+#: common/views.py:517 order/templates/order/order_wizard/match_fields.html:27
#: order/templates/order/order_wizard/match_parts.html:19
-#: order/templates/order/order_wizard/po_upload.html:40
+#: order/templates/order/order_wizard/po_upload.html:46
#: part/templates/part/bom_upload/match_fields.html:27
#: part/templates/part/bom_upload/match_parts.html:19
-#: part/templates/part/bom_upload/upload_file.html:63
+#: part/templates/part/bom_upload/upload_file.html:49
#: part/templates/part/import_wizard/match_fields.html:27
#: part/templates/part/import_wizard/match_references.html:19
-#: part/templates/part/import_wizard/part_upload.html:43
+#: part/templates/part/import_wizard/part_upload.html:44
msgid "Previous Step"
msgstr ""
@@ -2321,6 +2220,7 @@ msgid "Contact phone number"
msgstr ""
#: company/models.py:125 company/templates/company/company_base.html:102
+#: templates/InvenTree/settings/user.html:46
msgid "Email"
msgstr ""
@@ -2337,10 +2237,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:131 company/models.py:348 company/models.py:564
-#: order/models.py:160 part/models.py:715
+#: order/models.py:163 part/models.py:797
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:536
-#: templates/js/translated/company.js:825 templates/js/translated/part.js:983
+#: templates/js/translated/company.js:825 templates/js/translated/part.js:984
msgid "Link"
msgstr ""
@@ -2348,7 +2248,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:725
+#: company/models.py:139 part/models.py:807
msgid "Image"
msgstr ""
@@ -2376,8 +2276,8 @@ msgstr ""
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:152 company/serializers.py:264
-#: company/templates/company/company_base.html:76 stock/serializers.py:158
+#: company/models.py:152 company/serializers.py:270
+#: company/templates/company/company_base.html:76 stock/serializers.py:172
msgid "Currency"
msgstr ""
@@ -2385,8 +2285,8 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:454
-#: stock/templates/stock/item_base.html:237
+#: company/models.py:320 company/models.py:535 stock/models.py:484
+#: stock/templates/stock/item_base.html:224
msgid "Base Part"
msgstr ""
@@ -2395,28 +2295,28 @@ msgid "Select part"
msgstr ""
#: company/models.py:335 company/templates/company/company_base.html:116
-#: company/templates/company/manufacturer_part.html:89
-#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:247 stock/templates/stock/item_base.html:366
+#: company/templates/company/manufacturer_part.html:93
+#: company/templates/company/supplier_part.html:104
+#: stock/templates/stock/item_base.html:353
#: templates/js/translated/company.js:332
#: templates/js/translated/company.js:513
-#: templates/js/translated/company.js:796 templates/js/translated/part.js:227
+#: templates/js/translated/company.js:796 templates/js/translated/part.js:228
msgid "Manufacturer"
msgstr ""
-#: company/models.py:336 templates/js/translated/part.js:228
+#: company/models.py:336 templates/js/translated/part.js:229
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:342 company/templates/company/manufacturer_part.html:93
-#: company/templates/company/supplier_part.html:106 part/bom.py:171
-#: part/bom.py:248 templates/js/translated/company.js:529
-#: templates/js/translated/company.js:814 templates/js/translated/order.js:851
-#: templates/js/translated/part.js:238
+#: company/models.py:342 company/templates/company/manufacturer_part.html:97
+#: company/templates/company/supplier_part.html:112
+#: templates/js/translated/company.js:529
+#: templates/js/translated/company.js:814 templates/js/translated/order.js:852
+#: templates/js/translated/part.js:239
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:239
+#: company/models.py:343 templates/js/translated/part.js:240
msgid "Manufacturer Part Number"
msgstr ""
@@ -2431,7 +2331,7 @@ msgstr ""
#: company/models.py:409 company/models.py:558
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:376
+#: stock/templates/stock/item_base.html:363
msgid "Manufacturer Part"
msgstr ""
@@ -2440,10 +2340,9 @@ msgid "Parameter name"
msgstr ""
#: company/models.py:422
-#: report/templates/report/inventree_test_report_base.html:90
-#: stock/models.py:1816 templates/InvenTree/settings/header.html:8
-#: templates/js/translated/company.js:643 templates/js/translated/part.js:623
-#: templates/js/translated/stock.js:555
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:1867 templates/js/translated/company.js:643
+#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848
msgid "Value"
msgstr ""
@@ -2451,8 +2350,9 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:800 part/models.py:2224
-#: templates/js/translated/company.js:649 templates/js/translated/part.js:629
+#: company/models.py:429 part/models.py:882 part/models.py:2397
+#: part/templates/part/detail.html:59 templates/js/translated/company.js:649
+#: templates/js/translated/part.js:650
msgid "Units"
msgstr ""
@@ -2465,27 +2365,27 @@ msgid "Linked manufacturer part must reference the same base part"
msgstr ""
#: company/models.py:545 company/templates/company/company_base.html:121
-#: company/templates/company/supplier_part.html:88 order/models.py:260
-#: order/templates/order/order_base.html:92
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:292 stock/templates/stock/item_base.html:383
+#: company/templates/company/supplier_part.html:94 order/models.py:263
+#: order/templates/order/order_base.html:108
+#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219
+#: part/bom.py:247 stock/templates/stock/item_base.html:370
#: templates/js/translated/company.js:336
-#: templates/js/translated/company.js:770 templates/js/translated/order.js:659
-#: templates/js/translated/part.js:208
+#: templates/js/translated/company.js:770 templates/js/translated/order.js:660
+#: templates/js/translated/part.js:209
msgid "Supplier"
msgstr ""
-#: company/models.py:546 templates/js/translated/part.js:209
+#: company/models.py:546 templates/js/translated/part.js:210
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:92
-#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838
-#: templates/js/translated/part.js:219
+#: company/models.py:551 company/templates/company/supplier_part.html:98
+#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:839
+#: templates/js/translated/part.js:220
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:220
+#: company/models.py:552 templates/js/translated/part.js:221
msgid "Supplier stock keeping unit"
msgstr ""
@@ -2501,23 +2401,23 @@ msgstr ""
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:120
-#: part/models.py:2389 report/templates/report/inventree_po_report.html:93
+#: company/models.py:576 company/templates/company/supplier_part.html:126
+#: part/models.py:2588 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:113
-#: stock/models.py:478 stock/templates/stock/item_base.html:324
-#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036
+#: company/models.py:582 company/templates/company/supplier_part.html:119
+#: stock/models.py:507 stock/templates/stock/item_base.html:311
+#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336
msgid "Packaging"
msgstr ""
@@ -2525,7 +2425,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1605
+#: company/models.py:584 part/models.py:1750
msgid "multiple"
msgstr ""
@@ -2533,46 +2433,42 @@ msgstr ""
msgid "Order multiple"
msgstr ""
-#: company/serializers.py:68
+#: company/serializers.py:70
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:69
+#: company/serializers.py:71
msgid "Currency Code"
msgstr ""
-#: company/templates/company/company_base.html:9
-#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321
+#: company/templates/company/company_base.html:8
+#: company/templates/company/company_base.html:12
+#: templates/InvenTree/search.html:182 templates/js/translated/company.js:321
msgid "Company"
msgstr ""
-#: company/templates/company/company_base.html:25
-#: part/templates/part/part_thumb.html:21
-msgid "Upload new image"
-msgstr ""
-
-#: company/templates/company/company_base.html:27
-#: part/templates/part/part_thumb.html:23
-msgid "Download image from URL"
-msgstr ""
-
-#: company/templates/company/company_base.html:46
-#: templates/js/translated/order.js:120
+#: company/templates/company/company_base.html:22
+#: templates/js/translated/order.js:121
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:51
+#: company/templates/company/company_base.html:27
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:56
-#: company/templates/company/company_base.html:153
+#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:148
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:64
-msgid "Company Details"
+#: company/templates/company/company_base.html:48
+#: part/templates/part/part_thumb.html:12
+msgid "Upload new image"
+msgstr ""
+
+#: company/templates/company/company_base.html:51
+#: part/templates/part/part_thumb.html:14
+msgid "Download image from URL"
msgstr ""
#: company/templates/company/company_base.html:81
@@ -2583,145 +2479,133 @@ msgstr ""
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:126 order/models.py:558
-#: order/templates/order/sales_order_base.html:99 stock/models.py:496
-#: stock/models.py:497 stock/templates/stock/item_base.html:276
-#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038
-#: templates/js/translated/stock.js:1587
+#: company/templates/company/company_base.html:126 order/models.py:567
+#: order/templates/order/sales_order_base.html:114 stock/models.py:525
+#: stock/models.py:526 stock/templates/stock/item_base.html:263
+#: templates/js/translated/company.js:328 templates/js/translated/order.js:1051
+#: templates/js/translated/stock.js:1972
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:199
-#: part/templates/part/part_base.html:424
+#: company/templates/company/company_base.html:194
+#: part/templates/part/part_base.html:342
msgid "Upload Image"
msgstr ""
-#: company/templates/company/detail.html:14
-#: company/templates/company/manufacturer_part_navbar.html:18
-#: templates/InvenTree/search.html:150
+#: company/templates/company/detail.html:15 templates/InvenTree/search.html:124
msgid "Supplier Parts"
msgstr ""
-#: company/templates/company/detail.html:22
+#: company/templates/company/detail.html:19
#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr ""
-#: company/templates/company/detail.html:23
-#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289
+#: company/templates/company/detail.html:20
+#: company/templates/company/manufacturer_part.html:112
+#: part/templates/part/detail.html:466
msgid "New Supplier Part"
msgstr ""
-#: company/templates/company/detail.html:27
-#: company/templates/company/detail.html:67
-#: company/templates/company/manufacturer_part.html:112
-#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/category.html:135 part/templates/part/detail.html:292
-#: part/templates/part/detail.html:315
+#: company/templates/company/detail.html:32
+#: company/templates/company/detail.html:79
+#: company/templates/company/manufacturer_part.html:121
+#: company/templates/company/manufacturer_part.html:150
+#: part/templates/part/category.html:160 part/templates/part/detail.html:475
+#: part/templates/part/detail.html:503
msgid "Options"
msgstr ""
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72
-#: part/templates/part/category.html:140
+#: company/templates/company/detail.html:37
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:166
msgid "Order parts"
msgstr ""
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:42
+#: company/templates/company/detail.html:89
msgid "Delete parts"
msgstr ""
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:43
+#: company/templates/company/detail.html:90
msgid "Delete Parts"
msgstr ""
-#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135
+#: company/templates/company/detail.html:62 templates/InvenTree/search.html:109
msgid "Manufacturer Parts"
msgstr ""
-#: company/templates/company/detail.html:62
+#: company/templates/company/detail.html:66
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:63 part/templates/part/detail.html:312
+#: company/templates/company/detail.html:67 part/templates/part/detail.html:493
msgid "New Manufacturer Part"
msgstr ""
-#: company/templates/company/detail.html:93
+#: company/templates/company/detail.html:107
msgid "Supplier Stock"
msgstr ""
-#: company/templates/company/detail.html:102
-#: company/templates/company/navbar.html:46
-#: company/templates/company/navbar.html:49
+#: company/templates/company/detail.html:117
+#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
-#: order/templates/order/purchase_orders.html:13
-#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82
-#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260
-#: templates/InvenTree/search.html:229
-#: templates/InvenTree/settings/navbar.html:119
-#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44
+#: order/templates/order/purchase_orders.html:12
+#: part/templates/part/detail.html:171 templates/InvenTree/index.html:252
+#: templates/InvenTree/search.html:203 templates/navbar.html:45
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
-#: company/templates/company/detail.html:108
-#: order/templates/order/purchase_orders.html:20
+#: company/templates/company/detail.html:121
+#: order/templates/order/purchase_orders.html:17
msgid "Create new purchase order"
msgstr ""
-#: company/templates/company/detail.html:109
-#: order/templates/order/purchase_orders.html:21
+#: company/templates/company/detail.html:122
+#: order/templates/order/purchase_orders.html:18
msgid "New Purchase Order"
msgstr ""
-#: company/templates/company/detail.html:124
-#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58
+#: company/templates/company/detail.html:143
+#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
-#: order/templates/order/sales_orders.html:13
-#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91
-#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291
-#: templates/InvenTree/search.html:249
-#: templates/InvenTree/settings/navbar.html:125
-#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55
+#: order/templates/order/sales_orders.html:15
+#: part/templates/part/detail.html:194 templates/InvenTree/index.html:283
+#: templates/InvenTree/search.html:223 templates/navbar.html:56
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
-#: company/templates/company/detail.html:130
+#: company/templates/company/detail.html:147
#: order/templates/order/sales_orders.html:20
msgid "Create new sales order"
msgstr ""
-#: company/templates/company/detail.html:131
+#: company/templates/company/detail.html:148
#: order/templates/order/sales_orders.html:21
msgid "New Sales Order"
msgstr ""
-#: company/templates/company/detail.html:147
-#: company/templates/company/navbar.html:61
-#: company/templates/company/navbar.html:64
-#: templates/js/translated/build.js:622
+#: company/templates/company/detail.html:168
+#: templates/js/translated/build.js:999
msgid "Assigned Stock"
msgstr ""
-#: company/templates/company/detail.html:165
+#: company/templates/company/detail.html:184
msgid "Company Notes"
msgstr ""
-#: company/templates/company/detail.html:364
-#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:357
+#: company/templates/company/detail.html:383
+#: company/templates/company/manufacturer_part.html:209
+#: part/templates/part/detail.html:546
msgid "Delete Supplier Parts?"
msgstr ""
-#: company/templates/company/detail.html:365
-#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:358
+#: company/templates/company/detail.html:384
+#: company/templates/company/manufacturer_part.html:210
+#: part/templates/part/detail.html:547
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2729,204 +2613,172 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:40
-#: company/templates/company/supplier_part.html:40
-#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116
+#: company/templates/company/manufacturer_part.html:14 company/views.py:55
+#: part/templates/part/prices.html:167 templates/InvenTree/search.html:184
+#: templates/navbar.html:44
+msgid "Manufacturers"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:35
+#: company/templates/company/supplier_part.html:34
+#: company/templates/company/supplier_part.html:159
+#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:40
#: templates/js/translated/company.js:561
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:49
+#: company/templates/company/manufacturer_part.html:44
#: templates/js/translated/company.js:562
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:61
-msgid "Manufacturer Part Details"
-msgstr ""
-
-#: company/templates/company/manufacturer_part.html:66
-#: company/templates/company/supplier_part.html:65
+#: company/templates/company/manufacturer_part.html:70
+#: company/templates/company/supplier_part.html:71
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/manufacturer_part_navbar.html:21
-#: company/views.py:49 part/templates/part/navbar.html:75
-#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163
-#: templates/InvenTree/search.html:220 templates/navbar.html:41
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: part/templates/part/prices.html:163 templates/InvenTree/search.html:194
+#: templates/navbar.html:43
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: part/templates/part/detail.html:294
+#: company/templates/company/manufacturer_part.html:123
+#: part/templates/part/detail.html:477
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: company/templates/company/manufacturer_part.html:138
-#: company/templates/company/manufacturer_part.html:239
-#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/translated/company.js:424
-#: templates/js/translated/helpers.js:31 users/models.py:199
+#: company/templates/company/manufacturer_part.html:123
+#: company/templates/company/manufacturer_part.html:152
+#: company/templates/company/manufacturer_part.html:248
+#: part/templates/part/detail.html:351 part/templates/part/detail.html:477
+#: part/templates/part/detail.html:505 templates/js/translated/company.js:424
+#: templates/js/translated/helpers.js:31 users/models.py:204
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:127
-#: company/templates/company/manufacturer_part_navbar.html:11
-#: company/templates/company/manufacturer_part_navbar.html:14
-#: part/templates/part/category_navbar.html:38
-#: part/templates/part/category_navbar.html:41
-#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20
-#: part/templates/part/navbar.html:23
+#: company/templates/company/manufacturer_part.html:137
+#: part/templates/part/detail.html:277
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:133
-#: part/templates/part/detail.html:162
-#: templates/InvenTree/settings/category.html:26
-#: templates/InvenTree/settings/part.html:63
+#: company/templates/company/manufacturer_part.html:141
+#: part/templates/part/detail.html:282
+#: templates/InvenTree/settings/category.html:12
+#: templates/InvenTree/settings/part.html:65
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:138
+#: company/templates/company/manufacturer_part.html:152
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:805
+#: company/templates/company/manufacturer_part.html:185
+#: part/templates/part/detail.html:983
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:224
+#: company/templates/company/manufacturer_part.html:233
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:236
+#: company/templates/company/manufacturer_part.html:245
msgid "Delete Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part_navbar.html:26
-msgid "Manufacturer Part Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:29
-#: company/templates/company/navbar.html:39
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/navbar.html:38 stock/api.py:52
-#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182
-#: templates/InvenTree/settings/navbar.html:107
-#: templates/InvenTree/settings/navbar.html:109
-#: templates/js/translated/part.js:540 templates/js/translated/part.js:769
-#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182
-#: templates/js/translated/stock.js:829 templates/navbar.html:32
-msgid "Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:33
-msgid "Manufacturer Part Orders"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:36
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr ""
-
-#: company/templates/company/navbar.html:17
-#: company/templates/company/navbar.html:20
-msgid "Manufactured Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:26
-#: company/templates/company/navbar.html:29
-msgid "Supplied Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35
-#: stock/templates/stock/location.html:119
-#: stock/templates/stock/location.html:134
-#: stock/templates/stock/location.html:148
-#: stock/templates/stock/location_navbar.html:18
-#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486
-#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
-msgid "Stock Items"
-msgstr ""
-
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:463
-#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993
+#: company/templates/company/supplier_part.html:24 stock/models.py:492
+#: stock/templates/stock/item_base.html:375
+#: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44
+#: company/templates/company/supplier_part.html:38
#: templates/js/translated/company.js:859
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48
+#: company/templates/company/supplier_part.html:42
#: templates/js/translated/company.js:860
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:60
-msgid "Supplier Part Details"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:131
+#: company/templates/company/supplier_part.html:138
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:140
+#: company/templates/company/supplier_part.html:141
+#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147
+msgid "Create new stock item"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:142
+#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148
+#: templates/js/translated/stock.js:324
+msgid "New Stock Item"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:155
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:147
-#: part/templates/part/detail.html:56
+#: company/templates/company/supplier_part.html:160
+#: part/templates/part/detail.html:175
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:158
-#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7
+#: company/templates/company/supplier_part.html:179
+#: part/templates/part/prices.html:7
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:164
-#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:271 part/views.py:1730
+#: company/templates/company/supplier_part.html:184
+#: company/templates/company/supplier_part.html:290
+#: part/templates/part/prices.html:271 part/views.py:1782
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:185
+#: company/templates/company/supplier_part.html:210
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:1792
+#: company/templates/company/supplier_part.html:224 part/views.py:1844
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:1778
+#: company/templates/company/supplier_part.html:238 part/views.py:1830
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
+#: company/templates/company/supplier_part.html:263
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:239
+#: company/templates/company/supplier_part.html:264
msgid "Delete price break"
msgstr ""
+#: company/templates/company/supplier_part_navbar.html:15
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426
+#: templates/js/translated/part.js:561 templates/js/translated/part.js:786
+#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479
+#: templates/js/translated/stock.js:1132 templates/navbar.html:26
+msgid "Stock"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:22
+msgid "Orders"
+msgstr ""
+
#: company/templates/company/supplier_part_navbar.html:26
msgid "Supplier Part Pricing"
msgstr ""
@@ -2939,17 +2791,12 @@ msgstr ""
msgid "New Supplier"
msgstr ""
-#: company/views.py:55 part/templates/part/prices.html:167
-#: templates/InvenTree/search.html:210 templates/navbar.html:42
-msgid "Manufacturers"
-msgstr ""
-
#: company/views.py:56
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:240
-#: templates/navbar.html:53
+#: company/views.py:61 templates/InvenTree/search.html:214
+#: templates/navbar.html:55
msgid "Customers"
msgstr ""
@@ -2965,24 +2812,24 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:608
+#: company/views.py:129 part/views.py:649
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:640
+#: company/views.py:158 part/views.py:681
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:647
+#: company/views.py:165 part/views.py:688
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:656
+#: company/views.py:174 part/views.py:697
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:57 report/api.py:201
+#: label/api.py:57 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -2994,7 +2841,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:167
+#: label/models.py:127
msgid "Label"
msgstr ""
@@ -3039,7 +2886,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:259 label/models.py:319 label/models.py:366
-#: report/models.py:322 report/models.py:457 report/models.py:495
+#: report/models.py:322 report/models.py:459 report/models.py:497
msgid "Filters"
msgstr ""
@@ -3051,240 +2898,236 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:250
-msgid "Matching purchase order does not exist"
-msgstr ""
-
-#: order/forms.py:27 order/templates/order/order_base.html:50
+#: order/forms.py:26 order/templates/order/order_base.html:52
msgid "Place order"
msgstr ""
-#: order/forms.py:38 order/templates/order/order_base.html:57
+#: order/forms.py:37 order/templates/order/order_base.html:59
msgid "Mark order as complete"
msgstr ""
-#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:64
+#: order/forms.py:48 order/forms.py:59 order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
msgid "Cancel order"
msgstr ""
-#: order/forms.py:71 order/templates/order/sales_order_base.html:61
+#: order/forms.py:70
msgid "Ship order"
msgstr ""
-#: order/forms.py:97
+#: order/forms.py:98
msgid "Enter stock item serial numbers"
msgstr ""
-#: order/forms.py:103
+#: order/forms.py:104
msgid "Enter quantity of stock items"
msgstr ""
-#: order/models.py:158
+#: order/models.py:161
msgid "Order description"
msgstr ""
-#: order/models.py:160
+#: order/models.py:163
msgid "Link to external page"
msgstr ""
-#: order/models.py:168
+#: order/models.py:171
msgid "Created By"
msgstr ""
-#: order/models.py:175
+#: order/models.py:178
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:180
+#: order/models.py:183
msgid "Order notes"
msgstr ""
-#: order/models.py:247 order/models.py:548
+#: order/models.py:250 order/models.py:557
msgid "Order reference"
msgstr ""
-#: order/models.py:252 order/models.py:563
+#: order/models.py:255 order/models.py:572
msgid "Purchase order status"
msgstr ""
-#: order/models.py:261
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/translated/order.js:668
+#: order/models.py:267 order/templates/order/order_base.html:114
+#: templates/js/translated/order.js:669
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:264
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:271
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:276
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:277
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:282
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:283
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:289
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:318
+#: order/models.py:321
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:428
+#: order/models.py:431
msgid "Quantity must be an integer"
msgstr ""
-#: order/models.py:432
+#: order/models.py:435
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:559
+#: order/models.py:568
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer Reference "
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:570
+#: order/models.py:579
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:573 templates/js/translated/order.js:1079
+#: order/models.py:582 templates/js/translated/order.js:1092
msgid "Shipment Date"
msgstr ""
-#: order/models.py:580
+#: order/models.py:589
msgid "shipped by"
msgstr ""
-#: order/models.py:624
+#: order/models.py:633
msgid "SalesOrder cannot be shipped as it is not currently pending"
msgstr ""
-#: order/models.py:721
+#: order/models.py:730
msgid "Item quantity"
msgstr ""
-#: order/models.py:727
+#: order/models.py:736
msgid "Line item reference"
msgstr ""
-#: order/models.py:729
+#: order/models.py:738
msgid "Line item notes"
msgstr ""
-#: order/models.py:759 order/models.py:847
-#: templates/js/translated/order.js:1131
+#: order/models.py:768 order/models.py:856
+#: templates/js/translated/order.js:1144
msgid "Order"
msgstr ""
-#: order/models.py:760 order/templates/order/order_base.html:9
-#: order/templates/order/order_base.html:24
+#: order/models.py:769 order/templates/order/order_base.html:9
+#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:338
-#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970
-#: templates/js/translated/stock.js:1568
+#: stock/templates/stock/item_base.html:325
+#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1270
+#: templates/js/translated/stock.js:1953
msgid "Purchase Order"
msgstr ""
-#: order/models.py:781
+#: order/models.py:790
msgid "Supplier part"
msgstr ""
-#: order/models.py:788 order/templates/order/order_base.html:131
-#: order/templates/order/sales_order_base.html:138
-#: templates/js/translated/order.js:428 templates/js/translated/order.js:919
+#: order/models.py:797 order/templates/order/order_base.html:147
+#: order/templates/order/sales_order_base.html:154
+#: templates/js/translated/order.js:429 templates/js/translated/order.js:932
msgid "Received"
msgstr ""
-#: order/models.py:789
+#: order/models.py:798
msgid "Number of items received"
msgstr ""
-#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588
-#: stock/serializers.py:150 stock/templates/stock/item_base.html:345
-#: templates/js/translated/stock.js:1024
+#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619
+#: stock/serializers.py:163 stock/templates/stock/item_base.html:332
+#: templates/js/translated/stock.js:1324
msgid "Purchase Price"
msgstr ""
-#: order/models.py:797
+#: order/models.py:806
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:805
+#: order/models.py:814
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:857 part/templates/part/part_pricing.html:112
+#: order/models.py:866 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:116 part/templates/part/prices.html:284
msgid "Sale Price"
msgstr ""
-#: order/models.py:858
+#: order/models.py:867
msgid "Unit sale price"
msgstr ""
-#: order/models.py:937 order/models.py:939
+#: order/models.py:946 order/models.py:948
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:943
+#: order/models.py:952
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:945
+#: order/models.py:954
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:948
+#: order/models.py:957
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:952
+#: order/models.py:961
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:958
+#: order/models.py:967
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:966
+#: order/models.py:975
msgid "Line"
msgstr ""
-#: order/models.py:978
+#: order/models.py:987
msgid "Item"
msgstr ""
-#: order/models.py:979
+#: order/models.py:988
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:982
+#: order/models.py:991
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3300,7 +3143,7 @@ msgstr ""
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:218 order/serializers.py:285
+#: order/serializers.py:218 order/serializers.py:286
msgid "Select destination location for received items"
msgstr ""
@@ -3312,72 +3155,70 @@ msgstr ""
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:259
+#: order/serializers.py:260
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:297
+#: order/serializers.py:298
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:314
+#: order/serializers.py:315
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:325
+#: order/serializers.py:326
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:569
+#: order/serializers.py:568
msgid "Sale price currency"
msgstr ""
#: order/templates/order/delete_attachment.html:5
#: stock/templates/stock/attachment_delete.html:5
-#: templates/attachment_delete.html:5
msgid "Are you sure you want to delete this attachment?"
msgstr ""
-#: order/templates/order/order_base.html:39
-#: order/templates/order/sales_order_base.html:50
-msgid "Print"
+#: order/templates/order/order_base.html:33
+msgid "Print purchase order report"
msgstr ""
-#: order/templates/order/order_base.html:42
-#: order/templates/order/sales_order_base.html:53
+#: order/templates/order/order_base.html:35
+#: order/templates/order/sales_order_base.html:45
msgid "Export order to file"
msgstr ""
-#: order/templates/order/order_base.html:46
-#: order/templates/order/sales_order_base.html:57
-msgid "Edit order information"
+#: order/templates/order/order_base.html:41
+#: order/templates/order/sales_order_base.html:54
+msgid "Order actions"
msgstr ""
-#: order/templates/order/order_base.html:54
+#: order/templates/order/order_base.html:45
+#: order/templates/order/sales_order_base.html:58
+msgid "Edit order"
+msgstr ""
+
+#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
-#: order/templates/order/order_base.html:72
-#: order/templates/order/po_navbar.html:12
-msgid "Purchase Order Details"
-msgstr ""
-
-#: order/templates/order/order_base.html:77
-#: order/templates/order/sales_order_base.html:84
+#: order/templates/order/order_base.html:93
+#: order/templates/order/sales_order_base.html:98
msgid "Order Reference"
msgstr ""
-#: order/templates/order/order_base.html:82
-#: order/templates/order/sales_order_base.html:89
+#: order/templates/order/order_base.html:98
+#: order/templates/order/sales_order_base.html:103
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:117
+#: order/templates/order/order_base.html:133
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:185
+#: order/templates/order/order_base.html:203
msgid "Edit Purchase Order"
msgstr ""
@@ -3453,7 +3294,8 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/build.js:869 templates/js/translated/order.js:376
+#: templates/js/translated/build.js:240 templates/js/translated/build.js:1251
+#: templates/js/translated/order.js:377
msgid "Remove row"
msgstr ""
@@ -3475,19 +3317,19 @@ msgstr ""
msgid "Select Supplier Part"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:11
+#: order/templates/order/order_wizard/po_upload.html:16
msgid "Upload File for Purchase Order"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:18
-#: part/templates/part/bom_upload/upload_file.html:34
+#: order/templates/order/order_wizard/po_upload.html:24
+#: part/templates/part/bom_upload/upload_file.html:20
#: part/templates/part/import_wizard/ajax_part_upload.html:10
-#: part/templates/part/import_wizard/part_upload.html:21
+#: part/templates/part/import_wizard/part_upload.html:22
#, python-format
msgid "Step %(step)s of %(count)s"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/order_wizard/po_upload.html:54
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
@@ -3530,7 +3372,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084
+#: templates/js/translated/order.js:695 templates/js/translated/order.js:1097
msgid "Items"
msgstr ""
@@ -3548,30 +3390,14 @@ msgstr ""
msgid "Select a purchase order for %(name)s"
msgstr ""
-#: order/templates/order/po_attachments.html:12
-#: order/templates/order/po_navbar.html:32
-#: order/templates/order/purchase_order_detail.html:56
-msgid "Purchase Order Attachments"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:26
-msgid "Received Stock Items"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:29
-#: order/templates/order/po_received_items.html:12
-#: order/templates/order/purchase_order_detail.html:47
-msgid "Received Items"
-msgstr ""
-
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:24
-#: order/templates/order/purchase_order_detail.html:212
+#: order/templates/order/purchase_order_detail.html:27
+#: order/templates/order/purchase_order_detail.html:216
#: order/templates/order/sales_order_detail.html:23
-#: order/templates/order/sales_order_detail.html:177
+#: order/templates/order/sales_order_detail.html:191
msgid "Add Line Item"
msgstr ""
@@ -3583,34 +3409,43 @@ msgstr ""
msgid "Receive Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
-#: order/templates/order/sales_order_detail.html:54
+#: order/templates/order/purchase_order_detail.html:50
+msgid "Received Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:76
+#: order/templates/order/sales_order_detail.html:68
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_orders.html:24
-#: order/templates/order/sales_orders.html:24
+#: order/templates/order/purchase_orders.html:30
+#: order/templates/order/sales_orders.html:33
msgid "Print Order Reports"
msgstr ""
-#: order/templates/order/sales_order_base.html:16
+#: order/templates/order/sales_order_base.html:43
+msgid "Print sales order report"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:47
+msgid "Print packing list"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:66
+#: order/templates/order/sales_order_base.html:67 order/views.py:222
+msgid "Ship Order"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:86
msgid "This Sales Order has not been fully allocated"
msgstr ""
-#: order/templates/order/sales_order_base.html:70
-msgid "Packing List"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:79
-msgid "Sales Order Details"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:105
-#: templates/js/translated/order.js:1051
+#: order/templates/order/sales_order_base.html:121
+#: templates/js/translated/order.js:1064
msgid "Customer Reference"
msgstr ""
-#: order/templates/order/sales_order_base.html:183
+#: order/templates/order/sales_order_base.html:194
msgid "Edit Sales Order"
msgstr ""
@@ -3625,7 +3460,7 @@ msgstr ""
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -3653,18 +3488,6 @@ msgstr ""
msgid "Allocate stock items by serial number"
msgstr ""
-#: order/templates/order/so_navbar.html:12
-msgid "Sales Order Line Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:15
-msgid "Order Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:26
-msgid "Sales Order Attachments"
-msgstr ""
-
#: order/views.py:103
msgid "Cancel Order"
msgstr ""
@@ -3705,10 +3528,6 @@ msgstr ""
msgid "Purchase order completed"
msgstr ""
-#: order/views.py:222
-msgid "Ship Order"
-msgstr ""
-
#: order/views.py:238
msgid "Confirm order shipment"
msgstr ""
@@ -3776,40 +3595,28 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7
-#: part/templates/part/category.html:108 part/templates/part/category.html:122
-#: part/templates/part/category_navbar.html:21
-#: part/templates/part/category_navbar.html:24
-#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97
-#: templates/js/translated/part.js:1165 templates/navbar.html:29
-#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
-msgid "Parts"
-msgstr ""
-
-#: part/api.py:700
+#: part/api.py:731
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:704
+#: part/api.py:735
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:719
+#: part/api.py:750
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773
+#: part/api.py:781 part/api.py:785 part/api.py:800 part/api.py:804
msgid "This field is required"
msgstr ""
-#: part/bom.py:133 part/models.py:76 part/models.py:734
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:290
+#: part/bom.py:125 part/models.py:81 part/models.py:816
+#: part/templates/part/category.html:90 part/templates/part/detail.html:104
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:156
+#: part/bom.py:126 part/templates/part/part_base.html:167
msgid "Available Stock"
msgstr ""
@@ -3869,7 +3676,7 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:96 part/models.py:2254
+#: part/forms.py:96 part/models.py:2427
msgid "Parent Part"
msgstr ""
@@ -3901,455 +3708,458 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:226
+#: part/forms.py:214
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:230
+#: part/forms.py:218
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:250
+#: part/forms.py:238
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:77
+#: part/models.py:82
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords"
msgstr ""
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:90 part/models.py:2300
+#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:91 part/templates/part/category.html:32
-#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
-#: templates/stats.html:84 users/models.py:40
+#: part/models.py:96 part/templates/part/category.html:117
+#: templates/InvenTree/search.html:101 templates/stats.html:84
+#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:384
+#: part/models.py:358 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:13 part/templates/part/category.html:122
+#: part/templates/part/category.html:142 templates/InvenTree/index.html:85
+#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304
+#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89
+#: users/models.py:41
+msgid "Parts"
+msgstr ""
+
+#: part/models.py:450
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:436 part/models.py:448
+#: part/models.py:502 part/models.py:514
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:545
+#: part/models.py:611
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:549
+#: part/models.py:615
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:554
+#: part/models.py:620
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:633
+#: part/models.py:715
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:658
+#: part/models.py:740
msgid "Part name"
msgstr ""
-#: part/models.py:665
+#: part/models.py:747
msgid "Is Template"
msgstr ""
-#: part/models.py:666
+#: part/models.py:748
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:676
+#: part/models.py:758
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:677
+#: part/models.py:759
msgid "Variant Of"
msgstr ""
-#: part/models.py:683
+#: part/models.py:765
msgid "Part description"
msgstr ""
-#: part/models.py:688 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:259
+#: part/models.py:770 part/templates/part/category.html:97
+#: part/templates/part/detail.html:73
msgid "Keywords"
msgstr ""
-#: part/models.py:689
+#: part/models.py:771
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:696 part/models.py:2299
-#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:169
-#: templates/js/translated/part.js:927
+#: part/models.py:778 part/models.py:2223 part/models.py:2472
+#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15
+#: templates/InvenTree/settings/settings.html:163
+#: templates/js/translated/part.js:928
msgid "Category"
msgstr ""
-#: part/models.py:697
+#: part/models.py:779
msgid "Part category"
msgstr ""
-#: part/models.py:702 part/templates/part/part_base.html:235
-#: templates/js/translated/part.js:528 templates/js/translated/part.js:760
+#: part/models.py:784 part/templates/part/detail.html:45
+#: templates/js/translated/part.js:549
msgid "IPN"
msgstr ""
-#: part/models.py:703
+#: part/models.py:785
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:709
+#: part/models.py:791
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:710 part/templates/part/part_base.html:252
-#: report/models.py:200 templates/js/translated/part.js:532
+#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200
+#: templates/js/translated/part.js:553
msgid "Revision"
msgstr ""
-#: part/models.py:732
+#: part/models.py:814
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:779 part/templates/part/part_base.html:297
+#: part/models.py:861 part/templates/part/detail.html:113
msgid "Default Supplier"
msgstr ""
-#: part/models.py:780
+#: part/models.py:862
msgid "Default supplier part"
msgstr ""
-#: part/models.py:787
+#: part/models.py:869
msgid "Default Expiry"
msgstr ""
-#: part/models.py:788
+#: part/models.py:870
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:793
+#: part/models.py:875 part/templates/part/part_base.html:178
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:794
+#: part/models.py:876
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:801
+#: part/models.py:883
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:807
+#: part/models.py:889
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:813
+#: part/models.py:895
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:819
+#: part/models.py:901
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:824
+#: part/models.py:906
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:911
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:833 templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:82
-#: templates/js/translated/table_filters.js:268
-#: templates/js/translated/table_filters.js:346
+#: part/models.py:915 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:362
msgid "Active"
msgstr ""
-#: part/models.py:834
+#: part/models.py:916
msgid "Is this part active?"
msgstr ""
-#: part/models.py:839
+#: part/models.py:921
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:844
+#: part/models.py:926
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "BOM checksum"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:850
+#: part/models.py:932
msgid "BOM checked by"
msgstr ""
-#: part/models.py:852
+#: part/models.py:934
msgid "BOM checked date"
msgstr ""
-#: part/models.py:856
+#: part/models.py:938
msgid "Creation User"
msgstr ""
-#: part/models.py:1605
+#: part/models.py:1750
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2100
+#: part/models.py:2273
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2117
+#: part/models.py:2290
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2137 templates/js/translated/part.js:1216
-#: templates/js/translated/stock.js:535
+#: part/models.py:2310 templates/js/translated/part.js:1355
+#: templates/js/translated/stock.js:828
msgid "Test Name"
msgstr ""
-#: part/models.py:2138
+#: part/models.py:2311
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2143
+#: part/models.py:2316
msgid "Test Description"
msgstr ""
-#: part/models.py:2144
+#: part/models.py:2317
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2149 templates/js/translated/part.js:1225
-#: templates/js/translated/table_filters.js:254
+#: part/models.py:2322 templates/js/translated/part.js:1364
+#: templates/js/translated/table_filters.js:270
msgid "Required"
msgstr ""
-#: part/models.py:2150
+#: part/models.py:2323
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2155 templates/js/translated/part.js:1233
+#: part/models.py:2328 templates/js/translated/part.js:1372
msgid "Requires Value"
msgstr ""
-#: part/models.py:2156
+#: part/models.py:2329
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2161 templates/js/translated/part.js:1240
+#: part/models.py:2334 templates/js/translated/part.js:1379
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2162
+#: part/models.py:2335
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2173
+#: part/models.py:2346
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2209
+#: part/models.py:2382
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2217
+#: part/models.py:2390
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2224
+#: part/models.py:2397
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2256 part/models.py:2305 part/models.py:2306
-#: templates/InvenTree/settings/settings.html:164
+#: part/models.py:2429 part/models.py:2478 part/models.py:2479
+#: templates/InvenTree/settings/settings.html:158
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Data"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2310 templates/InvenTree/settings/settings.html:173
+#: part/models.py:2483 templates/InvenTree/settings/settings.html:167
msgid "Default Value"
msgstr ""
-#: part/models.py:2311
+#: part/models.py:2484
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2561
msgid "Select parent part"
msgstr ""
-#: part/models.py:2370
+#: part/models.py:2569
msgid "Sub part"
msgstr ""
-#: part/models.py:2371
+#: part/models.py:2570
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2377
+#: part/models.py:2576
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2379 templates/js/translated/bom.js:275
-#: templates/js/translated/bom.js:335
+#: part/models.py:2578 templates/js/translated/bom.js:452
+#: templates/js/translated/bom.js:526
+#: templates/js/translated/table_filters.js:86
msgid "Optional"
msgstr ""
-#: part/models.py:2379
+#: part/models.py:2578
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2382
+#: part/models.py:2581
msgid "Overage"
msgstr ""
-#: part/models.py:2383
+#: part/models.py:2582
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2585
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2588
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "Checksum"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2395 templates/js/translated/bom.js:352
-#: templates/js/translated/bom.js:359
+#: part/models.py:2594 templates/js/translated/bom.js:543
+#: templates/js/translated/bom.js:550
#: templates/js/translated/table_filters.js:68
+#: templates/js/translated/table_filters.js:82
msgid "Inherited"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2595
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2401 templates/js/translated/bom.js:344
+#: part/models.py:2600 templates/js/translated/bom.js:535
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2402
+#: part/models.py:2601
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2487 stock/models.py:341
+#: part/models.py:2686 stock/models.py:371
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2496 part/models.py:2498
+#: part/models.py:2695 part/models.py:2697
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2620
+#: part/models.py:2826
+msgid "BOM Item Substitute"
+msgstr ""
+
+#: part/models.py:2848
+msgid "Substitute part cannot be the same as the master part"
+msgstr ""
+
+#: part/models.py:2860
+msgid "Parent BOM item"
+msgstr ""
+
+#: part/models.py:2868
+msgid "Substitute part"
+msgstr ""
+
+#: part/models.py:2879
msgid "Part 1"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Part 2"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2656
+#: part/models.py:2915
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
+#: part/tasks.py:53
+msgid "Low stock notification"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
-#: part/templates/part/bom.html:14
+#: part/templates/part/bom.html:15
#, python-format
msgid "The BOM for %(part)s has changed, and must be validated.
"
msgstr ""
-#: part/templates/part/bom.html:16
+#: part/templates/part/bom.html:17
#, python-format
msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s"
msgstr ""
-#: part/templates/part/bom.html:20
+#: part/templates/part/bom.html:21
#, python-format
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:27
-msgid "Remove selected BOM items"
-msgstr ""
-
-#: part/templates/part/bom.html:30
-msgid "Import BOM data"
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:383
+msgid "BOM actions"
msgstr ""
#: part/templates/part/bom.html:34
-msgid "Copy BOM from parent part"
-msgstr ""
-
-#: part/templates/part/bom.html:38
-msgid "New BOM Item"
-msgstr ""
-
-#: part/templates/part/bom.html:41
-msgid "Finish Editing"
-msgstr ""
-
-#: part/templates/part/bom.html:46
-msgid "Edit BOM"
-msgstr ""
-
-#: part/templates/part/bom.html:50
-msgid "Validate Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:56 part/views.py:1220
-msgid "Export Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:59
-msgid "Print BOM Report"
+msgid "Delete Items"
msgstr ""
#: part/templates/part/bom_duplicate.html:13
@@ -4360,28 +4170,23 @@ msgstr ""
msgid "Select Part"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:13
-#: part/templates/part/bom_upload/upload_file.html:16
-msgid "Return To BOM"
-msgstr ""
-
-#: part/templates/part/bom_upload/upload_file.html:27
+#: part/templates/part/bom_upload/upload_file.html:12
msgid "Upload Bill of Materials"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:46
+#: part/templates/part/bom_upload/upload_file.html:32
msgid "Requirements for BOM upload"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "The BOM file must contain the required named columns as provided in the "
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "BOM Upload Template"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:49
+#: part/templates/part/bom_upload/upload_file.html:35
msgid "Each part must already exist in the database"
msgstr ""
@@ -4394,93 +4199,103 @@ msgstr ""
msgid "This will validate each line in the BOM."
msgstr ""
-#: part/templates/part/category.html:33
-msgid "All parts"
+#: part/templates/part/category.html:24 part/templates/part/category.html:28
+msgid "You are subscribed to notifications for this category"
+msgstr ""
+
+#: part/templates/part/category.html:32
+msgid "Subscribe to notifications for this category"
msgstr ""
#: part/templates/part/category.html:38
-msgid "Create new part category"
+msgid "Category Actions"
+msgstr ""
+
+#: part/templates/part/category.html:43
+msgid "Edit category"
msgstr ""
#: part/templates/part/category.html:44
-msgid "Edit part category"
+msgid "Edit Category"
+msgstr ""
+
+#: part/templates/part/category.html:48
+msgid "Delete category"
msgstr ""
#: part/templates/part/category.html:49
-msgid "Delete part category"
+msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:59 part/templates/part/category.html:98
-msgid "Category Details"
+#: part/templates/part/category.html:57
+msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:64
+#: part/templates/part/category.html:58
+msgid "New Category"
+msgstr ""
+
+#: part/templates/part/category.html:67
+msgid "Top level part category"
+msgstr ""
+
+#: part/templates/part/category.html:79
msgid "Category Path"
msgstr ""
-#: part/templates/part/category.html:69
+#: part/templates/part/category.html:84
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:175
-#: part/templates/part/category_navbar.html:14
-#: part/templates/part/category_navbar.html:17
+#: part/templates/part/category.html:103 part/templates/part/category.html:194
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:93
+#: part/templates/part/category.html:108
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:126
+#: part/templates/part/category.html:145
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:142
+#: part/templates/part/category.html:146 part/templates/part/category.html:170
msgid "Export"
msgstr ""
-#: part/templates/part/category.html:130
+#: part/templates/part/category.html:149
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 templates/js/translated/bom.js:39
+#: part/templates/part/category.html:150 templates/js/translated/bom.js:40
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:141
+#: part/templates/part/category.html:168
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:142
+#: part/templates/part/category.html:170
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:146
-msgid "View list display"
-msgstr ""
-
-#: part/templates/part/category.html:149
-msgid "View grid display"
-msgstr ""
-
-#: part/templates/part/category.html:165
+#: part/templates/part/category.html:184
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:254
+#: part/templates/part/category.html:261
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:281
+#: part/templates/part/category.html:288
msgid "Create Part"
msgstr ""
@@ -4519,12 +4334,7 @@ msgstr ""
msgid "If this category is deleted, these parts will be moved to the top-level category Teile"
msgstr ""
-#: part/templates/part/category_navbar.html:29
-#: part/templates/part/category_navbar.html:32
-msgid "Import Parts"
-msgstr ""
-
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365
msgid "Duplicate Part"
msgstr ""
@@ -4549,311 +4359,315 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)"
msgstr ""
#: part/templates/part/detail.html:16
+msgid "Part Details"
+msgstr ""
+
+#: part/templates/part/detail.html:66
+msgid "Minimum stock level"
+msgstr ""
+
+#: part/templates/part/detail.html:97
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/detail.html:124
msgid "Part Stock"
msgstr ""
-#: part/templates/part/detail.html:21
+#: part/templates/part/detail.html:136
#, python-format
msgid "Showing stock for all variants of %(full_name)s"
msgstr ""
-#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99
+#: part/templates/part/detail.html:146
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:36
+#: part/templates/part/detail.html:151
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:77
-msgid "New sales order"
-msgstr ""
-
-#: part/templates/part/detail.html:77
-msgid "New Order"
-msgstr ""
-
-#: part/templates/part/detail.html:90
+#: part/templates/part/detail.html:208
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27
+#: part/templates/part/detail.html:249
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:137
+#: part/templates/part/detail.html:253
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:138
+#: part/templates/part/detail.html:254
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:161
+#: part/templates/part/detail.html:281
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107
-#: part/templates/part/navbar.html:110
+#: part/templates/part/detail.html:315
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:188
+#: part/templates/part/detail.html:319 part/templates/part/detail.html:320
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43
-#: part/templates/part/navbar.html:46
+#: part/templates/part/detail.html:366
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:237
+#: part/templates/part/detail.html:371
+msgid "Export actions"
+msgstr ""
+
+#: part/templates/part/detail.html:375
+msgid "Export BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:377
+msgid "Print BOM Report"
+msgstr ""
+
+#: part/templates/part/detail.html:387
+msgid "Upload BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:389 templates/js/translated/part.js:266
+msgid "Copy BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:391 part/views.py:820
+msgid "Validate BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:396
+msgid "New BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:397
+msgid "Add BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:410
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:253
+#: part/templates/part/detail.html:427
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:260
-msgid "Start New Build"
-msgstr ""
-
-#: part/templates/part/detail.html:274
+#: part/templates/part/detail.html:452
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:283
+#: part/templates/part/detail.html:462
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:305
+#: part/templates/part/detail.html:489
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:317
+#: part/templates/part/detail.html:505
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:502
+#: part/templates/part/detail.html:686
msgid "Delete selected BOM items?"
msgstr ""
-#: part/templates/part/detail.html:503
+#: part/templates/part/detail.html:687
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:554
+#: part/templates/part/detail.html:738
msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:699
+#: part/templates/part/detail.html:876
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:755
+#: part/templates/part/detail.html:933
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:907
+#: part/templates/part/detail.html:1085
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:919
+#: part/templates/part/detail.html:1097
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:931
+#: part/templates/part/detail.html:1109
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1020
+#: part/templates/part/detail.html:1198
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
#: part/templates/part/import_wizard/ajax_part_upload.html:29
-#: part/templates/part/import_wizard/part_upload.html:51
+#: part/templates/part/import_wizard/part_upload.html:52
msgid "Unsuffitient privileges."
msgstr ""
-#: part/templates/part/import_wizard/part_upload.html:14
+#: part/templates/part/import_wizard/part_upload.html:15
msgid "Import Parts from File"
msgstr ""
-#: part/templates/part/navbar.html:30
-msgid "Variants"
-msgstr ""
-
-#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/navbar.html:70
-msgid "Prices"
-msgstr ""
-
-#: part/templates/part/navbar.html:102
-msgid "Test Templates"
-msgstr ""
-
#: part/templates/part/part_app_base.html:12
msgid "Part List"
msgstr ""
+#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31
+msgid "You are subscribed to notifications for this part"
+msgstr ""
+
#: part/templates/part/part_base.html:35
-msgid "Part is a template part (variants can be made from this part)"
+msgid "Subscribe to notifications for this part"
msgstr ""
-#: part/templates/part/part_base.html:38
-msgid "Part can be assembled from other parts"
-msgstr ""
-
-#: part/templates/part/part_base.html:41
-msgid "Part can be used in assemblies"
-msgstr ""
-
-#: part/templates/part/part_base.html:44
-msgid "Part stock is tracked by serial number"
-msgstr ""
-
-#: part/templates/part/part_base.html:47
-msgid "Part can be purchased from external suppliers"
-msgstr ""
-
-#: part/templates/part/part_base.html:50
-msgid "Part can be sold to customers"
-msgstr ""
-
-#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504
-#: templates/js/translated/company.js:761 templates/js/translated/part.js:443
-#: templates/js/translated/part.js:520
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:73
-msgid "Star this part"
-msgstr ""
-
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:75
-#: stock/templates/stock/location.html:51
+#: part/templates/part/part_base.html:43
+#: stock/templates/stock/item_base.html:28
+#: stock/templates/stock/location.html:29
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:82
-#: stock/templates/stock/item_base.html:77
-#: stock/templates/stock/location.html:53 templates/qr_button.html:1
+#: part/templates/part/part_base.html:45
+#: stock/templates/stock/item_base.html:32
+#: stock/templates/stock/location.html:31 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:83
-#: stock/templates/stock/item_base.html:93
-#: stock/templates/stock/location.html:54
+#: part/templates/part/part_base.html:46
+#: stock/templates/stock/item_base.html:48
+#: stock/templates/stock/location.html:32
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:89
+#: part/templates/part/part_base.html:51
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:95
-#: stock/templates/stock/item_base.html:142
-#: stock/templates/stock/location.html:62
+#: part/templates/part/part_base.html:56
+#: stock/templates/stock/item_base.html:103
+#: stock/templates/stock/location.html:40
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:102
+#: part/templates/part/part_base.html:63
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:108
+#: part/templates/part/part_base.html:69
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:125
+#: part/templates/part/part_base.html:84
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:128
+#: part/templates/part/part_base.html:87
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:131
+#: part/templates/part/part_base.html:90
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:134
+#: part/templates/part/part_base.html:93
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:146
+#: part/templates/part/part_base.html:109
+msgid "Part is a template part (variants can be made from this part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:113
+msgid "Part can be assembled from other parts"
+msgstr ""
+
+#: part/templates/part/part_base.html:117
+msgid "Part can be used in assemblies"
+msgstr ""
+
+#: part/templates/part/part_base.html:121
+msgid "Part stock is tracked by serial number"
+msgstr ""
+
+#: part/templates/part/part_base.html:125
+msgid "Part can be purchased from external suppliers"
+msgstr ""
+
+#: part/templates/part/part_base.html:129
+msgid "Part can be sold to customers"
+msgstr ""
+
+#: part/templates/part/part_base.html:135
+#: part/templates/part/part_base.html:143
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:136
+#: templates/js/translated/company.js:504
+#: templates/js/translated/company.js:761
+#: templates/js/translated/model_renderers.js:175
+#: templates/js/translated/part.js:464 templates/js/translated/part.js:541
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:155
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:161
-#: templates/js/translated/model_renderers.js:169
-#: templates/js/translated/order.js:1503
-#: templates/js/translated/table_filters.js:166
+#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524
+#: templates/js/translated/table_filters.js:182
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960
+#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961
msgid "On Order"
msgstr ""
-#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:181
+#: part/templates/part/part_base.html:199
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:188
+#: part/templates/part/part_base.html:206
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373
+#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776
-#: templates/js/translated/part.js:964
+#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793
+#: templates/js/translated/part.js:965
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:223
-#: part/templates/part/part_base.html:531
-#: part/templates/part/part_base.html:557
-msgid "Show Part Details"
-msgstr ""
-
-#: part/templates/part/part_base.html:283
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144
+#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:445
+#: part/templates/part/part_base.html:363
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:526
-#: part/templates/part/part_base.html:551
-msgid "Hide Part Details"
-msgstr ""
-
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4877,7 +4691,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
-#: templates/js/translated/bom.js:327
+#: templates/js/translated/bom.js:518
msgid "No supplier pricing available"
msgstr ""
@@ -4911,13 +4725,14 @@ msgstr ""
msgid "No pricing information is available for this part."
msgstr ""
-#: part/templates/part/part_thumb.html:20
+#: part/templates/part/part_thumb.html:11
msgid "Select from existing images"
msgstr ""
#: part/templates/part/partial_delete.html:9
#, python-format
-msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
+msgid ""
+"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
"
Disable the \"Active\" part attribute and re-try.\n"
" "
msgstr ""
@@ -4980,7 +4795,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321
+#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512
msgid "Supplier Cost"
msgstr ""
@@ -5002,7 +4817,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:215 part/views.py:1801
+#: part/templates/part/prices.html:215 part/views.py:1853
msgid "Add Internal Price Break"
msgstr ""
@@ -5022,13 +4837,13 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297
-#: templates/js/translated/model_renderers.js:167
-#: templates/js/translated/part.js:766 templates/js/translated/part.js:968
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474
+#: templates/js/translated/part.js:428 templates/js/translated/part.js:783
+#: templates/js/translated/part.js:969
msgid "No Stock"
msgstr ""
-#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166
+#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158
msgid "Low Stock"
msgstr ""
@@ -5041,135 +4856,140 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:106
+#: part/templatetags/inventree_extras.py:113
msgid "Unknown database"
msgstr ""
-#: part/views.py:94
+#: part/views.py:95
msgid "Add Related Part"
msgstr ""
-#: part/views.py:149
+#: part/views.py:150
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:160
+#: part/views.py:161
msgid "Set Part Category"
msgstr ""
-#: part/views.py:210
+#: part/views.py:211
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:270
+#: part/views.py:283
msgid "Match References"
msgstr ""
-#: part/views.py:526
+#: part/views.py:567
msgid "None"
msgstr ""
-#: part/views.py:585
+#: part/views.py:626
msgid "Part QR Code"
msgstr ""
-#: part/views.py:687
+#: part/views.py:728
msgid "Select Part Image"
msgstr ""
-#: part/views.py:713
+#: part/views.py:754
msgid "Updated part image"
msgstr ""
-#: part/views.py:716
+#: part/views.py:757
msgid "Part image not found"
msgstr ""
-#: part/views.py:728
+#: part/views.py:769
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:758
+#: part/views.py:799
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:779
-msgid "Validate BOM"
-msgstr ""
-
-#: part/views.py:800
+#: part/views.py:841
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:811
+#: part/views.py:852
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:884
+#: part/views.py:925
msgid "Match Parts"
msgstr ""
-#: part/views.py:1272
+#: part/views.py:1261
+msgid "Export Bill of Materials"
+msgstr ""
+
+#: part/views.py:1313
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1279
+#: part/views.py:1320
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1288
+#: part/views.py:1329
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1437
+#: part/views.py:1478
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1447
+#: part/views.py:1488
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1454
+#: part/views.py:1495
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1502 templates/js/translated/part.js:308
+#: part/views.py:1554 templates/js/translated/part.js:309
msgid "Edit Part Category"
msgstr ""
-#: part/views.py:1540
+#: part/views.py:1592
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1546
+#: part/views.py:1598
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1555
+#: part/views.py:1607
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1656
+#: part/views.py:1708
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1712
+#: part/views.py:1764
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:1734
+#: part/views.py:1786
msgid "Added new price break"
msgstr ""
-#: part/views.py:1810
+#: part/views.py:1862
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:1818
+#: part/views.py:1870
msgid "Delete Internal Price Break"
msgstr ""
+#: report/api.py:234 report/api.py:278
+#, python-brace-format
+msgid "Template file '{filename}' is missing or does not exist"
+msgstr ""
+
#: report/models.py:182
msgid "Template name"
msgstr ""
@@ -5206,51 +5026,51 @@ msgstr ""
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:380
+#: report/models.py:382
msgid "Build Filters"
msgstr ""
-#: report/models.py:381
+#: report/models.py:383
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:423
+#: report/models.py:425
msgid "Part Filters"
msgstr ""
-#: report/models.py:424
+#: report/models.py:426
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:458
+#: report/models.py:460
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:496
+#: report/models.py:498
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:546
+#: report/models.py:548
msgid "Snippet"
msgstr ""
-#: report/models.py:547
+#: report/models.py:549
msgid "Report snippet file"
msgstr ""
-#: report/models.py:551
+#: report/models.py:553
msgid "Snippet file description"
msgstr ""
-#: report/models.py:586
+#: report/models.py:588
msgid "Asset"
msgstr ""
-#: report/models.py:587
+#: report/models.py:589
msgid "Report asset file"
msgstr ""
-#: report/models.py:590
+#: report/models.py:592
msgid "Asset file description"
msgstr ""
@@ -5267,543 +5087,582 @@ msgstr ""
msgid "Stock Item Test Report"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:83
-msgid "Test Results"
+#: report/templates/report/inventree_test_report_base.html:79
+#: stock/models.py:530 stock/templates/stock/item_base.html:238
+#: templates/js/translated/build.js:233 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1013
+#: templates/js/translated/model_renderers.js:95
+#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355
+msgid "Serial Number"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:1804
+msgid "Test Results"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:93
+#: stock/models.py:1855
msgid "Test"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:89
-#: stock/models.py:1810
+#: report/templates/report/inventree_test_report_base.html:94
+#: stock/models.py:1861
msgid "Result"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502
+#: report/templates/report/inventree_test_report_base.html:97
+#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887
msgid "Date"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:103
+#: report/templates/report/inventree_test_report_base.html:108
msgid "Pass"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:105
+#: report/templates/report/inventree_test_report_base.html:110
msgid "Fail"
msgstr ""
-#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556
-#: stock/templates/stock/item_base.html:395
-#: templates/js/translated/stock.js:946
+#: report/templates/report/inventree_test_report_base.html:123
+msgid "Installed Items"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:137
+#: templates/js/translated/stock.js:2147
+msgid "Serial"
+msgstr ""
+
+#: stock/api.py:422
+msgid "Quantity is required"
+msgstr ""
+
+#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587
+#: stock/templates/stock/item_base.html:382
+#: templates/js/translated/stock.js:1246
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:308
+#: stock/forms.py:92 stock/forms.py:266
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:83
+#: stock/forms.py:95
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:134
+#: stock/forms.py:150
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:138 stock/forms.py:282
+#: stock/forms.py:154 stock/forms.py:238
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:168 stock/forms.py:224
-msgid "Select test report template"
-msgstr ""
-
-#: stock/forms.py:240
+#: stock/forms.py:194
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:270
+#: stock/forms.py:224
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:280
+#: stock/forms.py:236
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm removal of installed stock items"
msgstr ""
-#: stock/models.py:57 stock/models.py:593
+#: stock/models.py:60 stock/models.py:624
+#: stock/templates/stock/item_base.html:422
msgid "Owner"
msgstr ""
-#: stock/models.py:58 stock/models.py:594
+#: stock/models.py:61 stock/models.py:625
msgid "Select Owner"
msgstr ""
-#: stock/models.py:322
+#: stock/models.py:352
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:358
+#: stock/models.py:388
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:368 stock/models.py:377
+#: stock/models.py:398 stock/models.py:407
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:369
+#: stock/models.py:399
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:391
+#: stock/models.py:421
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:397
+#: stock/models.py:427
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:404
+#: stock/models.py:434
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:446
+#: stock/models.py:476
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:455
+#: stock/models.py:485
msgid "Base part"
msgstr ""
-#: stock/models.py:464
+#: stock/models.py:493
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8
+#: stock/models.py:498 stock/templates/stock/location.html:12
+#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:472
+#: stock/models.py:501
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:479
+#: stock/models.py:508
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:484 stock/templates/stock/item_base.html:284
+#: stock/models.py:513 stock/templates/stock/item_base.html:271
msgid "Installed In"
msgstr ""
-#: stock/models.py:487
+#: stock/models.py:516
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:503
+#: stock/models.py:532
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:515
+#: stock/models.py:546
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:519
+#: stock/models.py:550
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:528
+#: stock/models.py:559
msgid "Source Build"
msgstr ""
-#: stock/models.py:530
+#: stock/models.py:561
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:541
+#: stock/models.py:572
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:544
+#: stock/models.py:575
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:550
+#: stock/models.py:581
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:557
+#: stock/models.py:588
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:580 stock/templates/stock/item.html:99
-#: stock/templates/stock/navbar.html:54
+#: stock/models.py:611 stock/templates/stock/item.html:111
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:589
+#: stock/models.py:620
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:599
+#: stock/models.py:630
msgid "Scheduled for deletion"
msgstr ""
-#: stock/models.py:600
+#: stock/models.py:631
msgid "This StockItem will be deleted by the background worker"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1094
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1069
+#: stock/models.py:1100
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1075
+#: stock/models.py:1106
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1078
+#: stock/models.py:1109
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1081
+#: stock/models.py:1112
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1088
+#: stock/models.py:1119
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1246
+#: stock/models.py:1277
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:1724
+#: stock/models.py:1775
msgid "Entry notes"
msgstr ""
-#: stock/models.py:1781
+#: stock/models.py:1832
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:1787
+#: stock/models.py:1838
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:1805
+#: stock/models.py:1856
msgid "Test name"
msgstr ""
-#: stock/models.py:1811 templates/js/translated/table_filters.js:244
+#: stock/models.py:1862 templates/js/translated/table_filters.js:260
msgid "Test result"
msgstr ""
-#: stock/models.py:1817
+#: stock/models.py:1868
msgid "Test output value"
msgstr ""
-#: stock/models.py:1824
+#: stock/models.py:1875
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:1830
+#: stock/models.py:1881
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:424
-msgid "StockItem primary key value"
+#: stock/serializers.py:166
+msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:452
-msgid "Stock transaction notes"
+#: stock/serializers.py:173
+msgid "Purchase currency of this stock item"
msgstr ""
-#: stock/serializers.py:462
-msgid "A list of stock items must be provided"
+#: stock/serializers.py:287
+msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:554
+#: stock/serializers.py:302
+#, python-brace-format
+msgid "Quantity must not exceed available stock quantity ({q})"
+msgstr ""
+
+#: stock/serializers.py:308
+msgid "Enter serial numbers for new items"
+msgstr ""
+
+#: stock/serializers.py:319 stock/serializers.py:687
msgid "Destination stock location"
msgstr ""
-#: stock/templates/stock/item.html:17
+#: stock/serializers.py:326
+msgid "Optional note field"
+msgstr ""
+
+#: stock/serializers.py:339
+msgid "Serial numbers cannot be assigned to this part"
+msgstr ""
+
+#: stock/serializers.py:557
+msgid "StockItem primary key value"
+msgstr ""
+
+#: stock/serializers.py:585
+msgid "Stock transaction notes"
+msgstr ""
+
+#: stock/serializers.py:595
+msgid "A list of stock items must be provided"
+msgstr ""
+
+#: stock/templates/stock/item.html:18
msgid "Stock Tracking Information"
msgstr ""
-#: stock/templates/stock/item.html:30
+#: stock/templates/stock/item.html:29
msgid "New Entry"
msgstr ""
-#: stock/templates/stock/item.html:43
+#: stock/templates/stock/item.html:48
msgid "Child Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:50
+#: stock/templates/stock/item.html:55
msgid "This stock item does not have any child items"
msgstr ""
-#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19
-#: stock/templates/stock/navbar.html:22
+#: stock/templates/stock/item.html:64
msgid "Test Data"
msgstr ""
-#: stock/templates/stock/item.html:66
-msgid "Delete Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:70
-msgid "Add Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95
+#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50
msgid "Test Report"
msgstr ""
-#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27
+#: stock/templates/stock/item.html:72
+msgid "Delete Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:76
+msgid "Add Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:133
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:125 stock/views.py:511
+#: stock/templates/stock/item.html:137 stock/views.py:515
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326
+#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:346
+#: stock/templates/stock/item.html:363
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:360
+#: stock/templates/stock/item.html:377
msgid "Delete Test Result"
msgstr ""
-#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:399
-#: templates/js/translated/table_filters.js:225
-msgid "Expired"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:401
-#: templates/js/translated/table_filters.js:231
-msgid "Stale"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:80
-#: templates/js/translated/barcode.js:331
-#: templates/js/translated/barcode.js:336
+#: stock/templates/stock/item_base.html:35
+#: templates/js/translated/barcode.js:330
+#: templates/js/translated/barcode.js:335
msgid "Unlink Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/item_base.html:37
msgid "Link Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31
+#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24
msgid "Scan to Location"
msgstr ""
-#: stock/templates/stock/item_base.html:91
+#: stock/templates/stock/item_base.html:46
msgid "Printing actions"
msgstr ""
-#: stock/templates/stock/item_base.html:104
+#: stock/templates/stock/item_base.html:65
msgid "Stock adjustment actions"
msgstr ""
-#: stock/templates/stock/item_base.html:108
-#: stock/templates/stock/location.html:69 templates/stock_table.html:57
+#: stock/templates/stock/item_base.html:69
+#: stock/templates/stock/location.html:47 templates/stock_table.html:50
msgid "Count stock"
msgstr ""
-#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55
+#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48
msgid "Add stock"
msgstr ""
-#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56
+#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49
msgid "Remove stock"
msgstr ""
-#: stock/templates/stock/item_base.html:117
+#: stock/templates/stock/item_base.html:78
msgid "Serialize stock"
msgstr ""
-#: stock/templates/stock/item_base.html:121
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/location.html:53
msgid "Transfer stock"
msgstr ""
-#: stock/templates/stock/item_base.html:124
+#: stock/templates/stock/item_base.html:85
msgid "Assign to customer"
msgstr ""
-#: stock/templates/stock/item_base.html:127
+#: stock/templates/stock/item_base.html:88
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install"
msgstr ""
-#: stock/templates/stock/item_base.html:145
+#: stock/templates/stock/item_base.html:106
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:109
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:150
+#: stock/templates/stock/item_base.html:111
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:153
+#: stock/templates/stock/item_base.html:114
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:173
+#: stock/templates/stock/item_base.html:136
+#: stock/templates/stock/item_base.html:386
+#: templates/js/translated/table_filters.js:241
+msgid "Expired"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/table_filters.js:247
+msgid "Stale"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:161
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:180
+#: stock/templates/stock/item_base.html:168
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:181
+#: stock/templates/stock/item_base.html:169
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:194
+#: stock/templates/stock/item_base.html:182
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:202
+#: stock/templates/stock/item_base.html:190
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:210
+#: stock/templates/stock/item_base.html:198
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:216
+#: stock/templates/stock/item_base.html:204
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:220
+#: stock/templates/stock/item_base.html:208
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:224
+#: stock/templates/stock/item_base.html:212
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:232
-msgid "Stock Item Details"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:241
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:260
+#: stock/templates/stock/item_base.html:247
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:303
-#: templates/js/translated/build.js:658
+#: stock/templates/stock/item_base.html:290
+#: templates/js/translated/build.js:1035
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:310
+#: stock/templates/stock/item_base.html:297
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:352
+#: stock/templates/stock/item_base.html:339
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:370
+#: stock/templates/stock/item_base.html:357
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:399
+#: stock/templates/stock/item_base.html:386
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:401
+#: stock/templates/stock/item_base.html:388
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:408
-#: templates/js/translated/stock.js:959
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1259
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:413
+#: stock/templates/stock/item_base.html:400
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:417
+#: stock/templates/stock/item_base.html:404
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:428
+#: stock/templates/stock/item_base.html:415
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:516
-msgid "Save"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:528
+#: stock/templates/stock/item_base.html:504
msgid "Edit Stock Status"
msgstr ""
@@ -5857,106 +5716,68 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:20
-msgid "You are not in the list of owners of this location. This stock location cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/location.html:37
-msgid "All stock items"
-msgstr ""
-
-#: stock/templates/stock/location.html:42
-msgid "Create new stock location"
-msgstr ""
-
-#: stock/templates/stock/location.html:55
+#: stock/templates/stock/location.html:33
msgid "Check-in Items"
msgstr ""
-#: stock/templates/stock/location.html:83
+#: stock/templates/stock/location.html:61
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:85
+#: stock/templates/stock/location.html:63
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:87
+#: stock/templates/stock/location.html:65
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:99
-msgid "Location Details"
+#: stock/templates/stock/location.html:75
+msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:104
-msgid "Location Path"
+#: stock/templates/stock/location.html:76
+msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:109
-msgid "Location Description"
+#: stock/templates/stock/location.html:86
+msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:114
-#: stock/templates/stock/location.html:155
-#: stock/templates/stock/location_navbar.html:11
-#: stock/templates/stock/location_navbar.html:14
+#: stock/templates/stock/location.html:95
+msgid "You are not in the list of owners of this location. This stock location cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/location.html:113
+#: stock/templates/stock/location.html:160
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:124
-msgid "Stock Details"
+#: stock/templates/stock/location.html:118
+#: stock/templates/stock/location.html:132
+#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158
+#: templates/js/translated/stock.js:1871 templates/stats.html:93
+#: templates/stats.html:102 users/models.py:43
+msgid "Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196
+#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170
#: templates/stats.html:97 users/models.py:42
msgid "Stock Locations"
msgstr ""
-#: stock/templates/stock/location.html:162 templates/stock_table.html:37
+#: stock/templates/stock/location.html:167 templates/stock_table.html:30
msgid "Printing Actions"
msgstr ""
-#: stock/templates/stock/location.html:166 templates/stock_table.html:41
+#: stock/templates/stock/location.html:171 templates/stock_table.html:34
msgid "Print labels"
msgstr ""
-#: stock/templates/stock/location.html:250
-msgid "New Location"
-msgstr ""
-
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
-msgstr ""
-
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: stock/templates/stock/navbar.html:11
-msgid "Stock Item Tracking"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:14
-msgid "History"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:30
-msgid "Installed Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:38
-msgid "Child Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:41
-msgid "Children"
-msgstr ""
-
-#: stock/templates/stock/stock_adjust.html:43
-msgid "Remove item"
-msgstr ""
-
#: stock/templates/stock/stock_app_base.html:16
msgid "Loading..."
msgstr ""
@@ -5965,7 +5786,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912
msgid "Convert Stock Item"
msgstr ""
@@ -5986,104 +5807,100 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:158
+#: stock/views.py:162
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:265 stock/views.py:888 stock/views.py:1010
-#: stock/views.py:1375
+#: stock/views.py:269 stock/views.py:891 stock/views.py:1017
+#: stock/views.py:1299
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:280
+#: stock/views.py:284
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:299
+#: stock/views.py:303
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:308
+#: stock/views.py:312
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:332
+#: stock/views.py:336
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:345
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:352
+#: stock/views.py:356
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:363
+#: stock/views.py:367
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:380
+#: stock/views.py:384
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:485
+#: stock/views.py:489
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:660
+#: stock/views.py:663
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:757 templates/js/translated/stock.js:321
+#: stock/views.py:760 templates/js/translated/stock.js:618
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:768
+#: stock/views.py:771
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:790
+#: stock/views.py:793 templates/js/translated/stock.js:288
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:936
+#: stock/views.py:943
msgid "Create new Stock Location"
msgstr ""
-#: stock/views.py:1027
-msgid "Serialize Stock"
-msgstr ""
-
-#: stock/views.py:1120
+#: stock/views.py:1044
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1262
+#: stock/views.py:1186 templates/js/translated/stock.js:268
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1344
+#: stock/views.py:1268
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1444
+#: stock/views.py:1368
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1457
+#: stock/views.py:1381
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1468
+#: stock/views.py:1392
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1475
+#: stock/views.py:1399
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1484
+#: stock/views.py:1408
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6107,63 +5924,67 @@ msgstr ""
msgid "Index"
msgstr ""
-#: templates/InvenTree/index.html:105
-msgid "Starred Parts"
+#: templates/InvenTree/index.html:88
+msgid "Subscribed Parts"
msgstr ""
-#: templates/InvenTree/index.html:115
+#: templates/InvenTree/index.html:98
+msgid "Subscribed Categories"
+msgstr ""
+
+#: templates/InvenTree/index.html:108
msgid "Latest Parts"
msgstr ""
-#: templates/InvenTree/index.html:126
+#: templates/InvenTree/index.html:119
msgid "BOM Waiting Validation"
msgstr ""
-#: templates/InvenTree/index.html:153
+#: templates/InvenTree/index.html:145
msgid "Recently Updated"
msgstr ""
-#: templates/InvenTree/index.html:176
+#: templates/InvenTree/index.html:168
msgid "Depleted Stock"
msgstr ""
-#: templates/InvenTree/index.html:199
+#: templates/InvenTree/index.html:191
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:202
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:232
+#: templates/InvenTree/index.html:224
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:243
+#: templates/InvenTree/index.html:235
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:263
+#: templates/InvenTree/index.html:255
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:274
+#: templates/InvenTree/index.html:266
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:294
+#: templates/InvenTree/index.html:286
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:305
+#: templates/InvenTree/index.html:297
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14
+#: templates/InvenTree/search.html:8
msgid "Search Results"
msgstr ""
-#: templates/InvenTree/search.html:24
+#: templates/InvenTree/search.html:22
msgid "Enter a search query"
msgstr ""
@@ -6183,23 +6004,23 @@ msgstr ""
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:23
+#: templates/InvenTree/settings/currencies.html:19
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:27
+#: templates/InvenTree/settings/currencies.html:24
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:37
+#: templates/InvenTree/settings/currencies.html:38
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:43
+#: templates/InvenTree/settings/currencies.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:48
+#: templates/InvenTree/settings/currencies.html:49
msgid "Update Now"
msgstr ""
@@ -6207,147 +6028,74 @@ msgstr ""
msgid "Server Settings"
msgstr ""
-#: templates/InvenTree/settings/header.html:7
-msgid "Setting"
-msgstr ""
-
#: templates/InvenTree/settings/login.html:9
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:12
-#: templates/InvenTree/settings/user_settings.html:9
-msgid "User Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:15
-#: templates/InvenTree/settings/navbar.html:17
-msgid "Account"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:21
-#: templates/InvenTree/settings/navbar.html:23
-msgid "Home Page"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29
-#: templates/js/translated/tables.js:375 templates/search_form.html:6
-#: templates/search_form.html:8
-msgid "Search"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:33
-#: templates/InvenTree/settings/navbar.html:35
-msgid "Labels"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:39
-#: templates/InvenTree/settings/navbar.html:41
-msgid "Reports"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:45
-#: templates/InvenTree/settings/navbar.html:47
-msgid "Forms"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:52
-#: templates/InvenTree/settings/navbar.html:54
-#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90
-msgid "Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:62
-msgid "InvenTree Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:65
-#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87
-msgid "Login"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:77
-#: templates/InvenTree/settings/navbar.html:79
-msgid "Barcodes"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85
-msgid "Currencies"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91
-msgid "Reporting"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103
-msgid "Categories"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:7
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:12
-msgid "Part Options"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:43
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:47
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:59
+#: templates/InvenTree/settings/part.html:61
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/po.html:9
+#: templates/InvenTree/settings/po.html:7
msgid "Purchase Order Settings"
msgstr ""
-#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:29
+#: templates/InvenTree/settings/setting.html:28
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:41
+#: templates/InvenTree/settings/setting.html:39
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:154
+#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93
+msgid "Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+msgid "Edit Global Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+msgid "Edit User Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:148
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:176
-#: templates/InvenTree/settings/settings.html:275
+#: templates/InvenTree/settings/settings.html:170
+#: templates/InvenTree/settings/settings.html:269
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:177
-#: templates/InvenTree/settings/settings.html:276
+#: templates/InvenTree/settings/settings.html:171
+#: templates/InvenTree/settings/settings.html:270
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:255
+#: templates/InvenTree/settings/settings.html:249
msgid "No part parameter templates found"
msgstr ""
@@ -6363,134 +6111,154 @@ msgstr ""
msgid "Account Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:19
+#: templates/InvenTree/settings/user.html:18
#: templates/js/translated/helpers.js:26
msgid "Edit"
msgstr ""
-#: templates/InvenTree/settings/user.html:21
+#: templates/InvenTree/settings/user.html:20
#: templates/account/password_reset_from_key.html:4
#: templates/account/password_reset_from_key.html:7
msgid "Change Password"
msgstr ""
-#: templates/InvenTree/settings/user.html:28
+#: templates/InvenTree/settings/user.html:31
msgid "Username"
msgstr ""
-#: templates/InvenTree/settings/user.html:32
+#: templates/InvenTree/settings/user.html:35
msgid "First Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:36
+#: templates/InvenTree/settings/user.html:39
msgid "Last Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:42
-msgid "E-Mail"
+#: templates/InvenTree/settings/user.html:54
+msgid "The following email addresses are associated with your account:"
msgstr ""
-#: templates/InvenTree/settings/user.html:47
-msgid "The following e-mail addresses are associated with your account:"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:61
+#: templates/InvenTree/settings/user.html:74
msgid "Verified"
msgstr ""
-#: templates/InvenTree/settings/user.html:63
+#: templates/InvenTree/settings/user.html:76
msgid "Unverified"
msgstr ""
-#: templates/InvenTree/settings/user.html:65
+#: templates/InvenTree/settings/user.html:78
msgid "Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:71
+#: templates/InvenTree/settings/user.html:84
msgid "Make Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:72
+#: templates/InvenTree/settings/user.html:85
msgid "Re-send Verification"
msgstr ""
-#: templates/InvenTree/settings/user.html:73
-#: templates/InvenTree/settings/user.html:130
+#: templates/InvenTree/settings/user.html:86
+#: templates/InvenTree/settings/user.html:153
msgid "Remove"
msgstr ""
-#: templates/InvenTree/settings/user.html:80
+#: templates/InvenTree/settings/user.html:93
msgid "Warning:"
msgstr ""
-#: templates/InvenTree/settings/user.html:81
-msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc."
+#: templates/InvenTree/settings/user.html:94
+msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc."
msgstr ""
-#: templates/InvenTree/settings/user.html:88
-msgid "Add E-mail Address"
+#: templates/InvenTree/settings/user.html:101
+msgid "Add Email Address"
msgstr ""
-#: templates/InvenTree/settings/user.html:93
-msgid "Add E-mail"
+#: templates/InvenTree/settings/user.html:111
+msgid "Enter e-mail address"
msgstr ""
-#: templates/InvenTree/settings/user.html:100
+#: templates/InvenTree/settings/user.html:113
+msgid "Add Email"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:123
msgid "Social Accounts"
msgstr ""
-#: templates/InvenTree/settings/user.html:105
+#: templates/InvenTree/settings/user.html:128
msgid "You can sign in to your account using any of the following third party accounts:"
msgstr ""
-#: templates/InvenTree/settings/user.html:138
-msgid "You currently have no social network accounts connected to this account."
+#: templates/InvenTree/settings/user.html:162
+msgid "There are no social network accounts connected to your InvenTree account"
msgstr ""
-#: templates/InvenTree/settings/user.html:142
+#: templates/InvenTree/settings/user.html:167
msgid "Add a 3rd Party Account"
msgstr ""
-#: templates/InvenTree/settings/user.html:153
-msgid "Theme Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:174
-msgid "Set Theme"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:181
+#: templates/InvenTree/settings/user.html:177
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:200
+#: templates/InvenTree/settings/user.html:186
+msgid "Select language"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:202
#, python-format
msgid "%(lang_translated)s%% translated"
msgstr ""
-#: templates/InvenTree/settings/user.html:202
+#: templates/InvenTree/settings/user.html:204
msgid "No translations available"
msgstr ""
-#: templates/InvenTree/settings/user.html:209
+#: templates/InvenTree/settings/user.html:211
msgid "Set Language"
msgstr ""
-#: templates/InvenTree/settings/user.html:214
-msgid "Help the translation efforts!"
+#: templates/InvenTree/settings/user.html:213
+msgid "Some languages are not complete"
msgstr ""
#: templates/InvenTree/settings/user.html:215
+msgid "Show only sufficent"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:217
+msgid "Show them too"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:224
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:225
#, python-format
msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
msgstr ""
-#: templates/InvenTree/settings/user.html:223
-msgid "Do you really want to remove the selected e-mail address?"
+#: templates/InvenTree/settings/user.html:233
+msgid "Do you really want to remove the selected email address?"
msgstr ""
-#: templates/InvenTree/settings/user_forms.html:9
-msgid "Form Settings"
+#: templates/InvenTree/settings/user_display.html:9
+msgid "Display Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:25
+msgid "Theme Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:35
+msgid "Select theme"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:46
+msgid "Set Theme"
msgstr ""
#: templates/InvenTree/settings/user_homepage.html:9
@@ -6505,124 +6273,139 @@ msgstr ""
msgid "Search Settings"
msgstr ""
-#: templates/about.html:13
+#: templates/InvenTree/settings/user_settings.html:9
+msgid "User Settings"
+msgstr ""
+
+#: templates/about.html:10
msgid "InvenTree Version Information"
msgstr ""
-#: templates/about.html:22
+#: templates/about.html:11 templates/about.html:105
+#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:964 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
+msgid "Close"
+msgstr ""
+
+#: templates/about.html:20
msgid "InvenTree Version"
msgstr ""
-#: templates/about.html:27
+#: templates/about.html:25
msgid "Development Version"
msgstr ""
-#: templates/about.html:30
+#: templates/about.html:28
msgid "Up to Date"
msgstr ""
-#: templates/about.html:32
+#: templates/about.html:30
msgid "Update Available"
msgstr ""
-#: templates/about.html:42
+#: templates/about.html:40
msgid "Commit Hash"
msgstr ""
-#: templates/about.html:49
+#: templates/about.html:47
msgid "Commit Date"
msgstr ""
-#: templates/about.html:55
+#: templates/about.html:53
msgid "InvenTree Documentation"
msgstr ""
-#: templates/about.html:60
+#: templates/about.html:58
msgid "API Version"
msgstr ""
-#: templates/about.html:65
+#: templates/about.html:63
msgid "Python Version"
msgstr ""
-#: templates/about.html:70
+#: templates/about.html:68
msgid "Django Version"
msgstr ""
-#: templates/about.html:75
+#: templates/about.html:73
msgid "View Code on GitHub"
msgstr ""
-#: templates/about.html:80
+#: templates/about.html:78
msgid "Credits"
msgstr ""
-#: templates/about.html:85
+#: templates/about.html:83
msgid "Mobile App"
msgstr ""
-#: templates/about.html:90
+#: templates/about.html:88
msgid "Submit Bug Report"
msgstr ""
-#: templates/about.html:97 templates/clip.html:4
+#: templates/about.html:95 templates/clip.html:4
msgid "copy to clipboard"
msgstr ""
-#: templates/about.html:97
+#: templates/about.html:95
msgid "copy version information"
msgstr ""
-#: templates/about.html:107 templates/js/translated/modals.js:50
-#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678
-#: templates/js/translated/modals.js:982 templates/modals.html:29
-#: templates/modals.html:54
-msgid "Close"
-msgstr ""
-
#: templates/account/email_confirm.html:6
#: templates/account/email_confirm.html:10
-msgid "Confirm E-mail Address"
+msgid "Confirm Email Address"
msgstr ""
#: templates/account/email_confirm.html:16
#, python-format
-msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s."
+msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
#: templates/account/email_confirm.html:27
#, python-format
-msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request."
+msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:5 templates/account/login.html:14
-#: templates/account/login.html:36
+#: templates/account/login.html:6 templates/account/login.html:16
+#: templates/account/login.html:39
msgid "Sign In"
msgstr ""
-#: templates/account/login.html:19
+#: templates/account/login.html:21
#, python-format
-msgid "Please sign in with one\n"
+msgid ""
+"Please sign in with one\n"
"of your existing third party accounts or sign up\n"
"for a account and sign in below:"
msgstr ""
-#: templates/account/login.html:23
+#: templates/account/login.html:25
#, python-format
-msgid "If you have not created an account yet, then please\n"
+msgid ""
+"If you have not created an account yet, then please\n"
"sign up first."
msgstr ""
-#: templates/account/login.html:38
+#: templates/account/login.html:42
msgid "Forgot Password?"
msgstr ""
-#: templates/account/login.html:45
+#: templates/account/login.html:47
+msgid "InvenTree demo instance"
+msgstr ""
+
+#: templates/account/login.html:47
+msgid "Click here for login details"
+msgstr ""
+
+#: templates/account/login.html:55
msgid "or use SSO"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
-#: templates/account/logout.html:17
+#: templates/account/logout.html:20
msgid "Sign Out"
msgstr ""
@@ -6630,13 +6413,17 @@ msgstr ""
msgid "Are you sure you want to sign out?"
msgstr ""
+#: templates/account/logout.html:19
+msgid "Back to Site"
+msgstr ""
+
#: templates/account/password_reset.html:5
#: templates/account/password_reset.html:12
msgid "Password Reset"
msgstr ""
#: templates/account/password_reset.html:18
-msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it."
+msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it."
msgstr ""
#: templates/account/password_reset.html:23
@@ -6656,11 +6443,11 @@ msgstr ""
msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
msgstr ""
-#: templates/account/password_reset_from_key.html:17
-msgid "change password"
+#: templates/account/password_reset_from_key.html:18
+msgid "Change password"
msgstr ""
-#: templates/account/password_reset_from_key.html:20
+#: templates/account/password_reset_from_key.html:22
msgid "Your password is now changed."
msgstr ""
@@ -6677,6 +6464,77 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/admin_button.html:2
+msgid "View in administration panel"
+msgstr ""
+
+#: templates/base.html:96
+msgid "Server Restart Required"
+msgstr ""
+
+#: templates/base.html:99
+msgid "A configuration option has been changed which requires a server restart"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Contact your system administrator for further information"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:7
+msgid "Stock is required for the following build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:8
+#, python-format
+msgid "Build order %(build)s - building %(quantity)s x %(part)s"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:10
+msgid "Click on the following link to view this build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:14
+msgid "The following parts are low on required stock"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:18
+#: templates/js/translated/bom.js:989
+msgid "Required Quantity"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:19
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129
+#: templates/js/translated/build.js:1749
+msgid "Available"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:38
+#: templates/email/low_stock_notification.html:31
+msgid "You are receiving this email because you are subscribed to notifications for this part "
+msgstr ""
+
+#: templates/email/email.html:35
+msgid "InvenTree version"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:7
+#, python-format
+msgid " The available stock for %(part)s has fallen below the configured minimum level"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:9
+msgid "Click on the following link to view this part"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:17
+msgid "Total Stock"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:19
+msgid "Minimum Quantity"
+msgstr ""
+
#: templates/image_download.html:8
msgid "Specify URL for downloading image"
msgstr ""
@@ -6693,138 +6551,59 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/report.js:47 templates/js/translated/report.js:67
-msgid "items selected"
-msgstr ""
-
-#: templates/js/report.js:55 templates/js/translated/report.js:75
-msgid "Select Report Template"
-msgstr ""
-
-#: templates/js/report.js:70 templates/js/translated/report.js:90
-msgid "Select Test Report Template"
-msgstr ""
-
-#: templates/js/report.js:98 templates/js/translated/label.js:29
-#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/report.js:99 templates/js/translated/report.js:119
-msgid "Stock item(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:116 templates/js/report.js:169
-#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331 templates/js/translated/report.js:136
-#: templates/js/translated/report.js:189 templates/js/translated/report.js:243
-#: templates/js/translated/report.js:297 templates/js/translated/report.js:351
-msgid "No Reports Found"
-msgstr ""
-
-#: templates/js/report.js:117 templates/js/translated/report.js:137
-msgid "No report templates found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/report.js:152 templates/js/translated/report.js:172
-msgid "Select Builds"
-msgstr ""
-
-#: templates/js/report.js:153 templates/js/translated/report.js:173
-msgid "Build(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:170 templates/js/translated/report.js:190
-msgid "No report templates found which match selected build(s)"
-msgstr ""
-
-#: templates/js/report.js:205 templates/js/translated/build.js:948
-#: templates/js/translated/label.js:134 templates/js/translated/report.js:225
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/report.js:206 templates/js/translated/report.js:226
-msgid "Part(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:224 templates/js/translated/report.js:244
-msgid "No report templates found which match selected part(s)"
-msgstr ""
-
-#: templates/js/report.js:259 templates/js/translated/report.js:279
-msgid "Select Purchase Orders"
-msgstr ""
-
-#: templates/js/report.js:260 templates/js/translated/report.js:280
-msgid "Purchase Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/report.js:278 templates/js/report.js:332
-#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
-msgid "No report templates found which match selected orders"
-msgstr ""
-
-#: templates/js/report.js:313 templates/js/translated/report.js:333
-msgid "Select Sales Orders"
-msgstr ""
-
-#: templates/js/report.js:314 templates/js/translated/report.js:334
-msgid "Sales Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053
+#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035
msgid "No response from the InvenTree server"
msgstr ""
-#: templates/js/translated/api.js:181
+#: templates/js/translated/api.js:191
msgid "Error 400: Bad request"
msgstr ""
-#: templates/js/translated/api.js:182
+#: templates/js/translated/api.js:192
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063
+#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055
msgid "The requested resource could not be located on the server"
msgstr ""
-#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060
msgid "Connection timeout while requesting data from server"
msgstr ""
-#: templates/js/translated/api.js:205
+#: templates/js/translated/api.js:215
msgid "Unhandled Error Code"
msgstr ""
-#: templates/js/translated/api.js:206
+#: templates/js/translated/api.js:216
msgid "Error code"
msgstr ""
@@ -6832,292 +6611,369 @@ msgstr ""
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:91
+#: templates/js/translated/attachment.js:95
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:104
+#: templates/js/translated/attachment.js:108
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:115
msgid "Delete attachment"
msgstr ""
-#: templates/js/translated/barcode.js:30
+#: templates/js/translated/barcode.js:29
msgid "Scan barcode data here using wedge scanner"
msgstr ""
-#: templates/js/translated/barcode.js:32
+#: templates/js/translated/barcode.js:31
msgid "Enter barcode data"
msgstr ""
-#: templates/js/translated/barcode.js:36
+#: templates/js/translated/barcode.js:35
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:54
+#: templates/js/translated/barcode.js:53
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:55
+#: templates/js/translated/barcode.js:54
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:93
+#: templates/js/translated/barcode.js:92
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:114
+#: templates/js/translated/barcode.js:113
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:141
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/barcode.js:140
+#: templates/js/translated/modals.js:1024
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:234
+#: templates/js/translated/barcode.js:233
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:281 templates/navbar.html:65
+#: templates/js/translated/barcode.js:280 templates/navbar.html:69
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:292
+#: templates/js/translated/barcode.js:291
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:310
+#: templates/js/translated/barcode.js:309
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:333
+#: templates/js/translated/barcode.js:332
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:339
+#: templates/js/translated/barcode.js:338
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273
+#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:440
+#: templates/js/translated/barcode.js:439
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:444
-#: templates/js/translated/barcode.js:571
+#: templates/js/translated/barcode.js:443
+#: templates/js/translated/barcode.js:573
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:486
-#: templates/js/translated/barcode.js:610
+#: templates/js/translated/barcode.js:485
+#: templates/js/translated/barcode.js:612
msgid "Error transferring stock"
msgstr ""
-#: templates/js/translated/barcode.js:505
+#: templates/js/translated/barcode.js:507
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:509
+#: templates/js/translated/barcode.js:511
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:516
+#: templates/js/translated/barcode.js:518
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:523
+#: templates/js/translated/barcode.js:525
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:566
+#: templates/js/translated/barcode.js:568
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:629
+#: templates/js/translated/barcode.js:633
msgid "Barcode does not match a valid location"
msgstr ""
-#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495
+#: templates/js/translated/bom.js:184
+msgid "Remove substitute part"
+msgstr ""
+
+#: templates/js/translated/bom.js:226
+msgid "Select and add a new variant item using the input below"
+msgstr ""
+
+#: templates/js/translated/bom.js:237
+msgid "Are you sure you wish to remove this substitute part link?"
+msgstr ""
+
+#: templates/js/translated/bom.js:243
+msgid "Remove Substitute Part"
+msgstr ""
+
+#: templates/js/translated/bom.js:282
+msgid "Add Substitute"
+msgstr ""
+
+#: templates/js/translated/bom.js:283
+msgid "Edit BOM Item Substitutes"
+msgstr ""
+
+#: templates/js/translated/bom.js:402
+msgid "Substitutes Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111
+msgid "Variant stock allowed"
+msgstr ""
+
+#: templates/js/translated/bom.js:411
msgid "Open subassembly"
msgstr ""
-#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744
-#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522
-msgid "Available"
+#: templates/js/translated/bom.js:483
+msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:307
+#: templates/js/translated/bom.js:498
msgid "Purchase Price Range"
msgstr ""
-#: templates/js/translated/bom.js:314
+#: templates/js/translated/bom.js:505
msgid "Purchase Price Average"
msgstr ""
-#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449
+#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798
-#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285
+#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183
+#: templates/js/translated/order.js:1298
msgid "Actions"
msgstr ""
-#: templates/js/translated/bom.js:423
+#: templates/js/translated/bom.js:614
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:425
+#: templates/js/translated/bom.js:616
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590
+#: templates/js/translated/bom.js:618
+msgid "Edit substitute parts"
+msgstr ""
+
+#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575
+#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:1593
+#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/build.js:71
-msgid "Edit Build Order"
+#: templates/js/translated/bom.js:772
+msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/build.js:105
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/translated/build.js:138
-msgid "Allocate stock items to this build output"
-msgstr ""
-
-#: templates/js/translated/build.js:146
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/translated/build.js:155
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:164
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:265
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356
-#: templates/js/translated/order.js:1292
-msgid "Edit stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357
-#: templates/js/translated/order.js:1293
-msgid "Delete stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:695
-msgid "Edit Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:705
-msgid "Remove Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:718
+#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095
msgid "Required Part"
msgstr ""
-#: templates/js/translated/build.js:739
+#: templates/js/translated/bom.js:994
+msgid "Inherited from parent BOM"
+msgstr ""
+
+#: templates/js/translated/build.js:78
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:112
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:133
+msgid "Allocate stock items to this build output"
+msgstr ""
+
+#: templates/js/translated/build.js:144
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:153
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:161
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:184
+msgid "Are you sure you wish to unallocate stock items from this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:202
+msgid "Unallocate Stock Items"
+msgstr ""
+
+#: templates/js/translated/build.js:220
+msgid "Select Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:221
+msgid "At least one build output must be selected"
+msgstr ""
+
+#: templates/js/translated/build.js:275
+msgid "Output"
+msgstr ""
+
+#: templates/js/translated/build.js:291
+msgid "Complete Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:386
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:603
+msgid "No active build outputs found"
+msgstr ""
+
+#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760
+#: templates/js/translated/order.js:1305
+msgid "Edit stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761
+#: templates/js/translated/order.js:1306
+msgid "Delete stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1072
+msgid "Edit Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1082
+msgid "Remove Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1107
+msgid "Substitute parts available"
+msgstr ""
+
+#: templates/js/translated/build.js:1124
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:749 templates/js/translated/build.js:975
-#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514
+#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360
+#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553
-#: templates/js/translated/order.js:1567
+#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557
-#: templates/stock_table.html:59
+#: templates/js/translated/build.js:1194 templates/stock_table.html:52
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560
+#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:880
+#: templates/js/translated/build.js:1262
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:949
+#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134
+#: templates/js/translated/report.js:225
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/translated/build.js:1334
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:963
+#: templates/js/translated/build.js:1348
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:992
+#: templates/js/translated/build.js:1377
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/build.js:993
+#: templates/js/translated/build.js:1378
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:1004
+#: templates/js/translated/build.js:1389
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:1048
+#: templates/js/translated/build.js:1451
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:1172
+#: templates/js/translated/build.js:1576
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856
-#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762
-#: templates/js/translated/stock.js:1456
+#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873
+#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064
+#: templates/js/translated/stock.js:1841
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:1209
+#: templates/js/translated/build.js:1613
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675
+#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:1282
+#: templates/js/translated/build.js:1686
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:1333
+#: templates/js/translated/build.js:1737
msgid "No parts allocated for"
msgstr ""
@@ -7137,7 +6993,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:164 templates/js/translated/order.js:89
+#: templates/js/translated/company.js:164 templates/js/translated/order.js:90
msgid "Add Supplier"
msgstr ""
@@ -7186,34 +7042,34 @@ msgid "No manufacturer parts found"
msgstr ""
#: templates/js/translated/company.js:496
-#: templates/js/translated/company.js:753 templates/js/translated/part.js:427
-#: templates/js/translated/part.js:512
+#: templates/js/translated/company.js:753 templates/js/translated/part.js:448
+#: templates/js/translated/part.js:533
msgid "Template part"
msgstr ""
#: templates/js/translated/company.js:500
-#: templates/js/translated/company.js:757 templates/js/translated/part.js:431
-#: templates/js/translated/part.js:516
+#: templates/js/translated/company.js:757 templates/js/translated/part.js:452
+#: templates/js/translated/part.js:537
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:627 templates/js/translated/part.js:604
+#: templates/js/translated/company.js:627 templates/js/translated/part.js:625
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:664 templates/js/translated/part.js:646
+#: templates/js/translated/company.js:664 templates/js/translated/part.js:667
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:665 templates/js/translated/part.js:647
+#: templates/js/translated/company.js:665 templates/js/translated/part.js:668
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:684 templates/js/translated/part.js:664
+#: templates/js/translated/company.js:684 templates/js/translated/part.js:685
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:695 templates/js/translated/part.js:676
+#: templates/js/translated/company.js:695 templates/js/translated/part.js:697
msgid "Delete Parameter"
msgstr ""
@@ -7222,12 +7078,12 @@ msgid "No supplier parts found"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:407
+#: templates/js/translated/filters.js:420
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:408
+#: templates/js/translated/filters.js:421
msgid "false"
msgstr ""
@@ -7235,57 +7091,61 @@ msgstr ""
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:284
+#: templates/js/translated/filters.js:286
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:286
+#: templates/js/translated/filters.js:290
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:289
+#: templates/js/translated/filters.js:293
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:317
+#: templates/js/translated/filters.js:329
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336
-#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360
+#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364
+#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:324
+#: templates/js/translated/forms.js:351
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:337
+#: templates/js/translated/forms.js:366
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:349
+#: templates/js/translated/forms.js:380
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:361
+#: templates/js/translated/forms.js:394
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:968 templates/modals.html:21
-#: templates/modals.html:47
+#: templates/js/translated/forms.js:679
+msgid "Enter a valid number"
+msgstr ""
+
+#: templates/js/translated/forms.js:1071 templates/modals.html:19
+#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1323
+#: templates/js/translated/forms.js:1457
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1525
+#: templates/js/translated/forms.js:1661
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:1742
+#: templates/js/translated/forms.js:1878
msgid "Clear input"
msgstr ""
@@ -7297,6 +7157,11 @@ msgstr ""
msgid "NO"
msgstr ""
+#: templates/js/translated/label.js:29 templates/js/translated/report.js:118
+#: templates/js/translated/stock.js:594
+msgid "Select Stock Items"
+msgstr ""
+
#: templates/js/translated/label.js:30
msgid "Stock item(s) must be selected before printing labels"
msgstr ""
@@ -7342,62 +7207,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119
+#: templates/js/translated/modals.js:593
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981
-#: templates/modals.html:30 templates/modals.html:55
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963
+#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:117
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:397
+#: templates/js/translated/modals.js:380
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:556
+#: templates/js/translated/modals.js:539
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:592
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:649
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:945
+#: templates/js/translated/modals.js:927
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/modals.js:1024
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1057
+#: templates/js/translated/modals.js:1039
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1058
+#: templates/js/translated/modals.js:1040
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1081
+#: templates/js/translated/modals.js:1063
msgid "Error requesting form data"
msgstr ""
@@ -7405,35 +7270,35 @@ msgstr ""
msgid "Company ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:90
+#: templates/js/translated/model_renderers.js:77
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:125
+#: templates/js/translated/model_renderers.js:130
msgid "Location ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:142
+#: templates/js/translated/model_renderers.js:147
msgid "Build ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:177
+#: templates/js/translated/model_renderers.js:182
msgid "Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:231
+#: templates/js/translated/model_renderers.js:236
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:251
+#: templates/js/translated/model_renderers.js:256
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:288
+#: templates/js/translated/model_renderers.js:293
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:317
+#: templates/js/translated/model_renderers.js:322
msgid "Supplier Part ID"
msgstr ""
@@ -7445,565 +7310,688 @@ msgstr ""
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:207
+#: templates/js/translated/order.js:208
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96
+#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393
msgid "Format"
msgstr ""
-#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97
+#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394
msgid "Select file format"
msgstr ""
-#: templates/js/translated/order.js:299
+#: templates/js/translated/order.js:300
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:300
+#: templates/js/translated/order.js:301
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:325
+#: templates/js/translated/order.js:326
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343
+#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:426
+#: templates/js/translated/order.js:427
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:428
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:429
+#: templates/js/translated/order.js:430
msgid "Receive"
msgstr ""
-#: templates/js/translated/order.js:448
+#: templates/js/translated/order.js:449
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:449
+#: templates/js/translated/order.js:450
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:626
+#: templates/js/translated/order.js:627
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028
+#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602
+#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613
+#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:800
+#: templates/js/translated/order.js:801
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432
+#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457
-#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554
+#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470
+#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464
-msgid "Total price"
+#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486
+msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573
+#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:963
+#: templates/js/translated/order.js:976
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:967
+#: templates/js/translated/order.js:980
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1004
+#: templates/js/translated/order.js:1017
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1055
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1120
+#: templates/js/translated/order.js:1133
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:1213
+#: templates/js/translated/order.js:1226
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1231
+#: templates/js/translated/order.js:1244
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1273
+#: templates/js/translated/order.js:1286
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:1514
+#: templates/js/translated/order.js:1535
msgid "Fulfilled"
msgstr ""
-#: templates/js/translated/order.js:1557
+#: templates/js/translated/order.js:1579
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1585
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725
+#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1596
msgid "Delete line item "
msgstr ""
-#: templates/js/translated/order.js:1673
+#: templates/js/translated/order.js:1719
msgid "Allocate Stock Item"
msgstr ""
-#: templates/js/translated/order.js:1733
+#: templates/js/translated/order.js:1779
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1747
+#: templates/js/translated/order.js:1793
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/part.js:49
+#: templates/js/translated/part.js:50
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:53
+#: templates/js/translated/part.js:54
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:57
+#: templates/js/translated/part.js:58
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:61
+#: templates/js/translated/part.js:62
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:75
+#: templates/js/translated/part.js:76
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:164
+#: templates/js/translated/part.js:165
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:165
+#: templates/js/translated/part.js:166
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:172
+#: templates/js/translated/part.js:173
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:173
+#: templates/js/translated/part.js:174
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:180
+#: templates/js/translated/part.js:181
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:191
+#: templates/js/translated/part.js:192
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:192
+#: templates/js/translated/part.js:193
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:201
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:202
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:257
+#: templates/js/translated/part.js:258
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:258
+#: templates/js/translated/part.js:259
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:265
-msgid "Copy BOM"
-msgstr ""
-
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:267
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:273
+#: templates/js/translated/part.js:274
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:274
+#: templates/js/translated/part.js:275
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:287
+#: templates/js/translated/part.js:288
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:331
+#: templates/js/translated/part.js:332
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:419 templates/js/translated/part.js:504
+#: templates/js/translated/part.js:334
+msgid "Part edited"
+msgstr ""
+
+#: templates/js/translated/part.js:402
+msgid "You are subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:404
+msgid "You have subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:409
+msgid "Subscribe to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:411
+msgid "You have unsubscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:440 templates/js/translated/part.js:525
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:423 templates/js/translated/part.js:508
+#: templates/js/translated/part.js:444 templates/js/translated/part.js:529
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:435
-msgid "Starred part"
+#: templates/js/translated/part.js:456
+msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:439
+#: templates/js/translated/part.js:460
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:554
+#: templates/js/translated/part.js:575
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005
+#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:932
+#: templates/js/translated/part.js:933
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:955
-#: templates/js/translated/table_filters.js:359
+#: templates/js/translated/part.js:956
+#: templates/js/translated/table_filters.js:375
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480
+#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200
+#: templates/js/translated/stock.js:1802
+msgid "Display as list"
+msgstr ""
+
+#: templates/js/translated/part.js:1044
+msgid "Display as grid"
+msgstr ""
+
+#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821
+msgid "Display as tree"
+msgstr ""
+
+#: templates/js/translated/part.js:1283
+msgid "Subscribed category"
+msgstr ""
+
+#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1202
+#: templates/js/translated/part.js:1341
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493
+#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494
+#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1260
+#: templates/js/translated/part.js:1399
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1282
+#: templates/js/translated/part.js:1421
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1296
+#: templates/js/translated/part.js:1435
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1321
+#: templates/js/translated/part.js:1460
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1376
+#: templates/js/translated/part.js:1515
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1377
+#: templates/js/translated/part.js:1516
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1478
+#: templates/js/translated/part.js:1617
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1497
+#: templates/js/translated/part.js:1636
msgid "Single Price Difference"
msgstr ""
-#: templates/js/translated/stock.js:63
+#: templates/js/translated/report.js:67
+msgid "items selected"
+msgstr ""
+
+#: templates/js/translated/report.js:75
+msgid "Select Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:90
+msgid "Select Test Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:119
+msgid "Stock item(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:136 templates/js/translated/report.js:189
+#: templates/js/translated/report.js:243 templates/js/translated/report.js:297
+#: templates/js/translated/report.js:351
+msgid "No Reports Found"
+msgstr ""
+
+#: templates/js/translated/report.js:137
+msgid "No report templates found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:172
+msgid "Select Builds"
+msgstr ""
+
+#: templates/js/translated/report.js:173
+msgid "Build(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:190
+msgid "No report templates found which match selected build(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:226
+msgid "Part(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:244
+msgid "No report templates found which match selected part(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:279
+msgid "Select Purchase Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:280
+msgid "Purchase Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
+msgid "No report templates found which match selected orders"
+msgstr ""
+
+#: templates/js/translated/report.js:333
+msgid "Select Sales Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:334
+msgid "Sales Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/stock.js:70
+msgid "Serialize Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:90
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:126
+msgid "New Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:189
+msgid "Enter initial quantity for this stock item"
+msgstr ""
+
+#: templates/js/translated/stock.js:195
+msgid "Enter serial numbers for new stock (or leave blank)"
+msgstr ""
+
+#: templates/js/translated/stock.js:338
+msgid "Created new stock item"
+msgstr ""
+
+#: templates/js/translated/stock.js:351
+msgid "Created multiple stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:390
msgid "Export Stock"
msgstr ""
-#: templates/js/translated/stock.js:104
+#: templates/js/translated/stock.js:401
msgid "Include Sublocations"
msgstr ""
-#: templates/js/translated/stock.js:105
+#: templates/js/translated/stock.js:402
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:444
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:148
+#: templates/js/translated/stock.js:445
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:154
+#: templates/js/translated/stock.js:451
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:155
+#: templates/js/translated/stock.js:452
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:159
+#: templates/js/translated/stock.js:456
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:160
+#: templates/js/translated/stock.js:457
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:164
+#: templates/js/translated/stock.js:461
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:165 users/models.py:195
+#: templates/js/translated/stock.js:462 users/models.py:200
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:169 templates/stock_table.html:63
+#: templates/js/translated/stock.js:466 templates/stock_table.html:56
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:298
+#: templates/js/translated/stock.js:595
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:456
+#: templates/js/translated/stock.js:753
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:458
+#: templates/js/translated/stock.js:755
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:463
+#: templates/js/translated/stock.js:760
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:489
+#: templates/js/translated/stock.js:782
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:515
+#: templates/js/translated/stock.js:808
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:563
+#: templates/js/translated/stock.js:865
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:670
+#: templates/js/translated/stock.js:972
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:674
+#: templates/js/translated/stock.js:976
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:678
+#: templates/js/translated/stock.js:980
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:984
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:688
+#: templates/js/translated/stock.js:990
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:844
+#: templates/js/translated/stock.js:1148
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:849
+#: templates/js/translated/stock.js:1153
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:852
+#: templates/js/translated/stock.js:1156
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:856
+#: templates/js/translated/stock.js:1160
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:858
+#: templates/js/translated/stock.js:1162
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:1166
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:866
+#: templates/js/translated/stock.js:1170
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:873
+#: templates/js/translated/stock.js:1177
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:1179
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:877
+#: templates/js/translated/stock.js:1181
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:881
-#: templates/js/translated/table_filters.js:161
+#: templates/js/translated/stock.js:1185
+#: templates/js/translated/table_filters.js:177
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:935
+#: templates/js/translated/stock.js:1235
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1308
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1046
+#: templates/js/translated/stock.js:1346
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115
+#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415
msgid "items"
msgstr ""
-#: templates/js/translated/stock.js:1155
+#: templates/js/translated/stock.js:1455
msgid "batches"
msgstr ""
-#: templates/js/translated/stock.js:1182
+#: templates/js/translated/stock.js:1482
msgid "locations"
msgstr ""
-#: templates/js/translated/stock.js:1184
+#: templates/js/translated/stock.js:1484
msgid "Undefined location"
msgstr ""
-#: templates/js/translated/stock.js:1358
+#: templates/js/translated/stock.js:1658
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:1372
+#: templates/js/translated/stock.js:1672
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:1373
+#: templates/js/translated/stock.js:1673
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:1512
+#: templates/js/translated/stock.js:1897
msgid "Invalid date"
msgstr ""
-#: templates/js/translated/stock.js:1559
+#: templates/js/translated/stock.js:1919
+msgid "Details"
+msgstr ""
+
+#: templates/js/translated/stock.js:1944
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1578
+#: templates/js/translated/stock.js:1963
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1597
+#: templates/js/translated/stock.js:1982
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1615
+#: templates/js/translated/stock.js:2000
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1638
+#: templates/js/translated/stock.js:2023
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:1646
+#: templates/js/translated/stock.js:2031
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:1687
+#: templates/js/translated/stock.js:2072
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1688
+#: templates/js/translated/stock.js:2073
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:2124
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:1835
-msgid "Serial"
-msgstr ""
-
-#: templates/js/translated/stock.js:1863
+#: templates/js/translated/stock.js:2175
msgid "Uninstall Stock Item"
msgstr ""
@@ -8023,254 +8011,264 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:156
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:172
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:93
+#: templates/js/translated/table_filters.js:105
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:103
-#: templates/js/translated/table_filters.js:104
-#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:115
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:352
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:114
-#: templates/js/translated/table_filters.js:191
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:117
-#: templates/js/translated/table_filters.js:198
-msgid "Serial number GTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:118
-#: templates/js/translated/table_filters.js:199
-msgid "Serial number greater than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:121
-#: templates/js/translated/table_filters.js:202
-msgid "Serial number LTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:122
-#: templates/js/translated/table_filters.js:203
-msgid "Serial number less than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:125
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:195
-msgid "Serial number"
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:387
+msgid "Subscribed"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:212
-msgid "Batch code"
+#: templates/js/translated/table_filters.js:207
+msgid "Is Serialized"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:214
+msgid "Serial number GTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:134
+#: templates/js/translated/table_filters.js:215
+msgid "Serial number greater than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:137
+#: templates/js/translated/table_filters.js:218
+msgid "Serial number LTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:138
+#: templates/js/translated/table_filters.js:219
+msgid "Serial number less than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:141
-#: templates/js/translated/table_filters.js:326
-msgid "Active parts"
-msgstr ""
-
#: templates/js/translated/table_filters.js:142
-msgid "Show stock for active parts"
+#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:211
+msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:147
-msgid "Part is an assembly"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:151
-msgid "Is allocated"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:152
-msgid "Item has been allocated"
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:228
+msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:157
-msgid "Include stock in sublocations"
+#: templates/js/translated/table_filters.js:342
+msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:162
-msgid "Show stock items which are depleted"
+#: templates/js/translated/table_filters.js:158
+msgid "Show stock for active parts"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:163
+msgid "Part is an assembly"
msgstr ""
#: templates/js/translated/table_filters.js:167
+msgid "Is allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:168
+msgid "Item has been allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:173
+msgid "Include stock in sublocations"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:178
+msgid "Show stock items which are depleted"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:183
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:187
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:188
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:176
+#: templates/js/translated/table_filters.js:192
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:177
+#: templates/js/translated/table_filters.js:193
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:197
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:182
+#: templates/js/translated/table_filters.js:198
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:187
+#: templates/js/translated/table_filters.js:203
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:207
-#: templates/js/translated/table_filters.js:208
+#: templates/js/translated/table_filters.js:223
+#: templates/js/translated/table_filters.js:224
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/table_filters.js:232
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:233
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:242
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:248
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:279
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:291
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:307
+#: templates/js/translated/table_filters.js:324
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:296
-#: templates/js/translated/table_filters.js:313
+#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:329
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:337
+#: templates/js/translated/table_filters.js:353
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:341
+#: templates/js/translated/table_filters.js:357
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:342
+#: templates/js/translated/table_filters.js:358
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:347
+#: templates/js/translated/table_filters.js:363
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:355
+#: templates/js/translated/table_filters.js:371
msgid "Stock available"
msgstr ""
-#: templates/js/translated/table_filters.js:371
-msgid "Starred"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:383
+#: templates/js/translated/table_filters.js:399
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/tables.js:366
+#: templates/js/translated/tables.js:368
msgid "Loading data"
msgstr ""
-#: templates/js/translated/tables.js:369
+#: templates/js/translated/tables.js:371
msgid "rows per page"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "Showing"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "to"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "of"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "rows"
msgstr ""
-#: templates/js/translated/tables.js:378
+#: templates/js/translated/tables.js:377 templates/search_form.html:6
+#: templates/search_form.html:7
+msgid "Search"
+msgstr ""
+
+#: templates/js/translated/tables.js:380
msgid "No matching results"
msgstr ""
-#: templates/js/translated/tables.js:381
+#: templates/js/translated/tables.js:383
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/translated/tables.js:384
+#: templates/js/translated/tables.js:386
msgid "Refresh"
msgstr ""
-#: templates/js/translated/tables.js:387
+#: templates/js/translated/tables.js:389
msgid "Toggle"
msgstr ""
-#: templates/js/translated/tables.js:390
+#: templates/js/translated/tables.js:392
msgid "Columns"
msgstr ""
-#: templates/js/translated/tables.js:393
+#: templates/js/translated/tables.js:395
msgid "All"
msgstr ""
-#: templates/navbar.html:19
-msgid "Toggle navigation"
-msgstr ""
-
-#: templates/navbar.html:39
+#: templates/navbar.html:40
msgid "Buy"
msgstr ""
-#: templates/navbar.html:51
+#: templates/navbar.html:52
msgid "Sell"
msgstr ""
-#: templates/navbar.html:83 users/models.py:39
+#: templates/navbar.html:86 users/models.py:39
msgid "Admin"
msgstr ""
-#: templates/navbar.html:85
+#: templates/navbar.html:88
msgid "Logout"
msgstr ""
-#: templates/navbar.html:106
+#: templates/navbar.html:90
+msgid "Login"
+msgstr ""
+
+#: templates/navbar.html:111
msgid "About InvenTree"
msgstr ""
+#: templates/navbar_demo.html:5
+msgid "InvenTree demo mode"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -8283,6 +8281,10 @@ msgstr ""
msgid "Log in again"
msgstr ""
+#: templates/stats.html:9
+msgid "Server"
+msgstr ""
+
#: templates/stats.html:13
msgid "Instance Name"
msgstr ""
@@ -8336,54 +8338,50 @@ msgid "Export Stock Information"
msgstr ""
#: templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/stock_table.html:27
msgid "Barcode Actions"
msgstr ""
-#: templates/stock_table.html:43
+#: templates/stock_table.html:36
msgid "Print test reports"
msgstr ""
-#: templates/stock_table.html:50
+#: templates/stock_table.html:43
msgid "Stock Options"
msgstr ""
-#: templates/stock_table.html:55
+#: templates/stock_table.html:48
msgid "Add to selected stock items"
msgstr ""
-#: templates/stock_table.html:56
+#: templates/stock_table.html:49
msgid "Remove from selected stock items"
msgstr ""
-#: templates/stock_table.html:57
+#: templates/stock_table.html:50
msgid "Stocktake selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move stock"
msgstr ""
-#: templates/stock_table.html:59
+#: templates/stock_table.html:52
msgid "Order selected items"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change status"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change stock status"
msgstr ""
-#: templates/stock_table.html:63
+#: templates/stock_table.html:56
msgid "Delete selected items"
msgstr ""
@@ -8419,35 +8417,34 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:182
+#: users/models.py:187
msgid "Permission set"
msgstr ""
-#: users/models.py:190
+#: users/models.py:195
msgid "Group"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "View"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "Permission to view items"
msgstr ""
-#: users/models.py:195
+#: users/models.py:200
msgid "Permission to add items"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Change"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:199
+#: users/models.py:204
msgid "Permission to delete items"
msgstr ""
-
diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po
index 90d2d28be0..5162bf6bc2 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: 2021-09-12 13:15+0000\n"
+"POT-Creation-Date: 2021-11-22 22:08+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -34,250 +34,266 @@ msgstr ""
msgid "Enter date"
msgstr ""
-#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123
-#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
-#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63
-#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564
+#: InvenTree/forms.py:120 build/forms.py:48 build/forms.py:69 build/forms.py:93
+#: order/forms.py:26 order/forms.py:37 order/forms.py:48 order/forms.py:59
+#: order/forms.py:70 part/forms.py:108 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:594
msgid "Confirm"
msgstr ""
-#: InvenTree/forms.py:127
+#: InvenTree/forms.py:136
msgid "Confirm delete"
msgstr ""
-#: InvenTree/forms.py:128
+#: InvenTree/forms.py:137
msgid "Confirm item deletion"
msgstr ""
-#: InvenTree/forms.py:160 templates/registration/login.html:76
+#: InvenTree/forms.py:168
msgid "Enter password"
msgstr ""
-#: InvenTree/forms.py:161
+#: InvenTree/forms.py:169
msgid "Enter new password"
msgstr ""
-#: InvenTree/forms.py:168
+#: InvenTree/forms.py:176
msgid "Confirm password"
msgstr ""
-#: InvenTree/forms.py:169
+#: InvenTree/forms.py:177
msgid "Confirm new password"
msgstr ""
-#: InvenTree/forms.py:201
+#: InvenTree/forms.py:209
msgid "Select Category"
msgstr ""
-#: InvenTree/helpers.py:401
+#: InvenTree/forms.py:230
+msgid "Email (again)"
+msgstr ""
+
+#: InvenTree/forms.py:234
+msgid "Email address confirmation"
+msgstr ""
+
+#: InvenTree/forms.py:254
+msgid "You must type the same email each time."
+msgstr ""
+
+#: InvenTree/helpers.py:430
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr ""
-#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430
-#: stock/views.py:1363
+#: InvenTree/helpers.py:437 order/models.py:318 order/models.py:440
+#: stock/views.py:1264
msgid "Invalid quantity provided"
msgstr ""
-#: InvenTree/helpers.py:411
+#: InvenTree/helpers.py:440
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:462 InvenTree/helpers.py:465 InvenTree/helpers.py:468
+#: InvenTree/helpers.py:493
#, python-brace-format
msgid "Invalid group: {g}"
msgstr ""
-#: InvenTree/helpers.py:469
+#: InvenTree/helpers.py:498
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr ""
-#: InvenTree/helpers.py:477
+#: InvenTree/helpers.py:506
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:481
+#: InvenTree/helpers.py:510
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/models.py:66 stock/models.py:1826
+#: InvenTree/models.py:109 stock/models.py:1874
msgid "Attachment"
msgstr ""
-#: InvenTree/models.py:67
+#: InvenTree/models.py:110
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:69 templates/js/translated/attachment.js:87
+#: InvenTree/models.py:112 templates/js/translated/attachment.js:91
msgid "Comment"
msgstr ""
-#: InvenTree/models.py:69
+#: InvenTree/models.py:112
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993
-#: common/models.py:994 part/models.py:2051
-#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/translated/stock.js:1690
+#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185
+#: common/models.py:1186 part/models.py:2205 part/models.py:2225
+#: report/templates/report/inventree_test_report_base.html:96
+#: templates/js/translated/stock.js:2054
msgid "User"
msgstr ""
-#: InvenTree/models.py:79
+#: InvenTree/models.py:122
msgid "upload date"
msgstr ""
-#: InvenTree/models.py:99
+#: InvenTree/models.py:142
msgid "Filename must not be empty"
msgstr ""
-#: InvenTree/models.py:122
+#: InvenTree/models.py:165
msgid "Invalid attachment directory"
msgstr ""
-#: InvenTree/models.py:132
+#: InvenTree/models.py:175
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr ""
-#: InvenTree/models.py:135
+#: InvenTree/models.py:178
msgid "Filename missing extension"
msgstr ""
-#: InvenTree/models.py:142
+#: InvenTree/models.py:185
msgid "Attachment with this filename already exists"
msgstr ""
-#: InvenTree/models.py:149
+#: InvenTree/models.py:192
msgid "Error renaming file"
msgstr ""
-#: InvenTree/models.py:184
+#: InvenTree/models.py:227
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414
-#: label/models.py:112 part/models.py:658 part/models.py:2212
-#: part/templates/part/part_base.html:241 report/models.py:181
-#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
-#: templates/js/translated/company.js:636 templates/js/translated/part.js:466
-#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130
-#: templates/js/translated/stock.js:1483
+#: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415
+#: label/models.py:112 part/models.py:741 part/models.py:2389
+#: part/templates/part/detail.html:25 report/models.py:181
+#: templates/js/translated/company.js:637 templates/js/translated/part.js:498
+#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272
+#: templates/js/translated/stock.js:1847
msgid "Name"
msgstr ""
-#: InvenTree/models.py:207 build/models.py:187
-#: build/templates/build/detail.html:24 company/models.py:353
-#: company/models.py:569 company/templates/company/manufacturer_part.html:76
-#: company/templates/company/supplier_part.html:75 label/models.py:119
-#: order/models.py:158 part/models.py:681
-#: part/templates/part/part_base.html:246
+#: InvenTree/models.py:250 build/models.py:207
+#: build/templates/build/detail.html:25 company/models.py:354
+#: company/models.py:570 company/templates/company/manufacturer_part.html:80
+#: company/templates/company/supplier_part.html:81 label/models.py:119
+#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30
#: part/templates/part/set_category.html:14 report/models.py:194
-#: report/models.py:551 report/models.py:590
+#: report/models.py:553 report/models.py:592
#: report/templates/report/inventree_build_order_base.html:118
-#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224
-#: templates/InvenTree/search.html:296
-#: templates/InvenTree/settings/header.html:9
-#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891
-#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344
-#: templates/js/translated/company.js:546
-#: templates/js/translated/company.js:834 templates/js/translated/order.js:341
-#: templates/js/translated/order.js:486 templates/js/translated/order.js:710
-#: templates/js/translated/part.js:525 templates/js/translated/part.js:713
-#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142
-#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840
-#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540
+#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214
+#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621
+#: templates/js/translated/company.js:344
+#: templates/js/translated/company.js:547
+#: templates/js/translated/company.js:836 templates/js/translated/order.js:673
+#: templates/js/translated/order.js:833 templates/js/translated/order.js:1069
+#: templates/js/translated/part.js:557 templates/js/translated/part.js:745
+#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291
+#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121
+#: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904
msgid "Description"
msgstr ""
-#: InvenTree/models.py:208
+#: InvenTree/models.py:251
msgid "Description (optional)"
msgstr ""
-#: InvenTree/models.py:216
+#: InvenTree/models.py:259
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:55 part/models.py:2454
+#: InvenTree/serializers.py:62 part/models.py:2674
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:244
+#: InvenTree/serializers.py:251
msgid "Filename"
msgstr ""
-#: InvenTree/settings.py:523
+#: InvenTree/settings.py:663
msgid "German"
msgstr ""
-#: InvenTree/settings.py:524
+#: InvenTree/settings.py:664
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:525
+#: InvenTree/settings.py:665
msgid "English"
msgstr ""
-#: InvenTree/settings.py:526
+#: InvenTree/settings.py:666
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:527
+#: InvenTree/settings.py:667
+msgid "Spanish (Mexican)"
+msgstr ""
+
+#: InvenTree/settings.py:668
msgid "French"
msgstr ""
-#: InvenTree/settings.py:528
+#: InvenTree/settings.py:669
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:529
+#: InvenTree/settings.py:670
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:530
+#: InvenTree/settings.py:671
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:531
+#: InvenTree/settings.py:672
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:532
+#: InvenTree/settings.py:673
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:533
+#: InvenTree/settings.py:674
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:534
+#: InvenTree/settings.py:675
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:535
+#: InvenTree/settings.py:676
+msgid "Portugese"
+msgstr ""
+
+#: InvenTree/settings.py:677
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:536
+#: InvenTree/settings.py:678
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:537
+#: InvenTree/settings.py:679
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:538
+#: InvenTree/settings.py:680
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:539
+#: InvenTree/settings.py:681
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:540
+#: InvenTree/settings.py:682
msgid "Chinese"
msgstr ""
@@ -293,196 +309,196 @@ msgstr ""
msgid "InvenTree system health checks failed"
msgstr ""
-#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145
-#: InvenTree/status_codes.py:314
+#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142
+#: InvenTree/status_codes.py:311
msgid "Pending"
msgstr ""
-#: InvenTree/status_codes.py:105
+#: InvenTree/status_codes.py:102
msgid "Placed"
msgstr ""
-#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317
+#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:314
msgid "Complete"
msgstr ""
-#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147
-#: InvenTree/status_codes.py:316
+#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144
+#: InvenTree/status_codes.py:313
msgid "Cancelled"
msgstr ""
-#: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148
-#: InvenTree/status_codes.py:190
+#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145
+#: InvenTree/status_codes.py:187
msgid "Lost"
msgstr ""
-#: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149
-#: InvenTree/status_codes.py:192
+#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146
+#: InvenTree/status_codes.py:189
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:146
-#: order/templates/order/sales_order_base.html:126
+#: InvenTree/status_codes.py:143
+#: order/templates/order/sales_order_base.html:147
msgid "Shipped"
msgstr ""
-#: InvenTree/status_codes.py:186
+#: InvenTree/status_codes.py:183
msgid "OK"
msgstr ""
-#: InvenTree/status_codes.py:187
+#: InvenTree/status_codes.py:184
msgid "Attention needed"
msgstr ""
-#: InvenTree/status_codes.py:188
+#: InvenTree/status_codes.py:185
msgid "Damaged"
msgstr ""
-#: InvenTree/status_codes.py:189
+#: InvenTree/status_codes.py:186
msgid "Destroyed"
msgstr ""
-#: InvenTree/status_codes.py:191
+#: InvenTree/status_codes.py:188
msgid "Rejected"
msgstr ""
-#: InvenTree/status_codes.py:272
+#: InvenTree/status_codes.py:269
msgid "Legacy stock tracking entry"
msgstr ""
-#: InvenTree/status_codes.py:274
+#: InvenTree/status_codes.py:271
msgid "Stock item created"
msgstr ""
-#: InvenTree/status_codes.py:276
+#: InvenTree/status_codes.py:273
msgid "Edited stock item"
msgstr ""
-#: InvenTree/status_codes.py:277
+#: InvenTree/status_codes.py:274
msgid "Assigned serial number"
msgstr ""
-#: InvenTree/status_codes.py:279
+#: InvenTree/status_codes.py:276
msgid "Stock counted"
msgstr ""
-#: InvenTree/status_codes.py:280
+#: InvenTree/status_codes.py:277
msgid "Stock manually added"
msgstr ""
-#: InvenTree/status_codes.py:281
+#: InvenTree/status_codes.py:278
msgid "Stock manually removed"
msgstr ""
-#: InvenTree/status_codes.py:283
+#: InvenTree/status_codes.py:280
msgid "Location changed"
msgstr ""
-#: InvenTree/status_codes.py:285
+#: InvenTree/status_codes.py:282
msgid "Installed into assembly"
msgstr ""
-#: InvenTree/status_codes.py:286
+#: InvenTree/status_codes.py:283
msgid "Removed from assembly"
msgstr ""
-#: InvenTree/status_codes.py:288
+#: InvenTree/status_codes.py:285
msgid "Installed component item"
msgstr ""
-#: InvenTree/status_codes.py:289
+#: InvenTree/status_codes.py:286
msgid "Removed component item"
msgstr ""
-#: InvenTree/status_codes.py:291
+#: InvenTree/status_codes.py:288
msgid "Split from parent item"
msgstr ""
-#: InvenTree/status_codes.py:292
+#: InvenTree/status_codes.py:289
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186
+#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202
msgid "Sent to customer"
msgstr ""
-#: InvenTree/status_codes.py:295
+#: InvenTree/status_codes.py:292
msgid "Returned from customer"
msgstr ""
-#: InvenTree/status_codes.py:297
+#: InvenTree/status_codes.py:294
msgid "Build order output created"
msgstr ""
-#: InvenTree/status_codes.py:298
+#: InvenTree/status_codes.py:295
msgid "Build order output completed"
msgstr ""
-#: InvenTree/status_codes.py:300
+#: InvenTree/status_codes.py:297
msgid "Received against purchase order"
msgstr ""
-#: InvenTree/status_codes.py:315
+#: InvenTree/status_codes.py:312
msgid "Production"
msgstr ""
-#: InvenTree/validators.py:22
+#: InvenTree/validators.py:23
msgid "Not a valid currency code"
msgstr ""
-#: InvenTree/validators.py:50
+#: InvenTree/validators.py:51
msgid "Invalid character in part name"
msgstr ""
-#: InvenTree/validators.py:63
+#: InvenTree/validators.py:64
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr ""
-#: InvenTree/validators.py:77 InvenTree/validators.py:91
-#: InvenTree/validators.py:105
+#: InvenTree/validators.py:78 InvenTree/validators.py:92
+#: InvenTree/validators.py:106
#, python-brace-format
msgid "Reference must match pattern {pattern}"
msgstr ""
-#: InvenTree/validators.py:113
+#: InvenTree/validators.py:114
#, python-brace-format
msgid "Illegal character in name ({x})"
msgstr ""
-#: InvenTree/validators.py:132 InvenTree/validators.py:148
+#: InvenTree/validators.py:133 InvenTree/validators.py:149
msgid "Overage value must not be negative"
msgstr ""
-#: InvenTree/validators.py:150
+#: InvenTree/validators.py:151
msgid "Overage must not exceed 100%"
msgstr ""
-#: InvenTree/validators.py:157
+#: InvenTree/validators.py:158
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:610
+#: InvenTree/views.py:536
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:659
+#: InvenTree/views.py:585
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14
+#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:704
+#: InvenTree/views.py:630
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:910 templates/navbar.html:105
+#: InvenTree/views.py:863 templates/navbar.html:101
msgid "System Information"
msgstr ""
@@ -526,589 +542,566 @@ msgstr ""
msgid "Barcode associated with StockItem"
msgstr ""
-#: build/forms.py:37
-msgid "Build Order reference"
-msgstr ""
-
-#: build/forms.py:38
-msgid "Order target date"
-msgstr ""
-
-#: build/forms.py:42 build/templates/build/build_base.html:146
-#: build/templates/build/detail.html:124
-#: order/templates/order/order_base.html:124
-#: order/templates/order/sales_order_base.html:119
-#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:962 templates/js/translated/order.js:358
-#: templates/js/translated/order.js:728
-msgid "Target Date"
-msgstr ""
-
-#: build/forms.py:43 build/models.py:277
-msgid "Target date for build completion. Build will be overdue after this date."
-msgstr ""
-
-#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1402
-#: build/templates/build/allocation_card.html:23
-#: build/templates/build/auto_allocate.html:17
-#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:1025
-#: company/forms.py:42 company/templates/company/supplier_part.html:226
-#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712
-#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34
-#: order/templates/order/sales_order_detail.html:201
-#: order/templates/order/sales_order_detail.html:208
-#: order/templates/order/sales_order_detail.html:293
-#: order/templates/order/sales_order_detail.html:365 part/forms.py:249
-#: part/forms.py:265 part/forms.py:281 part/models.py:2356
+#: build/forms.py:36 build/models.py:1283
+#: build/templates/build/build_base.html:124
+#: build/templates/build/detail.html:35 common/models.py:1225
+#: company/forms.py:42 company/templates/company/supplier_part.html:251
+#: order/forms.py:102 order/models.py:729 order/models.py:991
+#: order/templates/order/order_wizard/match_parts.html:30
+#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237
+#: part/forms.py:253 part/forms.py:269 part/models.py:2576
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059
+#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
-#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:140 stock/templates/stock/item_base.html:269
-#: stock/templates/stock/stock_adjust.html:18
-#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245
-#: templates/js/translated/build.js:298 templates/js/translated/build.js:629
-#: templates/js/translated/build.js:1189
-#: templates/js/translated/model_renderers.js:59
-#: templates/js/translated/order.js:522 templates/js/translated/order.js:824
-#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440
-#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675
-#: templates/js/translated/stock.js:1850
+#: report/templates/report/inventree_test_report_base.html:81
+#: report/templates/report/inventree_test_report_base.html:139
+#: stock/forms.py:156 stock/serializers.py:286
+#: stock/templates/stock/item_base.html:256
+#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441
+#: templates/js/translated/build.js:235 templates/js/translated/build.js:435
+#: templates/js/translated/build.js:629 templates/js/translated/build.js:639
+#: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362
+#: templates/js/translated/model_renderers.js:99
+#: templates/js/translated/order.js:870 templates/js/translated/order.js:1183
+#: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268
+#: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457
+#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626
+#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347
+#: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141
msgid "Quantity"
msgstr ""
-#: build/forms.py:49
-msgid "Number of items to build"
-msgstr ""
-
-#: build/forms.py:91
+#: build/forms.py:37
msgid "Enter quantity for build output"
msgstr ""
-#: build/forms.py:95 order/forms.py:114 stock/forms.py:83
+#: build/forms.py:41 order/forms.py:96 stock/forms.py:95
+#: stock/serializers.py:307 templates/js/translated/stock.js:194
+#: templates/js/translated/stock.js:348
msgid "Serial Numbers"
msgstr ""
-#: build/forms.py:97
+#: build/forms.py:43
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/forms.py:103
+#: build/forms.py:49
msgid "Confirm creation of build output"
msgstr ""
-#: build/forms.py:124
+#: build/forms.py:70
msgid "Confirm deletion of build output"
msgstr ""
-#: build/forms.py:145
-msgid "Confirm unallocation of stock"
-msgstr ""
-
-#: build/forms.py:169
-msgid "Confirm stock allocation"
-msgstr ""
-
-#: build/forms.py:186
+#: build/forms.py:94
msgid "Mark build as complete"
msgstr ""
-#: build/forms.py:210 build/templates/build/auto_allocate.html:18
-#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280
-#: stock/templates/stock/item_base.html:299
-#: stock/templates/stock/stock_adjust.html:17
-#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385
-#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283
-#: templates/js/translated/build.js:643 templates/js/translated/order.js:809
-#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203
-#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942
-#: templates/js/translated/stock.js:1567
-msgid "Location"
-msgstr ""
-
-#: build/forms.py:211
-msgid "Location of completed parts"
-msgstr ""
-
-#: build/forms.py:215 build/templates/build/build_base.html:138
-#: build/templates/build/detail.html:62 order/models.py:555
-#: order/serializers.py:230 order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252
-#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925
-#: templates/js/translated/order.js:345 templates/js/translated/order.js:715
-#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644
-#: templates/js/translated/stock.js:1866
-msgid "Status"
-msgstr ""
-
-#: build/forms.py:216
-msgid "Build output stock status"
-msgstr ""
-
-#: build/forms.py:223
-msgid "Confirm incomplete"
-msgstr ""
-
-#: build/forms.py:224
-msgid "Confirm completion with incomplete stock allocation"
-msgstr ""
-
-#: build/forms.py:227
-msgid "Confirm build completion"
-msgstr ""
-
-#: build/forms.py:252
+#: build/forms.py:107
msgid "Confirm cancel"
msgstr ""
-#: build/forms.py:252 build/views.py:65
+#: build/forms.py:107 build/views.py:65
msgid "Confirm build cancellation"
msgstr ""
-#: build/forms.py:266
-msgid "Select quantity of stock to allocate"
-msgstr ""
-
-#: build/models.py:113
+#: build/models.py:133
msgid "Invalid choice for parent build"
msgstr ""
-#: build/models.py:117 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:73
+#: build/models.py:137 build/templates/build/build_base.html:9
+#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:260
+#: templates/js/translated/build.js:397
msgid "Build Order"
msgstr ""
-#: build/models.py:118 build/templates/build/index.html:8
-#: build/templates/build/index.html:15
-#: order/templates/order/sales_order_detail.html:34
-#: order/templates/order/so_navbar.html:19
-#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50
-#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229
-#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103 users/models.py:44
+#: build/models.py:138 build/templates/build/build_base.html:13
+#: build/templates/build/index.html:8 build/templates/build/index.html:12
+#: order/templates/order/sales_order_detail.html:42
+#: templates/InvenTree/index.html:221 templates/InvenTree/search.html:145
+#: users/models.py:44
msgid "Build Orders"
msgstr ""
-#: build/models.py:178
+#: build/models.py:198
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:179 order/models.py:246 order/models.py:539
-#: order/models.py:719 order/templates/order/sales_order_detail.html:360
-#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30
+#: build/models.py:199 order/models.py:249 order/models.py:556
+#: order/models.py:736 part/models.py:2585
+#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718
-#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517
+#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119
+#: templates/js/translated/order.js:864 templates/js/translated/order.js:1451
msgid "Reference"
msgstr ""
-#: build/models.py:190
+#: build/models.py:210
msgid "Brief description of the build"
msgstr ""
-#: build/models.py:199 build/templates/build/build_base.html:163
-#: build/templates/build/detail.html:80
+#: build/models.py:219 build/templates/build/build_base.html:156
+#: build/templates/build/detail.html:88
msgid "Parent Build"
msgstr ""
-#: build/models.py:200
+#: build/models.py:220
msgid "BuildOrder to which this build is allocated"
msgstr ""
-#: build/models.py:205 build/templates/build/auto_allocate.html:16
-#: build/templates/build/build_base.html:128
-#: build/templates/build/detail.html:29 company/models.py:704
-#: order/models.py:772 order/models.py:837
-#: order/templates/order/order_wizard/select_parts.html:32
-#: order/templates/order/receive_parts.html:19
-#: order/templates/order/sales_order_detail.html:345 part/models.py:297
-#: part/models.py:1996 part/models.py:2012 part/models.py:2031
-#: part/models.py:2049 part/models.py:2128 part/models.py:2250
-#: part/models.py:2340 part/templates/part/detail.html:199
+#: build/models.py:225 build/templates/build/build_base.html:119
+#: build/templates/build/detail.html:30 company/models.py:705
+#: order/models.py:789 order/models.py:860
+#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357
+#: part/models.py:2151 part/models.py:2167 part/models.py:2186
+#: part/models.py:2203 part/models.py:2305 part/models.py:2427
+#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
-#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210
-#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203
-#: templates/js/translated/build.js:609 templates/js/translated/build.js:896
-#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487
-#: templates/js/translated/company.js:743 templates/js/translated/order.js:471
-#: templates/js/translated/part.js:694 templates/js/translated/part.js:864
-#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797
-#: templates/js/translated/stock.js:1838
+#: templates/InvenTree/search.html:86
+#: templates/email/build_order_required_stock.html:17
+#: templates/email/low_stock_notification.html:16
+#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213
+#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620
+#: templates/js/translated/build.js:988 templates/js/translated/build.js:1359
+#: templates/js/translated/build.js:1626 templates/js/translated/company.js:488
+#: templates/js/translated/company.js:745 templates/js/translated/order.js:426
+#: templates/js/translated/order.js:818 templates/js/translated/order.js:1435
+#: templates/js/translated/part.js:726 templates/js/translated/part.js:892
+#: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:2129
msgid "Part"
msgstr ""
-#: build/models.py:213
+#: build/models.py:233
msgid "Select part to build"
msgstr ""
-#: build/models.py:218
+#: build/models.py:238
msgid "Sales Order Reference"
msgstr ""
-#: build/models.py:222
+#: build/models.py:242
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:227
+#: build/models.py:247 templates/js/translated/build.js:1347
msgid "Source Location"
msgstr ""
-#: build/models.py:231
+#: build/models.py:251
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr ""
-#: build/models.py:236
+#: build/models.py:256
msgid "Destination Location"
msgstr ""
-#: build/models.py:240
+#: build/models.py:260
msgid "Select location where the completed items will be stored"
msgstr ""
-#: build/models.py:244
+#: build/models.py:264
msgid "Build Quantity"
msgstr ""
-#: build/models.py:247
+#: build/models.py:267
msgid "Number of stock items to build"
msgstr ""
-#: build/models.py:251
+#: build/models.py:271
msgid "Completed items"
msgstr ""
-#: build/models.py:253
+#: build/models.py:273
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:257 part/templates/part/part_base.html:198
+#: build/models.py:277 part/templates/part/part_base.html:216
msgid "Build Status"
msgstr ""
-#: build/models.py:261
+#: build/models.py:281
msgid "Build status code"
msgstr ""
-#: build/models.py:265 stock/models.py:513
+#: build/models.py:285 stock/models.py:544
msgid "Batch Code"
msgstr ""
-#: build/models.py:269
+#: build/models.py:289
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:272 order/models.py:162 part/models.py:853
-#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723
+#: build/models.py:292 order/models.py:165 part/models.py:936
+#: part/templates/part/detail.html:86 templates/js/translated/order.js:1082
msgid "Creation Date"
msgstr ""
-#: build/models.py:276 order/models.py:561
+#: build/models.py:296 order/models.py:578
msgid "Target completion date"
msgstr ""
-#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967
+#: build/models.py:297
+msgid "Target date for build completion. Build will be overdue after this date."
+msgstr ""
+
+#: build/models.py:300 order/models.py:291
+#: templates/js/translated/build.js:1697
msgid "Completion Date"
msgstr ""
-#: build/models.py:286
+#: build/models.py:306
msgid "completed by"
msgstr ""
-#: build/models.py:294 templates/js/translated/build.js:938
+#: build/models.py:314 templates/js/translated/build.js:1668
msgid "Issued by"
msgstr ""
-#: build/models.py:295
+#: build/models.py:315
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:303 build/templates/build/build_base.html:184
-#: build/templates/build/detail.html:108 order/models.py:176
-#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:140 part/models.py:857
+#: build/models.py:323 build/templates/build/build_base.html:177
+#: build/templates/build/detail.html:116 order/models.py:179
+#: order/templates/order/order_base.html:154
+#: order/templates/order/sales_order_base.html:161 part/models.py:940
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:950
+#: templates/js/translated/build.js:1680
msgid "Responsible"
msgstr ""
-#: build/models.py:304
+#: build/models.py:324
msgid "User responsible for this build order"
msgstr ""
-#: build/models.py:309 build/templates/build/detail.html:94
-#: company/templates/company/manufacturer_part.html:83
-#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:266 stock/models.py:507
-#: stock/templates/stock/item_base.html:359
+#: build/models.py:329 build/templates/build/detail.html:102
+#: company/templates/company/manufacturer_part.html:87
+#: company/templates/company/supplier_part.html:88
+#: part/templates/part/detail.html:80 stock/models.py:538
+#: stock/templates/stock/item_base.html:346
msgid "External Link"
msgstr ""
-#: build/models.py:310 part/models.py:715 stock/models.py:509
+#: build/models.py:330 part/models.py:798 stock/models.py:540
msgid "Link to external URL"
msgstr ""
-#: build/models.py:314 build/templates/build/navbar.html:52
-#: company/models.py:141 company/models.py:576
-#: company/templates/company/navbar.html:69
-#: company/templates/company/navbar.html:72 order/models.py:180
-#: order/models.py:721 order/templates/order/po_navbar.html:38
-#: order/templates/order/po_navbar.html:41
-#: order/templates/order/sales_order_detail.html:440
-#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:842
-#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120
-#: part/templates/part/navbar.html:123
+#: build/models.py:334 build/serializers.py:201 company/models.py:142
+#: company/models.py:577 order/models.py:183 order/models.py:738
+#: part/models.py:925 part/templates/part/detail.html:223
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579
-#: stock/models.py:1726 stock/models.py:1832
-#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59
-#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839
-#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338
-#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061
+#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610
+#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325
+#: stock/serializers.py:584 templates/js/translated/barcode.js:58
+#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841
+#: templates/js/translated/order.js:963 templates/js/translated/order.js:1561
+#: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340
msgid "Notes"
msgstr ""
-#: build/models.py:315
+#: build/models.py:335
msgid "Extra build notes"
msgstr ""
-#: build/models.py:792
+#: build/models.py:710
msgid "No build output specified"
msgstr ""
-#: build/models.py:795
+#: build/models.py:713
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:798
+#: build/models.py:716
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1208
-msgid "BuildItem must be unique for build, stock_item and install_into"
-msgstr ""
-
-#: build/models.py:1233
+#: build/models.py:1108
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1237
+#: build/models.py:1117
#, python-brace-format
-msgid "Allocated quantity ({n}) must not exceed available quantity ({q})"
+msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1244 order/models.py:938
-msgid "StockItem is over-allocated"
+#: build/models.py:1127
+msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1248 order/models.py:941
+#: build/models.py:1133 order/models.py:964
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1252
+#: build/models.py:1139
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1312
-#, python-brace-format
-msgid "Selected stock item not found in BOM for part '{p}'"
+#: build/models.py:1193
+msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1372 stock/templates/stock/item_base.html:331
-#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869
-#: templates/navbar.html:35
+#: build/models.py:1253 stock/templates/stock/item_base.html:318
+#: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599
+#: templates/navbar.html:33
msgid "Build"
msgstr ""
-#: build/models.py:1373
+#: build/models.py:1254
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1389 stock/templates/stock/item_base.html:8
-#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:353
-#: stock/templates/stock/stock_adjust.html:16
-#: templates/js/translated/build.js:271 templates/js/translated/build.js:276
-#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797
-#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626
+#: build/models.py:1270 build/serializers.py:328
+#: stock/templates/stock/item_base.html:8
+#: stock/templates/stock/item_base.html:16
+#: stock/templates/stock/item_base.html:340
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:413
+#: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742
+#: templates/js/translated/order.js:1156 templates/js/translated/order.js:1161
+#: templates/js/translated/stock.js:1990
msgid "Stock Item"
msgstr ""
-#: build/models.py:1390
+#: build/models.py:1271
msgid "Source stock item"
msgstr ""
-#: build/models.py:1403
+#: build/models.py:1284
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1411
+#: build/models.py:1292
msgid "Install into"
msgstr ""
-#: build/models.py:1412
+#: build/models.py:1293
msgid "Destination stock item"
msgstr ""
-#: build/templates/build/allocation_card.html:21
-#: build/templates/build/complete_output.html:46
-#: order/templates/order/sales_order_detail.html:206
-#: order/templates/order/sales_order_detail.html:291
-#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:501 stock/templates/stock/item_base.html:251
-#: templates/js/translated/build.js:627
-#: templates/js/translated/model_renderers.js:57
-msgid "Serial Number"
+#: build/serializers.py:137 build/serializers.py:357
+msgid "Build Output"
msgstr ""
-#: build/templates/build/auto_allocate.html:9
-msgid "Automatically Allocate Stock"
+#: build/serializers.py:146
+msgid "Build output does not match the parent build"
msgstr ""
-#: build/templates/build/auto_allocate.html:10
-msgid "The following stock items will be allocated to the specified build output"
+#: build/serializers.py:150
+msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/templates/build/auto_allocate.html:37
-msgid "No stock items found that can be automatically allocated to this build"
+#: build/serializers.py:154
+msgid "This build output has already been completed"
msgstr ""
-#: build/templates/build/auto_allocate.html:39
-msgid "Stock items will have to be manually allocated"
+#: build/serializers.py:158
+msgid "This build output is not fully allocated"
msgstr ""
-#: build/templates/build/build_base.html:18
+#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285
+#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686
+#: stock/templates/stock/item_base.html:286
+#: templates/js/translated/barcode.js:384
+#: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420
+#: templates/js/translated/build.js:1027 templates/js/translated/order.js:348
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1276
+#: templates/js/translated/order.js:1282 templates/js/translated/part.js:180
+#: templates/js/translated/stock.js:480 templates/js/translated/stock.js:1221
+#: templates/js/translated/stock.js:1931
+msgid "Location"
+msgstr ""
+
+#: build/serializers.py:191
+msgid "Location for completed build outputs"
+msgstr ""
+
+#: build/serializers.py:197 build/templates/build/build_base.html:129
+#: build/templates/build/detail.html:63 order/models.py:572
+#: order/serializers.py:238 stock/templates/stock/item_base.html:409
+#: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655
+#: templates/js/translated/order.js:431 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196
+#: templates/js/translated/stock.js:2008 templates/js/translated/stock.js:2157
+msgid "Status"
+msgstr ""
+
+#: build/serializers.py:213
+msgid "A list of build outputs must be provided"
+msgstr ""
+
+#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700
+#: part/models.py:2859
+msgid "BOM Item"
+msgstr ""
+
+#: build/serializers.py:269
+msgid "Build output"
+msgstr ""
+
+#: build/serializers.py:278
+msgid "Build output must point to the same build"
+msgstr ""
+
+#: build/serializers.py:319
+msgid "bom_item.part must point to the same part as the build order"
+msgstr ""
+
+#: build/serializers.py:334
+msgid "Item must be in stock"
+msgstr ""
+
+#: build/serializers.py:348 order/models.py:316 order/serializers.py:231
+#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298
+msgid "Quantity must be greater than zero"
+msgstr ""
+
+#: build/serializers.py:390
+#, python-brace-format
+msgid "Available quantity ({q}) exceeded"
+msgstr ""
+
+#: build/serializers.py:396
+msgid "Build output must be specified for allocation of tracked parts"
+msgstr ""
+
+#: build/serializers.py:403
+msgid "Build output cannot be specified for allocation of untracked parts"
+msgstr ""
+
+#: build/serializers.py:431
+msgid "Allocation items must be provided"
+msgstr ""
+
+#: build/tasks.py:92
+msgid "Stock required for build order"
+msgstr ""
+
+#: build/templates/build/build_base.html:39
+#: order/templates/order/order_base.html:28
+#: order/templates/order/sales_order_base.html:38
+msgid "Print actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:43
+msgid "Print build order report"
+msgstr ""
+
+#: build/templates/build/build_base.html:50
+msgid "Build actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:54
+msgid "Edit Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:56
+#: build/templates/build/build_base.html:207 build/views.py:56
+msgid "Cancel Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:59
+msgid "Delete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:64
+#: build/templates/build/build_base.html:65
+#: build/templates/build/build_base.html:223
+msgid "Complete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:79
#, python-format
msgid "This Build Order is allocated to Sales Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:25
+#: build/templates/build/build_base.html:86
#, python-format
msgid "This Build Order is a child of Build Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:32
+#: build/templates/build/build_base.html:93
msgid "Build Order is ready to mark as completed"
msgstr ""
-#: build/templates/build/build_base.html:37
+#: build/templates/build/build_base.html:98
msgid "Build Order cannot be completed as outstanding outputs remain"
msgstr ""
-#: build/templates/build/build_base.html:42
+#: build/templates/build/build_base.html:103
msgid "Required build quantity has not yet been completed"
msgstr ""
-#: build/templates/build/build_base.html:47
+#: build/templates/build/build_base.html:108
msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
-#: build/templates/build/build_base.html:75
-#: company/templates/company/company_base.html:40
-#: company/templates/company/manufacturer_part.html:29
-#: company/templates/company/supplier_part.html:30
-#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:30
-#: stock/templates/stock/item_base.html:62
-#: stock/templates/stock/location.html:31
-msgid "Admin view"
+#: build/templates/build/build_base.html:138
+#: build/templates/build/detail.html:132
+#: order/templates/order/order_base.html:140
+#: order/templates/order/sales_order_base.html:140
+#: report/templates/report/inventree_build_order_base.html:126
+#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690
+#: templates/js/translated/order.js:1087
+msgid "Target Date"
msgstr ""
-#: build/templates/build/build_base.html:81
-#: build/templates/build/build_base.html:150
-#: order/templates/order/order_base.html:32
-#: order/templates/order/order_base.html:86
-#: order/templates/order/sales_order_base.html:43
-#: order/templates/order/sales_order_base.html:88
-#: templates/js/translated/table_filters.js:272
-#: templates/js/translated/table_filters.js:291
-#: templates/js/translated/table_filters.js:308
-msgid "Overdue"
-msgstr ""
-
-#: build/templates/build/build_base.html:90
-msgid "Print actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:94
-msgid "Print Build Order"
-msgstr ""
-
-#: build/templates/build/build_base.html:100
-#: build/templates/build/build_base.html:222
-msgid "Complete Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:105
-msgid "Build actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:109
-msgid "Edit Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:111
-#: build/templates/build/build_base.html:206 build/views.py:56
-msgid "Cancel Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:114
-msgid "Delete Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:124
-#: build/templates/build/detail.html:15
-msgid "Build Details"
-msgstr ""
-
-#: build/templates/build/build_base.html:150
+#: build/templates/build/build_base.html:143
#, python-format
msgid "This build was due on %(target)s"
msgstr ""
-#: build/templates/build/build_base.html:157
-#: build/templates/build/detail.html:67
-msgid "Progress"
+#: build/templates/build/build_base.html:143
+#: build/templates/build/build_base.html:188
+#: order/templates/order/order_base.html:81
+#: order/templates/order/order_base.html:102
+#: order/templates/order/sales_order_base.html:78
+#: order/templates/order/sales_order_base.html:107
+#: templates/js/translated/table_filters.js:288
+#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:333
+msgid "Overdue"
msgstr ""
-#: build/templates/build/build_base.html:170
-#: build/templates/build/detail.html:87 order/models.py:835
+#: build/templates/build/build_base.html:150
+#: build/templates/build/detail.html:68 build/templates/build/detail.html:143
+#: templates/js/translated/build.js:1641
+#: templates/js/translated/table_filters.js:298
+msgid "Completed"
+msgstr ""
+
+#: build/templates/build/build_base.html:163
+#: build/templates/build/detail.html:95 order/models.py:857
#: order/templates/order/sales_order_base.html:9
-#: order/templates/order/sales_order_base.html:35
+#: order/templates/order/sales_order_base.html:28
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:293
-#: templates/js/translated/order.js:670
+#: stock/templates/stock/item_base.html:280
+#: templates/js/translated/order.js:1029
msgid "Sales Order"
msgstr ""
-#: build/templates/build/build_base.html:177
-#: build/templates/build/detail.html:101
+#: build/templates/build/build_base.html:170
+#: build/templates/build/detail.html:109
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:214
+#: build/templates/build/build_base.html:215
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:215
+#: build/templates/build/build_base.html:216
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
@@ -1156,228 +1149,195 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/templates/build/complete_output.html:10
-msgid "Stock allocation is complete for this output"
+#: build/templates/build/detail.html:16
+msgid "Build Details"
msgstr ""
-#: build/templates/build/complete_output.html:14
-msgid "Stock allocation is incomplete"
-msgstr ""
-
-#: build/templates/build/complete_output.html:20
-msgid "tracked parts have not been fully allocated"
-msgstr ""
-
-#: build/templates/build/complete_output.html:41
-msgid "The following items will be created"
-msgstr ""
-
-#: build/templates/build/create_build_item.html:7
-msgid "Select a stock item to allocate to the selected build output"
-msgstr ""
-
-#: build/templates/build/create_build_item.html:11
-#, python-format
-msgid "The allocated stock will be installed into the following build output:
%(output)s"
-msgstr ""
-
-#: build/templates/build/create_build_item.html:17
-#, python-format
-msgid "No stock available for %(part)s"
-msgstr ""
-
-#: build/templates/build/delete_build_item.html:8
-msgid "Are you sure you want to unallocate this stock?"
-msgstr ""
-
-#: build/templates/build/delete_build_item.html:11
-msgid "The selected stock will be unallocated from the build output"
-msgstr ""
-
-#: build/templates/build/detail.html:38
+#: build/templates/build/detail.html:39
msgid "Stock Source"
msgstr ""
-#: build/templates/build/detail.html:43
+#: build/templates/build/detail.html:44
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794
-#: order/templates/order/receive_parts.html:25 stock/forms.py:134
-#: templates/js/translated/order.js:593
+#: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150
+#: templates/js/translated/order.js:432 templates/js/translated/order.js:952
msgid "Destination"
msgstr ""
-#: build/templates/build/detail.html:56
+#: build/templates/build/detail.html:57
msgid "Destination location not specified"
msgstr ""
-#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:317
-#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873
-#: templates/js/translated/table_filters.js:129
-#: templates/js/translated/table_filters.js:211
+#: build/templates/build/detail.html:74 templates/js/translated/build.js:647
+msgid "Allocated Parts"
+msgstr ""
+
+#: build/templates/build/detail.html:81
+#: stock/templates/stock/item_base.html:304
+#: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164
+#: templates/js/translated/table_filters.js:145
+#: templates/js/translated/table_filters.js:227
msgid "Batch"
msgstr ""
-#: build/templates/build/detail.html:119
-#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:113
-#: templates/js/translated/build.js:933
+#: build/templates/build/detail.html:127
+#: order/templates/order/order_base.html:127
+#: order/templates/order/sales_order_base.html:134
+#: templates/js/translated/build.js:1663
msgid "Created"
msgstr ""
-#: build/templates/build/detail.html:130
+#: build/templates/build/detail.html:138
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:135 templates/js/translated/build.js:911
-msgid "Completed"
-msgstr ""
-
-#: build/templates/build/detail.html:139
+#: build/templates/build/detail.html:147
msgid "Build not complete"
msgstr ""
-#: build/templates/build/detail.html:150 build/templates/build/navbar.html:35
+#: build/templates/build/detail.html:158
msgid "Child Build Orders"
msgstr ""
-#: build/templates/build/detail.html:166
+#: build/templates/build/detail.html:173
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:172
-msgid "Allocate stock to build"
-msgstr ""
-
-#: build/templates/build/detail.html:173
-msgid "Auto Allocate"
-msgstr ""
-
-#: build/templates/build/detail.html:175 templates/js/translated/build.js:801
+#: build/templates/build/detail.html:177 templates/js/translated/build.js:1202
msgid "Unallocate stock"
msgstr ""
-#: build/templates/build/detail.html:176 build/views.py:318 build/views.py:638
+#: build/templates/build/detail.html:178
msgid "Unallocate Stock"
msgstr ""
-#: build/templates/build/detail.html:179
+#: build/templates/build/detail.html:180
+msgid "Allocate stock to build"
+msgstr ""
+
+#: build/templates/build/detail.html:181
+msgid "Allocate Stock"
+msgstr ""
+
+#: build/templates/build/detail.html:184
msgid "Order required parts"
msgstr ""
-#: build/templates/build/detail.html:180
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72 order/views.py:679
-#: part/templates/part/category.html:140
+#: build/templates/build/detail.html:185
+#: company/templates/company/detail.html:38
+#: company/templates/company/detail.html:85 order/views.py:509
+#: part/templates/part/category.html:166
msgid "Order Parts"
msgstr ""
-#: build/templates/build/detail.html:186
+#: build/templates/build/detail.html:197
msgid "Untracked stock has been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:190
+#: build/templates/build/detail.html:201
msgid "Untracked stock has not been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:197
+#: build/templates/build/detail.html:208
+msgid "Allocate selected items"
+msgstr ""
+
+#: build/templates/build/detail.html:218
msgid "This Build Order does not have any associated untracked BOM items"
msgstr ""
-#: build/templates/build/detail.html:206
+#: build/templates/build/detail.html:227
msgid "Incomplete Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:211
+#: build/templates/build/detail.html:231
msgid "Create new build output"
msgstr ""
-#: build/templates/build/detail.html:212
-msgid "Create New Output"
+#: build/templates/build/detail.html:232
+msgid "New Build Output"
msgstr ""
-#: build/templates/build/detail.html:225
-msgid "Create a new build output"
+#: build/templates/build/detail.html:246
+msgid "Output Actions"
msgstr ""
-#: build/templates/build/detail.html:226
-msgid "No incomplete build outputs remain."
+#: build/templates/build/detail.html:250
+msgid "Complete selected items"
msgstr ""
-#: build/templates/build/detail.html:227
-msgid "Create a new build output using the button above"
+#: build/templates/build/detail.html:251
+msgid "Complete outputs"
msgstr ""
-#: build/templates/build/detail.html:235
+#: build/templates/build/detail.html:266
msgid "Completed Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:246 build/templates/build/navbar.html:42
-#: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35
-#: order/templates/order/sales_order_detail.html:43
-#: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173
-#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117
-#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47
-#: stock/templates/stock/navbar.html:50
+#: build/templates/build/detail.html:278
+#: order/templates/order/purchase_order_detail.html:60
+#: order/templates/order/sales_order_detail.html:52
+#: part/templates/part/detail.html:300 stock/templates/stock/item.html:95
msgid "Attachments"
msgstr ""
-#: build/templates/build/detail.html:257
+#: build/templates/build/detail.html:294
msgid "Build Notes"
msgstr ""
-#: build/templates/build/detail.html:261 build/templates/build/detail.html:398
-#: company/templates/company/detail.html:169
-#: company/templates/company/detail.html:196
-#: order/templates/order/purchase_order_detail.html:62
-#: order/templates/order/purchase_order_detail.html:95
-#: order/templates/order/sales_order_detail.html:58
-#: order/templates/order/sales_order_detail.html:85
-#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103
-#: stock/templates/stock/item.html:188
+#: build/templates/build/detail.html:298 build/templates/build/detail.html:489
+#: company/templates/company/detail.html:188
+#: company/templates/company/detail.html:215
+#: order/templates/order/purchase_order_detail.html:80
+#: order/templates/order/purchase_order_detail.html:108
+#: order/templates/order/sales_order_detail.html:72
+#: order/templates/order/sales_order_detail.html:99
+#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115
+#: stock/templates/stock/item.html:205
msgid "Edit Notes"
msgstr ""
-#: build/templates/build/detail.html:357
-#: order/templates/order/po_attachments.html:79
-#: order/templates/order/purchase_order_detail.html:157
-#: order/templates/order/sales_order_detail.html:146
-#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253
-#: templates/attachment_table.html:6
+#: build/templates/build/detail.html:448
+#: order/templates/order/purchase_order_detail.html:170
+#: order/templates/order/sales_order_detail.html:160
+#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270
+#: templates/attachment_button.html:4
msgid "Add Attachment"
msgstr ""
-#: build/templates/build/detail.html:376
-#: order/templates/order/po_attachments.html:51
-#: order/templates/order/purchase_order_detail.html:129
-#: order/templates/order/sales_order_detail.html:119
-#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221
+#: build/templates/build/detail.html:467
+#: order/templates/order/purchase_order_detail.html:142
+#: order/templates/order/sales_order_detail.html:133
+#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238
msgid "Edit Attachment"
msgstr ""
-#: build/templates/build/detail.html:383
-#: order/templates/order/po_attachments.html:58
-#: order/templates/order/purchase_order_detail.html:136
-#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230
+#: build/templates/build/detail.html:474
+#: order/templates/order/purchase_order_detail.html:149
+#: order/templates/order/sales_order_detail.html:139
+#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247
+#: templates/js/translated/order.js:1243
msgid "Confirm Delete Operation"
msgstr ""
-#: build/templates/build/detail.html:384
-#: order/templates/order/po_attachments.html:59
-#: order/templates/order/purchase_order_detail.html:137
-#: order/templates/order/sales_order_detail.html:126
-#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231
+#: build/templates/build/detail.html:475
+#: order/templates/order/purchase_order_detail.html:150
+#: order/templates/order/sales_order_detail.html:140
+#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248
msgid "Delete Attachment"
msgstr ""
-#: build/templates/build/edit_build_item.html:7
-msgid "Alter the quantity of stock allocated to the build output"
+#: build/templates/build/detail.html:513
+msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/index.html:28
+#: build/templates/build/detail.html:514
+msgid "All untracked stock items have been allocated"
+msgstr ""
+
+#: build/templates/build/index.html:18 part/templates/part/detail.html:433
msgid "New Build Order"
msgstr ""
@@ -1385,170 +1345,78 @@ msgstr ""
msgid "Print Build Orders"
msgstr ""
-#: build/templates/build/index.html:43
-#: order/templates/order/purchase_orders.html:27
-#: order/templates/order/sales_orders.html:27
+#: build/templates/build/index.html:44
+#: order/templates/order/purchase_orders.html:34
+#: order/templates/order/sales_orders.html:37
msgid "Display calendar view"
msgstr ""
-#: build/templates/build/index.html:46
-#: order/templates/order/purchase_orders.html:30
-#: order/templates/order/sales_orders.html:30
+#: build/templates/build/index.html:47
+#: order/templates/order/purchase_orders.html:37
+#: order/templates/order/sales_orders.html:40
msgid "Display list view"
msgstr ""
-#: build/templates/build/navbar.html:12
-msgid "Build Order Details"
-msgstr ""
-
-#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/translated/stock.js:1555
-msgid "Details"
-msgstr ""
-
-#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23
-#: build/views.py:90
-msgid "Allocate Stock"
-msgstr ""
-
-#: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31
-msgid "Build Outputs"
-msgstr ""
-
-#: build/templates/build/navbar.html:38
-msgid "Child Builds"
-msgstr ""
-
-#: build/templates/build/navbar.html:49
-msgid "Build Order Notes"
-msgstr ""
-
-#: build/templates/build/unallocate.html:10
-msgid "Are you sure you wish to unallocate all stock for this build?"
-msgstr ""
-
-#: build/templates/build/unallocate.html:12
-msgid "All incomplete stock allocations will be removed from the build"
-msgstr ""
-
#: build/views.py:76
msgid "Build was cancelled"
msgstr ""
-#: build/views.py:137
-msgid "Allocated stock to build output"
-msgstr ""
-
-#: build/views.py:149
+#: build/views.py:88
msgid "Create Build Output"
msgstr ""
-#: build/views.py:167
+#: build/views.py:106
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:183 stock/views.py:1389
+#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290
msgid "Serial numbers already exist"
msgstr ""
-#: build/views.py:192
+#: build/views.py:131
msgid "Serial numbers required for trackable build output"
msgstr ""
-#: build/views.py:258
+#: build/views.py:197
msgid "Delete Build Output"
msgstr ""
-#: build/views.py:279 build/views.py:369
+#: build/views.py:218
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:280 build/views.py:370 stock/views.py:404
+#: build/views.py:219 stock/views.py:385
msgid "Check the confirmation box"
msgstr ""
-#: build/views.py:292
+#: build/views.py:231
msgid "Build output does not match build"
msgstr ""
-#: build/views.py:294 build/views.py:495
+#: build/views.py:233
msgid "Build output must be specified"
msgstr ""
-#: build/views.py:306
+#: build/views.py:245
msgid "Build output deleted"
msgstr ""
-#: build/views.py:404
+#: build/views.py:261
msgid "Complete Build Order"
msgstr ""
-#: build/views.py:410
+#: build/views.py:267
msgid "Build order cannot be completed - incomplete outputs remain"
msgstr ""
-#: build/views.py:421
+#: build/views.py:278
msgid "Completed build order"
msgstr ""
-#: build/views.py:437
-msgid "Complete Build Output"
-msgstr ""
-
-#: build/views.py:479
-msgid "Invalid stock status value selected"
-msgstr ""
-
-#: build/views.py:486
-msgid "Quantity to complete cannot exceed build output quantity"
-msgstr ""
-
-#: build/views.py:492
-msgid "Confirm completion of incomplete build"
-msgstr ""
-
-#: build/views.py:591
-msgid "Build output completed"
-msgstr ""
-
-#: build/views.py:628
+#: build/views.py:319
msgid "Delete Build Order"
msgstr ""
-#: build/views.py:643
-msgid "Removed parts from build allocation"
-msgstr ""
-
-#: build/views.py:655
-msgid "Allocate stock to build output"
-msgstr ""
-
-#: build/views.py:698
-msgid "Item must be currently in stock"
-msgstr ""
-
-#: build/views.py:704
-msgid "Stock item is over-allocated"
-msgstr ""
-
-#: build/views.py:705 templates/js/translated/bom.js:269
-#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019
-#: templates/js/translated/build.js:1196
-msgid "Available"
-msgstr ""
-
-#: build/views.py:707
-msgid "Stock item must be selected"
-msgstr ""
-
-#: build/views.py:870
-msgid "Edit Stock Allocation"
-msgstr ""
-
-#: build/views.py:874
-msgid "Updated Build Item"
-msgstr ""
-
#: common/files.py:67
msgid "Unsupported file format: {ext.upper()}"
msgstr ""
@@ -1586,656 +1454,728 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:308 common/models.py:839 common/models.py:986
+#: common/models.py:340 common/models.py:970 common/models.py:1178
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:310
+#: common/models.py:342
msgid "Settings value"
msgstr ""
-#: common/models.py:345
+#: common/models.py:377
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:368
+#: common/models.py:382
+msgid "Chosen value is not a valid option"
+msgstr ""
+
+#: common/models.py:405
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:379
+#: common/models.py:416
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:402
+#: common/models.py:439
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:509
+#: common/models.py:559
+msgid "No group"
+msgstr ""
+
+#: common/models.py:601
+msgid "Restart required"
+msgstr ""
+
+#: common/models.py:602
+msgid "A setting has been changed which requires a server restart"
+msgstr ""
+
+#: common/models.py:609
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:511
+#: common/models.py:611
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:515
+#: common/models.py:615
msgid "Use instance name"
msgstr ""
-#: common/models.py:516
+#: common/models.py:616
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:522 company/models.py:99 company/models.py:100
+#: common/models.py:622 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr ""
-#: common/models.py:523
+#: common/models.py:623
msgid "Internal company name"
msgstr ""
-#: common/models.py:528
+#: common/models.py:628
msgid "Base URL"
msgstr ""
-#: common/models.py:529
+#: common/models.py:629
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:535
+#: common/models.py:635
msgid "Default Currency"
msgstr ""
-#: common/models.py:536
+#: common/models.py:636
msgid "Default currency"
msgstr ""
-#: common/models.py:542
+#: common/models.py:642
msgid "Download from URL"
msgstr ""
-#: common/models.py:543
+#: common/models.py:643
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:549
+#: common/models.py:649
msgid "Barcode Support"
msgstr ""
-#: common/models.py:550
+#: common/models.py:650
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:556
+#: common/models.py:656
msgid "IPN Regex"
msgstr ""
-#: common/models.py:557
+#: common/models.py:657
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:561
+#: common/models.py:661
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:562
+#: common/models.py:662
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:568
+#: common/models.py:668
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:569
+#: common/models.py:669
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:575
+#: common/models.py:675
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:576
+#: common/models.py:676
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:582
+#: common/models.py:682
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:583
+#: common/models.py:683
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:589
+#: common/models.py:689
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:590
+#: common/models.py:690
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:596
+#: common/models.py:696
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:597
+#: common/models.py:697
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:603 part/models.py:2252 report/models.py:187
-#: stock/forms.py:224 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:342
+#: common/models.py:703 part/models.py:2429 report/models.py:187
+#: templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:367
msgid "Template"
msgstr ""
-#: common/models.py:604
+#: common/models.py:704
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:610 part/models.py:805
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:354
+#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954
+#: templates/js/translated/table_filters.js:162
+#: templates/js/translated/table_filters.js:379
msgid "Assembly"
msgstr ""
-#: common/models.py:611
+#: common/models.py:711
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:617 part/models.py:811
-#: templates/js/translated/table_filters.js:358
+#: common/models.py:717 part/models.py:894
+#: templates/js/translated/table_filters.js:383
msgid "Component"
msgstr ""
-#: common/models.py:618
+#: common/models.py:718
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:624 part/models.py:822
+#: common/models.py:724 part/models.py:905
msgid "Purchaseable"
msgstr ""
-#: common/models.py:625
+#: common/models.py:725
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:631 part/models.py:827
-#: templates/js/translated/table_filters.js:366
+#: common/models.py:731 part/models.py:910
+#: templates/js/translated/table_filters.js:391
msgid "Salable"
msgstr ""
-#: common/models.py:632
+#: common/models.py:732
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:638 part/models.py:817
+#: common/models.py:738 part/models.py:900
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:370
+#: templates/js/translated/table_filters.js:94
+#: templates/js/translated/table_filters.js:395
msgid "Trackable"
msgstr ""
-#: common/models.py:639
+#: common/models.py:739
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:645 part/models.py:837
-#: part/templates/part/part_base.html:66
+#: common/models.py:745 part/models.py:920
+#: part/templates/part/part_base.html:144
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:646
+#: common/models.py:746
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:653
-msgid "Show Quantity in Forms"
-msgstr ""
-
-#: common/models.py:654
-msgid "Display available part quantity in some forms"
-msgstr ""
-
-#: common/models.py:660
+#: common/models.py:752
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:661
+#: common/models.py:753
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:667
+#: common/models.py:759
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:668
+#: common/models.py:760
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:674
+#: common/models.py:771
+msgid "Show Price in BOM"
+msgstr ""
+
+#: common/models.py:772
+msgid "Include pricing information in BOM tables"
+msgstr ""
+
+#: common/models.py:778
msgid "Show related parts"
msgstr ""
-#: common/models.py:675
+#: common/models.py:779
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:681
+#: common/models.py:785
msgid "Create initial stock"
msgstr ""
-#: common/models.py:682
+#: common/models.py:786
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:688
+#: common/models.py:792
msgid "Internal Prices"
msgstr ""
-#: common/models.py:689
+#: common/models.py:793
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:695
+#: common/models.py:799
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:696
+#: common/models.py:800
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:702 templates/stats.html:25
-msgid "Debug Mode"
-msgstr ""
-
-#: common/models.py:703
-msgid "Generate reports in debug mode (HTML output)"
-msgstr ""
-
-#: common/models.py:709
-msgid "Page Size"
-msgstr ""
-
-#: common/models.py:710
-msgid "Default page size for PDF reports"
-msgstr ""
-
-#: common/models.py:720
-msgid "Test Reports"
-msgstr ""
-
-#: common/models.py:721
-msgid "Enable generation of test reports"
-msgstr ""
-
-#: common/models.py:727
-msgid "Stock Expiry"
-msgstr ""
-
-#: common/models.py:728
-msgid "Enable stock expiry functionality"
-msgstr ""
-
-#: common/models.py:734
-msgid "Sell Expired Stock"
-msgstr ""
-
-#: common/models.py:735
-msgid "Allow sale of expired stock"
-msgstr ""
-
-#: common/models.py:741
-msgid "Stock Stale Time"
-msgstr ""
-
-#: common/models.py:742
-msgid "Number of days stock items are considered stale before expiring"
-msgstr ""
-
-#: common/models.py:744
-msgid "days"
-msgstr ""
-
-#: common/models.py:749
-msgid "Build Expired Stock"
-msgstr ""
-
-#: common/models.py:750
-msgid "Allow building with expired stock"
-msgstr ""
-
-#: common/models.py:756
-msgid "Stock Ownership Control"
-msgstr ""
-
-#: common/models.py:757
-msgid "Enable ownership control over stock locations and items"
-msgstr ""
-
-#: common/models.py:763
-msgid "Group by Part"
-msgstr ""
-
-#: common/models.py:764
-msgid "Group stock items by part reference in table views"
-msgstr ""
-
-#: common/models.py:770
-msgid "Build Order Reference Prefix"
-msgstr ""
-
-#: common/models.py:771
-msgid "Prefix value for build order reference"
-msgstr ""
-
-#: common/models.py:776
-msgid "Build Order Reference Regex"
-msgstr ""
-
-#: common/models.py:777
-msgid "Regular expression pattern for matching build order reference"
-msgstr ""
-
-#: common/models.py:781
-msgid "Sales Order Reference Prefix"
-msgstr ""
-
-#: common/models.py:782
-msgid "Prefix value for sales order reference"
-msgstr ""
-
-#: common/models.py:787
-msgid "Purchase Order Reference Prefix"
-msgstr ""
-
-#: common/models.py:788
-msgid "Prefix value for purchase order reference"
-msgstr ""
-
-#: common/models.py:794
-msgid "Enable build"
-msgstr ""
-
-#: common/models.py:795
-msgid "Enable build functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:800
-msgid "Enable buy"
-msgstr ""
-
-#: common/models.py:801
-msgid "Enable buy functionality in InvenTree interface"
-msgstr ""
-
#: common/models.py:806
-msgid "Enable sell"
+msgid "Part Name Display Format"
msgstr ""
#: common/models.py:807
-msgid "Enable sell functionality in InvenTree interface"
+msgid "Format to display the part name"
msgstr ""
-#: common/models.py:812
-msgid "Enable stock"
+#: common/models.py:814
+msgid "Enable Reports"
msgstr ""
-#: common/models.py:813
-msgid "Enable stock functionality in InvenTree interface"
+#: common/models.py:815
+msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:818
-msgid "Enable SO"
+#: common/models.py:821 templates/stats.html:25
+msgid "Debug Mode"
msgstr ""
-#: common/models.py:819
-msgid "Enable SO functionality in InvenTree interface"
+#: common/models.py:822
+msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:824
-msgid "Enable PO"
+#: common/models.py:828
+msgid "Page Size"
msgstr ""
-#: common/models.py:825
-msgid "Enable PO functionality in InvenTree interface"
+#: common/models.py:829
+msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:850
-msgid "Show starred parts"
+#: common/models.py:839
+msgid "Test Reports"
msgstr ""
-#: common/models.py:851
-msgid "Show starred parts on the homepage"
+#: common/models.py:840
+msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:856
-msgid "Show latest parts"
+#: common/models.py:846
+msgid "Stock Expiry"
msgstr ""
-#: common/models.py:857
-msgid "Show latest parts on the homepage"
+#: common/models.py:847
+msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:862
-msgid "Recent Part Count"
+#: common/models.py:853
+msgid "Sell Expired Stock"
+msgstr ""
+
+#: common/models.py:854
+msgid "Allow sale of expired stock"
+msgstr ""
+
+#: common/models.py:860
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:861
+msgid "Number of days stock items are considered stale before expiring"
msgstr ""
#: common/models.py:863
-msgid "Number of recent parts to display on index page"
+msgid "days"
+msgstr ""
+
+#: common/models.py:868
+msgid "Build Expired Stock"
msgstr ""
#: common/models.py:869
-msgid "Show unvalidated BOMs"
-msgstr ""
-
-#: common/models.py:870
-msgid "Show BOMs that await validation on the homepage"
+msgid "Allow building with expired stock"
msgstr ""
#: common/models.py:875
-msgid "Show recent stock changes"
+msgid "Stock Ownership Control"
msgstr ""
#: common/models.py:876
-msgid "Show recently changed stock items on the homepage"
-msgstr ""
-
-#: common/models.py:881
-msgid "Recent Stock Count"
+msgid "Enable ownership control over stock locations and items"
msgstr ""
#: common/models.py:882
-msgid "Number of recent stock items to display on index page"
+msgid "Group by Part"
msgstr ""
-#: common/models.py:887
-msgid "Show low stock"
+#: common/models.py:883
+msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:888
-msgid "Show low stock items on the homepage"
+#: common/models.py:889
+msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:893
-msgid "Show depleted stock"
+#: common/models.py:890
+msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:894
-msgid "Show depleted stock items on the homepage"
+#: common/models.py:895
+msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:899
-msgid "Show needed stock"
+#: common/models.py:896
+msgid "Regular expression pattern for matching build order reference"
msgstr ""
#: common/models.py:900
-msgid "Show stock items needed for builds on the homepage"
+msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:905
-msgid "Show expired stock"
+#: common/models.py:901
+msgid "Prefix value for sales order reference"
msgstr ""
#: common/models.py:906
-msgid "Show expired stock items on the homepage"
+msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:911
-msgid "Show stale stock"
+#: common/models.py:907
+msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:912
-msgid "Show stale stock items on the homepage"
+#: common/models.py:913
+msgid "Enable password forgot"
msgstr ""
-#: common/models.py:917
-msgid "Show pending builds"
+#: common/models.py:914
+msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:918
-msgid "Show pending builds on the homepage"
+#: common/models.py:919
+msgid "Enable registration"
msgstr ""
-#: common/models.py:923
-msgid "Show overdue builds"
+#: common/models.py:920
+msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:924
-msgid "Show overdue builds on the homepage"
+#: common/models.py:925
+msgid "Enable SSO"
msgstr ""
-#: common/models.py:929
-msgid "Show outstanding POs"
+#: common/models.py:926
+msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:930
-msgid "Show outstanding POs on the homepage"
+#: common/models.py:931
+msgid "Email required"
msgstr ""
-#: common/models.py:935
-msgid "Show overdue POs"
+#: common/models.py:932
+msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:936
-msgid "Show overdue POs on the homepage"
+#: common/models.py:937
+msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:941
-msgid "Show outstanding SOs"
+#: common/models.py:938
+msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:942
-msgid "Show outstanding SOs on the homepage"
+#: common/models.py:943
+msgid "Mail twice"
msgstr ""
-#: common/models.py:947
-msgid "Show overdue SOs"
+#: common/models.py:944
+msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:948
-msgid "Show overdue SOs on the homepage"
+#: common/models.py:949
+msgid "Password twice"
msgstr ""
-#: common/models.py:954
-msgid "Inline label display"
+#: common/models.py:950
+msgid "On signup ask users twice for their password"
msgstr ""
#: common/models.py:955
+msgid "Group on signup"
+msgstr ""
+
+#: common/models.py:956
+msgid "Group to which new users are assigned on registration"
+msgstr ""
+
+#: common/models.py:1001
+msgid "Show subscribed parts"
+msgstr ""
+
+#: common/models.py:1002
+msgid "Show subscribed parts on the homepage"
+msgstr ""
+
+#: common/models.py:1007
+msgid "Show subscribed categories"
+msgstr ""
+
+#: common/models.py:1008
+msgid "Show subscribed part categories on the homepage"
+msgstr ""
+
+#: common/models.py:1013
+msgid "Show latest parts"
+msgstr ""
+
+#: common/models.py:1014
+msgid "Show latest parts on the homepage"
+msgstr ""
+
+#: common/models.py:1019
+msgid "Recent Part Count"
+msgstr ""
+
+#: common/models.py:1020
+msgid "Number of recent parts to display on index page"
+msgstr ""
+
+#: common/models.py:1026
+msgid "Show unvalidated BOMs"
+msgstr ""
+
+#: common/models.py:1027
+msgid "Show BOMs that await validation on the homepage"
+msgstr ""
+
+#: common/models.py:1032
+msgid "Show recent stock changes"
+msgstr ""
+
+#: common/models.py:1033
+msgid "Show recently changed stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1038
+msgid "Recent Stock Count"
+msgstr ""
+
+#: common/models.py:1039
+msgid "Number of recent stock items to display on index page"
+msgstr ""
+
+#: common/models.py:1044
+msgid "Show low stock"
+msgstr ""
+
+#: common/models.py:1045
+msgid "Show low stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1050
+msgid "Show depleted stock"
+msgstr ""
+
+#: common/models.py:1051
+msgid "Show depleted stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1056
+msgid "Show needed stock"
+msgstr ""
+
+#: common/models.py:1057
+msgid "Show stock items needed for builds on the homepage"
+msgstr ""
+
+#: common/models.py:1062
+msgid "Show expired stock"
+msgstr ""
+
+#: common/models.py:1063
+msgid "Show expired stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1068
+msgid "Show stale stock"
+msgstr ""
+
+#: common/models.py:1069
+msgid "Show stale stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1074
+msgid "Show pending builds"
+msgstr ""
+
+#: common/models.py:1075
+msgid "Show pending builds on the homepage"
+msgstr ""
+
+#: common/models.py:1080
+msgid "Show overdue builds"
+msgstr ""
+
+#: common/models.py:1081
+msgid "Show overdue builds on the homepage"
+msgstr ""
+
+#: common/models.py:1086
+msgid "Show outstanding POs"
+msgstr ""
+
+#: common/models.py:1087
+msgid "Show outstanding POs on the homepage"
+msgstr ""
+
+#: common/models.py:1092
+msgid "Show overdue POs"
+msgstr ""
+
+#: common/models.py:1093
+msgid "Show overdue POs on the homepage"
+msgstr ""
+
+#: common/models.py:1098
+msgid "Show outstanding SOs"
+msgstr ""
+
+#: common/models.py:1099
+msgid "Show outstanding SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Show overdue SOs"
+msgstr ""
+
+#: common/models.py:1105
+msgid "Show overdue SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1111
+msgid "Inline label display"
+msgstr ""
+
+#: common/models.py:1112
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:961
+#: common/models.py:1118
msgid "Inline report display"
msgstr ""
-#: common/models.py:962
+#: common/models.py:1119
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:968
+#: common/models.py:1125
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:969
+#: common/models.py:1126
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:1026 company/forms.py:43
+#: common/models.py:1132
+msgid "Search Show Stock"
+msgstr ""
+
+#: common/models.py:1133
+msgid "Display stock levels in search preview window"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Hide Inactive Parts"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Hide inactive parts in search preview window"
+msgstr ""
+
+#: common/models.py:1146
+msgid "Show Quantity in Forms"
+msgstr ""
+
+#: common/models.py:1147
+msgid "Display available part quantity in some forms"
+msgstr ""
+
+#: common/models.py:1153
+msgid "Escape Key Closes Forms"
+msgstr ""
+
+#: common/models.py:1154
+msgid "Use the escape key to close modal forms"
+msgstr ""
+
+#: common/models.py:1160
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1161
+msgid "InvenTree navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1226 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1033 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1322
+#: common/models.py:1233 company/serializers.py:264
+#: company/templates/company/supplier_part.html:256
+#: templates/js/translated/part.js:1508
msgid "Price"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1234
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1127
-msgid "Default"
-msgstr ""
-
-#: common/templates/common/edit_setting.html:11
-msgid "Current value"
-msgstr ""
-
-#: common/views.py:33
-msgid "Change Setting"
-msgstr ""
-
-#: common/views.py:119
-msgid "Supplied value is not allowed"
-msgstr ""
-
-#: common/views.py:128
-msgid "Supplied value must be a boolean"
-msgstr ""
-
-#: common/views.py:138
-msgid "Change User Setting"
-msgstr ""
-
-#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42
-#: order/templates/order/po_navbar.html:19
-#: order/templates/order/po_navbar.html:22
-#: order/templates/order/purchase_order_detail.html:26 order/views.py:290
-#: part/templates/part/bom_upload/upload_file.html:65
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
-#: part/views.py:882
+#: common/views.py:93 order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:289
+#: part/templates/part/bom_upload/upload_file.html:51
+#: part/templates/part/import_wizard/part_upload.html:46 part/views.py:281
+#: part/views.py:923
msgid "Upload File"
msgstr ""
-#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
-#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52
+#: common/views.py:94 order/templates/order/order_wizard/match_fields.html:52
+#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
-#: part/views.py:883
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:282
+#: part/views.py:924
msgid "Match Fields"
msgstr ""
-#: common/views.py:215
+#: common/views.py:95
msgid "Match Items"
msgstr ""
-#: common/views.py:560
+#: common/views.py:440
msgid "Fields matching failed"
msgstr ""
-#: common/views.py:615
+#: common/views.py:495
msgid "Parts imported"
msgstr ""
-#: common/views.py:637 order/templates/order/order_wizard/match_fields.html:27
+#: common/views.py:517 order/templates/order/order_wizard/match_fields.html:27
#: order/templates/order/order_wizard/match_parts.html:19
-#: order/templates/order/order_wizard/po_upload.html:40
+#: order/templates/order/order_wizard/po_upload.html:46
#: part/templates/part/bom_upload/match_fields.html:27
#: part/templates/part/bom_upload/match_parts.html:19
-#: part/templates/part/bom_upload/upload_file.html:63
+#: part/templates/part/bom_upload/upload_file.html:49
#: part/templates/part/import_wizard/match_fields.html:27
#: part/templates/part/import_wizard/match_references.html:19
-#: part/templates/part/import_wizard/part_upload.html:43
+#: part/templates/part/import_wizard/part_upload.html:44
msgid "Previous Step"
msgstr ""
@@ -2247,292 +2187,289 @@ msgstr ""
msgid "Image URL"
msgstr ""
-#: company/models.py:104
+#: company/models.py:105
msgid "Company description"
msgstr ""
-#: company/models.py:105
+#: company/models.py:106
msgid "Description of the company"
msgstr ""
-#: company/models.py:111 company/templates/company/company_base.html:70
+#: company/models.py:112 company/templates/company/company_base.html:70
#: templates/js/translated/company.js:348
msgid "Website"
msgstr ""
-#: company/models.py:112
+#: company/models.py:113
msgid "Company website URL"
msgstr ""
-#: company/models.py:116 company/templates/company/company_base.html:88
+#: company/models.py:117 company/templates/company/company_base.html:88
msgid "Address"
msgstr ""
-#: company/models.py:117
+#: company/models.py:118
msgid "Company address"
msgstr ""
-#: company/models.py:120
+#: company/models.py:121
msgid "Phone number"
msgstr ""
-#: company/models.py:121
+#: company/models.py:122
msgid "Contact phone number"
msgstr ""
-#: company/models.py:124 company/templates/company/company_base.html:102
+#: company/models.py:125 company/templates/company/company_base.html:102
+#: templates/InvenTree/settings/user.html:46
msgid "Email"
msgstr ""
-#: company/models.py:124
+#: company/models.py:125
msgid "Contact email address"
msgstr ""
-#: company/models.py:127 company/templates/company/company_base.html:109
+#: company/models.py:128 company/templates/company/company_base.html:109
msgid "Contact"
msgstr ""
-#: company/models.py:128
+#: company/models.py:129
msgid "Point of contact"
msgstr ""
-#: company/models.py:130 company/models.py:347 company/models.py:563
-#: order/models.py:160 part/models.py:714
+#: company/models.py:131 company/models.py:348 company/models.py:564
+#: order/models.py:163 part/models.py:797
#: report/templates/report/inventree_build_order_base.html:165
-#: templates/js/translated/company.js:535
-#: templates/js/translated/company.js:823 templates/js/translated/part.js:972
+#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:825 templates/js/translated/part.js:984
msgid "Link"
msgstr ""
-#: company/models.py:130
+#: company/models.py:131
msgid "Link to external company information"
msgstr ""
-#: company/models.py:138 part/models.py:724
+#: company/models.py:139 part/models.py:807
msgid "Image"
msgstr ""
-#: company/models.py:143
+#: company/models.py:144
msgid "is customer"
msgstr ""
-#: company/models.py:143
+#: company/models.py:144
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:146
msgid "is supplier"
msgstr ""
-#: company/models.py:145
+#: company/models.py:146
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:147
+#: company/models.py:148
msgid "is manufacturer"
msgstr ""
-#: company/models.py:147
+#: company/models.py:148
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:151 company/serializers.py:264
-#: company/templates/company/company_base.html:76 stock/serializers.py:155
+#: company/models.py:152 company/serializers.py:270
+#: company/templates/company/company_base.html:76 stock/serializers.py:172
msgid "Currency"
msgstr ""
-#: company/models.py:154
+#: company/models.py:155
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:319 company/models.py:534 stock/models.py:454
-#: stock/templates/stock/item_base.html:237
+#: company/models.py:320 company/models.py:535 stock/models.py:484
+#: stock/templates/stock/item_base.html:224
msgid "Base Part"
msgstr ""
-#: company/models.py:323 company/models.py:538 order/views.py:1082
+#: company/models.py:324 company/models.py:539 order/views.py:912
msgid "Select part"
msgstr ""
-#: company/models.py:334 company/templates/company/company_base.html:116
-#: company/templates/company/manufacturer_part.html:89
-#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:241 stock/templates/stock/item_base.html:366
+#: company/models.py:335 company/templates/company/company_base.html:116
+#: company/templates/company/manufacturer_part.html:93
+#: company/templates/company/supplier_part.html:104
+#: stock/templates/stock/item_base.html:353
#: templates/js/translated/company.js:332
-#: templates/js/translated/company.js:512
-#: templates/js/translated/company.js:794 templates/js/translated/part.js:222
+#: templates/js/translated/company.js:513
+#: templates/js/translated/company.js:796 templates/js/translated/part.js:228
msgid "Manufacturer"
msgstr ""
-#: company/models.py:335 templates/js/translated/part.js:223
+#: company/models.py:336 templates/js/translated/part.js:229
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:341 company/templates/company/manufacturer_part.html:93
-#: company/templates/company/supplier_part.html:106 part/bom.py:171
-#: part/bom.py:242 templates/js/translated/company.js:528
-#: templates/js/translated/company.js:812 templates/js/translated/order.js:505
-#: templates/js/translated/part.js:233
+#: company/models.py:342 company/templates/company/manufacturer_part.html:97
+#: company/templates/company/supplier_part.html:112
+#: templates/js/translated/company.js:529
+#: templates/js/translated/company.js:814 templates/js/translated/order.js:852
+#: templates/js/translated/part.js:239
msgid "MPN"
msgstr ""
-#: company/models.py:342 templates/js/translated/part.js:234
+#: company/models.py:343 templates/js/translated/part.js:240
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:348
+#: company/models.py:349
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:354
+#: company/models.py:355
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:408 company/models.py:557
+#: company/models.py:409 company/models.py:558
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:376
+#: stock/templates/stock/item_base.html:363
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:415
+#: company/models.py:416
msgid "Parameter name"
msgstr ""
-#: company/models.py:421
-#: report/templates/report/inventree_test_report_base.html:90
-#: stock/models.py:1819 templates/InvenTree/settings/header.html:8
-#: templates/js/translated/company.js:642 templates/js/translated/part.js:612
-#: templates/js/translated/stock.js:576
+#: company/models.py:422
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:1867 templates/js/translated/company.js:643
+#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848
msgid "Value"
msgstr ""
-#: company/models.py:422
+#: company/models.py:423
msgid "Parameter value"
msgstr ""
-#: company/models.py:428 part/models.py:799 part/models.py:2220
-#: templates/js/translated/company.js:648 templates/js/translated/part.js:618
+#: company/models.py:429 part/models.py:882 part/models.py:2397
+#: part/templates/part/detail.html:59 templates/js/translated/company.js:649
+#: templates/js/translated/part.js:650
msgid "Units"
msgstr ""
-#: company/models.py:429
+#: company/models.py:430
msgid "Parameter units"
msgstr ""
-#: company/models.py:501
+#: company/models.py:502
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:544 company/templates/company/company_base.html:121
-#: company/templates/company/supplier_part.html:88 order/models.py:260
-#: order/templates/order/order_base.html:92
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:286 stock/templates/stock/item_base.html:383
+#: company/models.py:545 company/templates/company/company_base.html:121
+#: company/templates/company/supplier_part.html:94 order/models.py:263
+#: order/templates/order/order_base.html:108
+#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219
+#: part/bom.py:247 stock/templates/stock/item_base.html:370
#: templates/js/translated/company.js:336
-#: templates/js/translated/company.js:768 templates/js/translated/order.js:328
-#: templates/js/translated/part.js:203
+#: templates/js/translated/company.js:770 templates/js/translated/order.js:660
+#: templates/js/translated/part.js:209
msgid "Supplier"
msgstr ""
-#: company/models.py:545 templates/js/translated/part.js:204
+#: company/models.py:546 templates/js/translated/part.js:210
msgid "Select supplier"
msgstr ""
-#: company/models.py:550 company/templates/company/supplier_part.html:92
-#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492
-#: templates/js/translated/part.js:214
+#: company/models.py:551 company/templates/company/supplier_part.html:98
+#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:839
+#: templates/js/translated/part.js:220
msgid "SKU"
msgstr ""
-#: company/models.py:551 templates/js/translated/part.js:215
+#: company/models.py:552 templates/js/translated/part.js:221
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:558
+#: company/models.py:559
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:564
+#: company/models.py:565
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:570
+#: company/models.py:571
msgid "Supplier part description"
msgstr ""
-#: company/models.py:575 company/templates/company/supplier_part.html:120
-#: part/models.py:2368 report/templates/report/inventree_po_report.html:93
+#: company/models.py:576 company/templates/company/supplier_part.html:126
+#: part/models.py:2588 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
-#: company/models.py:579 part/models.py:1599
+#: company/models.py:580 part/models.py:1748
msgid "base cost"
msgstr ""
-#: company/models.py:579 part/models.py:1599
+#: company/models.py:580 part/models.py:1748
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:581 company/templates/company/supplier_part.html:113
-#: stock/models.py:478 stock/templates/stock/item_base.html:324
-#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057
+#: company/models.py:582 company/templates/company/supplier_part.html:119
+#: stock/models.py:507 stock/templates/stock/item_base.html:311
+#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336
msgid "Packaging"
msgstr ""
-#: company/models.py:581
+#: company/models.py:582
msgid "Part packaging"
msgstr ""
-#: company/models.py:583 part/models.py:1601
+#: company/models.py:584 part/models.py:1750
msgid "multiple"
msgstr ""
-#: company/models.py:583
+#: company/models.py:584
msgid "Order multiple"
msgstr ""
-#: company/serializers.py:68
+#: company/serializers.py:70
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:69
+#: company/serializers.py:71
msgid "Currency Code"
msgstr ""
-#: company/templates/company/company_base.html:9
-#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321
+#: company/templates/company/company_base.html:8
+#: company/templates/company/company_base.html:12
+#: templates/InvenTree/search.html:182 templates/js/translated/company.js:321
msgid "Company"
msgstr ""
-#: company/templates/company/company_base.html:25
-#: part/templates/part/part_thumb.html:21
-msgid "Upload new image"
-msgstr ""
-
-#: company/templates/company/company_base.html:27
-#: part/templates/part/part_thumb.html:23
-msgid "Download image from URL"
-msgstr ""
-
-#: company/templates/company/company_base.html:46
-#: templates/js/translated/order.js:117
+#: company/templates/company/company_base.html:22
+#: templates/js/translated/order.js:121
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:51
+#: company/templates/company/company_base.html:27
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:56
-#: company/templates/company/company_base.html:153
+#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:148
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:64
-msgid "Company Details"
+#: company/templates/company/company_base.html:48
+#: part/templates/part/part_thumb.html:12
+msgid "Upload new image"
+msgstr ""
+
+#: company/templates/company/company_base.html:51
+#: part/templates/part/part_thumb.html:14
+msgid "Download image from URL"
msgstr ""
#: company/templates/company/company_base.html:81
@@ -2543,145 +2480,133 @@ msgstr ""
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:126 order/models.py:550
-#: order/templates/order/sales_order_base.html:94 stock/models.py:496
-#: stock/models.py:497 stock/templates/stock/item_base.html:276
-#: templates/js/translated/company.js:328 templates/js/translated/order.js:692
-#: templates/js/translated/stock.js:1608
+#: company/templates/company/company_base.html:126 order/models.py:567
+#: order/templates/order/sales_order_base.html:114 stock/models.py:525
+#: stock/models.py:526 stock/templates/stock/item_base.html:263
+#: templates/js/translated/company.js:328 templates/js/translated/order.js:1051
+#: templates/js/translated/stock.js:1972
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:193
-#: part/templates/part/part_base.html:418
+#: company/templates/company/company_base.html:194
+#: part/templates/part/part_base.html:342
msgid "Upload Image"
msgstr ""
-#: company/templates/company/detail.html:14
-#: company/templates/company/manufacturer_part_navbar.html:18
-#: templates/InvenTree/search.html:164
+#: company/templates/company/detail.html:15 templates/InvenTree/search.html:124
msgid "Supplier Parts"
msgstr ""
-#: company/templates/company/detail.html:22
+#: company/templates/company/detail.html:19
#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr ""
-#: company/templates/company/detail.html:23
-#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289
+#: company/templates/company/detail.html:20
+#: company/templates/company/manufacturer_part.html:112
+#: part/templates/part/detail.html:466
msgid "New Supplier Part"
msgstr ""
-#: company/templates/company/detail.html:27
-#: company/templates/company/detail.html:67
-#: company/templates/company/manufacturer_part.html:112
-#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/category.html:135 part/templates/part/detail.html:292
-#: part/templates/part/detail.html:315
+#: company/templates/company/detail.html:32
+#: company/templates/company/detail.html:79
+#: company/templates/company/manufacturer_part.html:121
+#: company/templates/company/manufacturer_part.html:150
+#: part/templates/part/category.html:160 part/templates/part/detail.html:475
+#: part/templates/part/detail.html:503
msgid "Options"
msgstr ""
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72
-#: part/templates/part/category.html:140
+#: company/templates/company/detail.html:37
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:166
msgid "Order parts"
msgstr ""
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:42
+#: company/templates/company/detail.html:89
msgid "Delete parts"
msgstr ""
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:43
+#: company/templates/company/detail.html:90
msgid "Delete Parts"
msgstr ""
-#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149
+#: company/templates/company/detail.html:62 templates/InvenTree/search.html:109
msgid "Manufacturer Parts"
msgstr ""
-#: company/templates/company/detail.html:62
+#: company/templates/company/detail.html:66
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:63 part/templates/part/detail.html:312
+#: company/templates/company/detail.html:67 part/templates/part/detail.html:493
msgid "New Manufacturer Part"
msgstr ""
-#: company/templates/company/detail.html:93
+#: company/templates/company/detail.html:107
msgid "Supplier Stock"
msgstr ""
-#: company/templates/company/detail.html:102
-#: company/templates/company/navbar.html:46
-#: company/templates/company/navbar.html:49
+#: company/templates/company/detail.html:117
+#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
-#: order/templates/order/purchase_orders.html:13
-#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82
-#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260
-#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/navbar.html:107
-#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44
+#: order/templates/order/purchase_orders.html:12
+#: part/templates/part/detail.html:171 templates/InvenTree/index.html:252
+#: templates/InvenTree/search.html:203 templates/navbar.html:45
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
-#: company/templates/company/detail.html:108
-#: order/templates/order/purchase_orders.html:20
+#: company/templates/company/detail.html:121
+#: order/templates/order/purchase_orders.html:17
msgid "Create new purchase order"
msgstr ""
-#: company/templates/company/detail.html:109
-#: order/templates/order/purchase_orders.html:21
+#: company/templates/company/detail.html:122
+#: order/templates/order/purchase_orders.html:18
msgid "New Purchase Order"
msgstr ""
-#: company/templates/company/detail.html:124
-#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58
+#: company/templates/company/detail.html:143
+#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
-#: order/templates/order/sales_orders.html:13
-#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91
-#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291
-#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/navbar.html:113
-#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55
+#: order/templates/order/sales_orders.html:15
+#: part/templates/part/detail.html:194 templates/InvenTree/index.html:283
+#: templates/InvenTree/search.html:223 templates/navbar.html:56
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
-#: company/templates/company/detail.html:130
+#: company/templates/company/detail.html:147
#: order/templates/order/sales_orders.html:20
msgid "Create new sales order"
msgstr ""
-#: company/templates/company/detail.html:131
+#: company/templates/company/detail.html:148
#: order/templates/order/sales_orders.html:21
msgid "New Sales Order"
msgstr ""
-#: company/templates/company/detail.html:147
-#: company/templates/company/navbar.html:61
-#: company/templates/company/navbar.html:64
-#: templates/js/translated/build.js:620
+#: company/templates/company/detail.html:168
+#: templates/js/translated/build.js:999
msgid "Assigned Stock"
msgstr ""
-#: company/templates/company/detail.html:165
+#: company/templates/company/detail.html:184
msgid "Company Notes"
msgstr ""
-#: company/templates/company/detail.html:364
-#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:357
+#: company/templates/company/detail.html:383
+#: company/templates/company/manufacturer_part.html:209
+#: part/templates/part/detail.html:546
msgid "Delete Supplier Parts?"
msgstr ""
-#: company/templates/company/detail.html:365
-#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:358
+#: company/templates/company/detail.html:384
+#: company/templates/company/manufacturer_part.html:210
+#: part/templates/part/detail.html:547
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2689,205 +2614,172 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:40
-#: company/templates/company/supplier_part.html:40
-#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116
+#: company/templates/company/manufacturer_part.html:14 company/views.py:55
+#: part/templates/part/prices.html:167 templates/InvenTree/search.html:184
+#: templates/navbar.html:44
+msgid "Manufacturers"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:35
+#: company/templates/company/supplier_part.html:34
+#: company/templates/company/supplier_part.html:159
+#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
-#: templates/js/translated/company.js:560
+#: company/templates/company/manufacturer_part.html:40
+#: templates/js/translated/company.js:561
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:49
-#: templates/js/translated/company.js:561
+#: company/templates/company/manufacturer_part.html:44
+#: templates/js/translated/company.js:562
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:61
-msgid "Manufacturer Part Details"
-msgstr ""
-
-#: company/templates/company/manufacturer_part.html:66
-#: company/templates/company/supplier_part.html:65
+#: company/templates/company/manufacturer_part.html:70
+#: company/templates/company/supplier_part.html:71
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/manufacturer_part_navbar.html:21
-#: company/views.py:49 part/templates/part/navbar.html:75
-#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163
-#: templates/InvenTree/search.html:316 templates/navbar.html:41
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: part/templates/part/prices.html:163 templates/InvenTree/search.html:194
+#: templates/navbar.html:43
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: part/templates/part/detail.html:294
+#: company/templates/company/manufacturer_part.html:123
+#: part/templates/part/detail.html:477
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: company/templates/company/manufacturer_part.html:138
-#: company/templates/company/manufacturer_part.html:239
-#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/translated/company.js:424
-#: templates/js/translated/helpers.js:31 users/models.py:194
+#: company/templates/company/manufacturer_part.html:123
+#: company/templates/company/manufacturer_part.html:152
+#: company/templates/company/manufacturer_part.html:248
+#: part/templates/part/detail.html:351 part/templates/part/detail.html:477
+#: part/templates/part/detail.html:505 templates/js/translated/company.js:424
+#: templates/js/translated/helpers.js:31 users/models.py:204
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:127
-#: company/templates/company/manufacturer_part_navbar.html:11
-#: company/templates/company/manufacturer_part_navbar.html:14
-#: part/templates/part/category_navbar.html:38
-#: part/templates/part/category_navbar.html:41
-#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20
-#: part/templates/part/navbar.html:23
+#: company/templates/company/manufacturer_part.html:137
+#: part/templates/part/detail.html:277
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:133
-#: part/templates/part/detail.html:162
-#: templates/InvenTree/settings/category.html:26
-#: templates/InvenTree/settings/part.html:63
+#: company/templates/company/manufacturer_part.html:141
+#: part/templates/part/detail.html:282
+#: templates/InvenTree/settings/category.html:12
+#: templates/InvenTree/settings/part.html:65
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:138
+#: company/templates/company/manufacturer_part.html:152
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:834
+#: company/templates/company/manufacturer_part.html:185
+#: part/templates/part/detail.html:983
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:224
+#: company/templates/company/manufacturer_part.html:233
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:236
+#: company/templates/company/manufacturer_part.html:245
msgid "Delete Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part_navbar.html:26
-msgid "Manufacturer Part Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:29
-#: company/templates/company/navbar.html:39
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/navbar.html:38 stock/api.py:54
-#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196
-#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97
-#: templates/js/translated/part.js:529 templates/js/translated/part.js:758
-#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202
-#: templates/js/translated/stock.js:850 templates/navbar.html:32
-msgid "Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:33
-msgid "Manufacturer Part Orders"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:36
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr ""
-
-#: company/templates/company/navbar.html:17
-#: company/templates/company/navbar.html:20
-msgid "Manufactured Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:26
-#: company/templates/company/navbar.html:29
-msgid "Supplied Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35
-#: stock/templates/stock/location.html:119
-#: stock/templates/stock/location.html:134
-#: stock/templates/stock/location.html:148
-#: stock/templates/stock/location_navbar.html:18
-#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507
-#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
-msgid "Stock Items"
-msgstr ""
-
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:463
-#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014
+#: company/templates/company/supplier_part.html:24 stock/models.py:492
+#: stock/templates/stock/item_base.html:375
+#: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44
-#: templates/js/translated/company.js:857
+#: company/templates/company/supplier_part.html:38
+#: templates/js/translated/company.js:859
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48
-#: templates/js/translated/company.js:858
+#: company/templates/company/supplier_part.html:42
+#: templates/js/translated/company.js:860
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:60
-msgid "Supplier Part Details"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:131
+#: company/templates/company/supplier_part.html:138
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:140
+#: company/templates/company/supplier_part.html:141
+#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147
+msgid "Create new stock item"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:142
+#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148
+#: templates/js/translated/stock.js:324
+msgid "New Stock Item"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:155
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:147
-#: part/templates/part/detail.html:56
+#: company/templates/company/supplier_part.html:160
+#: part/templates/part/detail.html:175
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:158
-#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7
+#: company/templates/company/supplier_part.html:179
+#: part/templates/part/prices.html:7
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:164
-#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:271 part/views.py:1730
+#: company/templates/company/supplier_part.html:184
+#: company/templates/company/supplier_part.html:290
+#: part/templates/part/prices.html:271 part/views.py:1782
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:185
+#: company/templates/company/supplier_part.html:210
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:1792
+#: company/templates/company/supplier_part.html:224 part/views.py:1844
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:1778
+#: company/templates/company/supplier_part.html:238 part/views.py:1830
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
+#: company/templates/company/supplier_part.html:263
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:239
+#: company/templates/company/supplier_part.html:264
msgid "Delete price break"
msgstr ""
+#: company/templates/company/supplier_part_navbar.html:15
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426
+#: templates/js/translated/part.js:561 templates/js/translated/part.js:786
+#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479
+#: templates/js/translated/stock.js:1132 templates/navbar.html:26
+msgid "Stock"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:22
+msgid "Orders"
+msgstr ""
+
#: company/templates/company/supplier_part_navbar.html:26
msgid "Supplier Part Pricing"
msgstr ""
@@ -2900,17 +2792,12 @@ msgstr ""
msgid "New Supplier"
msgstr ""
-#: company/views.py:55 part/templates/part/prices.html:167
-#: templates/InvenTree/search.html:306 templates/navbar.html:42
-msgid "Manufacturers"
-msgstr ""
-
#: company/views.py:56
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:336
-#: templates/navbar.html:53
+#: company/views.py:61 templates/InvenTree/search.html:214
+#: templates/navbar.html:55
msgid "Customers"
msgstr ""
@@ -2926,24 +2813,24 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:608
+#: company/views.py:129 part/views.py:649
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:640
+#: company/views.py:158 part/views.py:681
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:647
+#: company/views.py:165 part/views.py:688
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:656
+#: company/views.py:174 part/views.py:697
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:57 report/api.py:201
+#: label/api.py:57 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -2955,7 +2842,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:167
+#: label/models.py:127
msgid "Label"
msgstr ""
@@ -3000,7 +2887,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:259 label/models.py:319 label/models.py:366
-#: report/models.py:322 report/models.py:457 report/models.py:495
+#: report/models.py:322 report/models.py:459 report/models.py:497
msgid "Filters"
msgstr ""
@@ -3012,349 +2899,330 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:302
-msgid "Destination location must be specified"
-msgstr ""
-
-#: order/forms.py:30 order/templates/order/order_base.html:47
+#: order/forms.py:26 order/templates/order/order_base.html:52
msgid "Place order"
msgstr ""
-#: order/forms.py:41 order/templates/order/order_base.html:54
+#: order/forms.py:37 order/templates/order/order_base.html:59
msgid "Mark order as complete"
msgstr ""
-#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59
-#: order/templates/order/sales_order_base.html:61
+#: order/forms.py:48 order/forms.py:59 order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
msgid "Cancel order"
msgstr ""
-#: order/forms.py:74 order/templates/order/sales_order_base.html:58
+#: order/forms.py:70
msgid "Ship order"
msgstr ""
-#: order/forms.py:89
-msgid "Set all received parts listed above to this location (if left blank, use \"Destination\" column value in above table)"
-msgstr ""
-
-#: order/forms.py:116
+#: order/forms.py:98
msgid "Enter stock item serial numbers"
msgstr ""
-#: order/forms.py:122
+#: order/forms.py:104
msgid "Enter quantity of stock items"
msgstr ""
-#: order/models.py:158
+#: order/models.py:161
msgid "Order description"
msgstr ""
-#: order/models.py:160
+#: order/models.py:163
msgid "Link to external page"
msgstr ""
-#: order/models.py:168
+#: order/models.py:171
msgid "Created By"
msgstr ""
-#: order/models.py:175
+#: order/models.py:178
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:180
+#: order/models.py:183
msgid "Order notes"
msgstr ""
-#: order/models.py:247 order/models.py:540
+#: order/models.py:250 order/models.py:557
msgid "Order reference"
msgstr ""
-#: order/models.py:252 order/models.py:555
+#: order/models.py:255 order/models.py:572
msgid "Purchase order status"
msgstr ""
-#: order/models.py:261
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/translated/order.js:337
+#: order/models.py:267 order/templates/order/order_base.html:114
+#: templates/js/translated/order.js:669
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:264
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:271
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:276
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:277
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:282
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:283
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:289
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:313 stock/models.py:351 stock/models.py:1072
-msgid "Quantity must be greater than zero"
-msgstr ""
-
-#: order/models.py:318
+#: order/models.py:321
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:421
-msgid "Lines can only be received against an order marked as 'Placed'"
-msgstr ""
-
-#: order/models.py:425
+#: order/models.py:431
msgid "Quantity must be an integer"
msgstr ""
-#: order/models.py:427
+#: order/models.py:435
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:551
+#: order/models.py:568
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:557
+#: order/models.py:574
msgid "Customer Reference "
msgstr ""
-#: order/models.py:557
+#: order/models.py:574
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:562
+#: order/models.py:579
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:565 templates/js/translated/order.js:733
+#: order/models.py:582 templates/js/translated/order.js:1092
msgid "Shipment Date"
msgstr ""
-#: order/models.py:572
+#: order/models.py:589
msgid "shipped by"
msgstr ""
-#: order/models.py:616
+#: order/models.py:633
msgid "SalesOrder cannot be shipped as it is not currently pending"
msgstr ""
-#: order/models.py:713
+#: order/models.py:730
msgid "Item quantity"
msgstr ""
-#: order/models.py:719
+#: order/models.py:736
msgid "Line item reference"
msgstr ""
-#: order/models.py:721
+#: order/models.py:738
msgid "Line item notes"
msgstr ""
-#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785
+#: order/models.py:768 order/models.py:856
+#: templates/js/translated/order.js:1144
msgid "Order"
msgstr ""
-#: order/models.py:752 order/templates/order/order_base.html:9
-#: order/templates/order/order_base.html:24
+#: order/models.py:769 order/templates/order/order_base.html:9
+#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:338
-#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991
-#: templates/js/translated/stock.js:1589
+#: stock/templates/stock/item_base.html:325
+#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1270
+#: templates/js/translated/stock.js:1953
msgid "Purchase Order"
msgstr ""
-#: order/models.py:773
+#: order/models.py:790
msgid "Supplier part"
msgstr ""
-#: order/models.py:780 order/templates/order/order_base.html:131
-#: order/templates/order/receive_parts.html:22
-#: order/templates/order/sales_order_base.html:133
-#: templates/js/translated/order.js:573
+#: order/models.py:797 order/templates/order/order_base.html:147
+#: order/templates/order/sales_order_base.html:154
+#: templates/js/translated/order.js:429 templates/js/translated/order.js:932
msgid "Received"
msgstr ""
-#: order/models.py:781
+#: order/models.py:798
msgid "Number of items received"
msgstr ""
-#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588
-#: stock/serializers.py:147 stock/templates/stock/item_base.html:345
-#: templates/js/translated/stock.js:1045
+#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619
+#: stock/serializers.py:163 stock/templates/stock/item_base.html:332
+#: templates/js/translated/stock.js:1324
msgid "Purchase Price"
msgstr ""
-#: order/models.py:789
+#: order/models.py:806
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:797
+#: order/models.py:814
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:843 part/templates/part/part_pricing.html:112
+#: order/models.py:866 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:116 part/templates/part/prices.html:284
msgid "Sale Price"
msgstr ""
-#: order/models.py:844
+#: order/models.py:867
msgid "Unit sale price"
msgstr ""
-#: order/models.py:923 order/models.py:925
+#: order/models.py:946 order/models.py:948
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:929
+#: order/models.py:952
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:931
+#: order/models.py:954
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:934
+#: order/models.py:957
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:944
+#: order/models.py:961
+msgid "StockItem is over-allocated"
+msgstr ""
+
+#: order/models.py:967
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:949
+#: order/models.py:975
msgid "Line"
msgstr ""
-#: order/models.py:960
+#: order/models.py:987
msgid "Item"
msgstr ""
-#: order/models.py:961
+#: order/models.py:988
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:964
+#: order/models.py:991
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:166
+#: order/serializers.py:167
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:201
+#: order/serializers.py:202
msgid "Line Item"
msgstr ""
-#: order/serializers.py:207
+#: order/serializers.py:208
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:217 order/serializers.py:276
+#: order/serializers.py:218 order/serializers.py:286
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:234
+#: order/serializers.py:242
msgid "Barcode Hash"
msgstr ""
-#: order/serializers.py:235
+#: order/serializers.py:243
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:250
+#: order/serializers.py:260
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:289
+#: order/serializers.py:298
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:299
+#: order/serializers.py:315
+msgid "Destination location must be specified"
+msgstr ""
+
+#: order/serializers.py:326
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:514
+#: order/serializers.py:568
msgid "Sale price currency"
msgstr ""
#: order/templates/order/delete_attachment.html:5
#: stock/templates/stock/attachment_delete.html:5
-#: templates/attachment_delete.html:5
msgid "Are you sure you want to delete this attachment?"
msgstr ""
-#: order/templates/order/order_base.html:39
-#: order/templates/order/sales_order_base.html:50
-msgid "Print"
+#: order/templates/order/order_base.html:33
+msgid "Print purchase order report"
msgstr ""
-#: order/templates/order/order_base.html:43
-#: order/templates/order/sales_order_base.html:54
-msgid "Edit order information"
-msgstr ""
-
-#: order/templates/order/order_base.html:51
-msgid "Receive items"
-msgstr ""
-
-#: order/templates/order/order_base.html:64
+#: order/templates/order/order_base.html:35
+#: order/templates/order/sales_order_base.html:45
msgid "Export order to file"
msgstr ""
-#: order/templates/order/order_base.html:72
-#: order/templates/order/po_navbar.html:12
-msgid "Purchase Order Details"
+#: order/templates/order/order_base.html:41
+#: order/templates/order/sales_order_base.html:54
+msgid "Order actions"
msgstr ""
-#: order/templates/order/order_base.html:77
-#: order/templates/order/sales_order_base.html:79
+#: order/templates/order/order_base.html:45
+#: order/templates/order/sales_order_base.html:58
+msgid "Edit order"
+msgstr ""
+
+#: order/templates/order/order_base.html:56
+msgid "Receive items"
+msgstr ""
+
+#: order/templates/order/order_base.html:93
+#: order/templates/order/sales_order_base.html:98
msgid "Order Reference"
msgstr ""
-#: order/templates/order/order_base.html:82
-#: order/templates/order/sales_order_base.html:84
+#: order/templates/order/order_base.html:98
+#: order/templates/order/sales_order_base.html:103
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:117
+#: order/templates/order/order_base.html:133
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:185
+#: order/templates/order/order_base.html:203
msgid "Edit Purchase Order"
msgstr ""
-#: order/templates/order/order_base.html:196
-#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437
-msgid "New Location"
-msgstr ""
-
-#: order/templates/order/order_base.html:197
-#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438
-msgid "Create new stock location"
-msgstr ""
-
#: order/templates/order/order_cancel.html:8
msgid "Cancelling this order means that the order and line items will no longer be editable."
msgstr ""
@@ -3427,6 +3295,8 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
+#: templates/js/translated/build.js:240 templates/js/translated/build.js:1251
+#: templates/js/translated/order.js:377
msgid "Remove row"
msgstr ""
@@ -3448,19 +3318,19 @@ msgstr ""
msgid "Select Supplier Part"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:11
+#: order/templates/order/order_wizard/po_upload.html:16
msgid "Upload File for Purchase Order"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:18
-#: part/templates/part/bom_upload/upload_file.html:34
+#: order/templates/order/order_wizard/po_upload.html:24
+#: part/templates/part/bom_upload/upload_file.html:20
#: part/templates/part/import_wizard/ajax_part_upload.html:10
-#: part/templates/part/import_wizard/part_upload.html:21
+#: part/templates/part/import_wizard/part_upload.html:22
#, python-format
msgid "Step %(step)s of %(count)s"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/order_wizard/po_upload.html:54
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
@@ -3503,7 +3373,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:363 templates/js/translated/order.js:738
+#: templates/js/translated/order.js:695 templates/js/translated/order.js:1097
msgid "Items"
msgstr ""
@@ -3521,104 +3391,62 @@ msgstr ""
msgid "Select a purchase order for %(name)s"
msgstr ""
-#: order/templates/order/po_attachments.html:12
-#: order/templates/order/po_navbar.html:32
-#: order/templates/order/purchase_order_detail.html:47
-msgid "Purchase Order Attachments"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:26
-msgid "Received Stock Items"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:29
-#: order/templates/order/po_received_items.html:12
-#: order/templates/order/purchase_order_detail.html:38
-msgid "Received Items"
-msgstr ""
-
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:23
-#: order/templates/order/purchase_order_detail.html:203
+#: order/templates/order/purchase_order_detail.html:27
+#: order/templates/order/purchase_order_detail.html:216
#: order/templates/order/sales_order_detail.html:23
-#: order/templates/order/sales_order_detail.html:177
+#: order/templates/order/sales_order_detail.html:191
msgid "Add Line Item"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:58
-#: order/templates/order/sales_order_detail.html:54
+#: order/templates/order/purchase_order_detail.html:30
+msgid "Receive selected items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:31
+msgid "Receive Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:50
+msgid "Received Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:76
+#: order/templates/order/sales_order_detail.html:68
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_orders.html:24
-#: order/templates/order/sales_orders.html:24
+#: order/templates/order/purchase_orders.html:30
+#: order/templates/order/sales_orders.html:33
msgid "Print Order Reports"
msgstr ""
-#: order/templates/order/receive_parts.html:8
-#, python-format
-msgid "Receive outstanding parts for %(order)s - %(desc)s"
+#: order/templates/order/sales_order_base.html:43
+msgid "Print sales order report"
msgstr ""
-#: order/templates/order/receive_parts.html:14 part/api.py:54
-#: part/models.py:298 part/templates/part/cat_link.html:7
-#: part/templates/part/category.html:108 part/templates/part/category.html:122
-#: part/templates/part/category_navbar.html:21
-#: part/templates/part/category_navbar.html:24
-#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85
-#: templates/js/translated/part.js:1154 templates/navbar.html:29
-#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
-msgid "Parts"
-msgstr ""
-
-#: order/templates/order/receive_parts.html:15
-msgid "Fill out number of parts received, the status and destination"
-msgstr ""
-
-#: order/templates/order/receive_parts.html:20
-msgid "Order Code"
-msgstr ""
-
-#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949
-msgid "On Order"
-msgstr ""
-
-#: order/templates/order/receive_parts.html:23
-msgid "Receive"
-msgstr ""
-
-#: order/templates/order/receive_parts.html:37
-msgid "Error: Referenced part has been removed"
-msgstr ""
-
-#: order/templates/order/receive_parts.html:68
-msgid "Remove line"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:16
-msgid "This Sales Order has not been fully allocated"
+#: order/templates/order/sales_order_base.html:47
+msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:66
-msgid "Packing List"
+#: order/templates/order/sales_order_base.html:67 order/views.py:222
+msgid "Ship Order"
msgstr ""
-#: order/templates/order/sales_order_base.html:74
-msgid "Sales Order Details"
+#: order/templates/order/sales_order_base.html:86
+msgid "This Sales Order has not been fully allocated"
msgstr ""
-#: order/templates/order/sales_order_base.html:100
-#: templates/js/translated/order.js:705
+#: order/templates/order/sales_order_base.html:121
+#: templates/js/translated/order.js:1064
msgid "Customer Reference"
msgstr ""
-#: order/templates/order/sales_order_base.html:178
+#: order/templates/order/sales_order_base.html:194
msgid "Edit Sales Order"
msgstr ""
@@ -3633,109 +3461,10 @@ msgstr ""
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:226
-#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782
-#: templates/js/translated/build.js:1219
-msgid "Actions"
-msgstr ""
-
-#: order/templates/order/sales_order_detail.html:233
-#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030
-msgid "Edit stock allocation"
-msgstr ""
-
-#: order/templates/order/sales_order_detail.html:234
-#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031
-msgid "Delete stock allocation"
-msgstr ""
-
-#: order/templates/order/sales_order_detail.html:307
-msgid "No matching line items"
-msgstr ""
-
-#: order/templates/order/sales_order_detail.html:337
-msgid "ID"
-msgstr ""
-
-#: order/templates/order/sales_order_detail.html:354
-#: templates/js/translated/order.js:481
-msgid "Total"
-msgstr ""
-
-#: order/templates/order/sales_order_detail.html:377
-#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296
-#: templates/js/translated/part.js:1507
-msgid "Unit Price"
-msgstr ""
-
-#: order/templates/order/sales_order_detail.html:384
-#: templates/js/translated/order.js:543
-msgid "Total price"
-msgstr ""
-
-#: order/templates/order/sales_order_detail.html:405
-#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026
-msgid "Allocated"
-msgstr ""
-
-#: order/templates/order/sales_order_detail.html:407
-msgid "Fulfilled"
-msgstr ""
-
-#: order/templates/order/sales_order_detail.html:444
-msgid "PO"
-msgstr ""
-
-#: order/templates/order/sales_order_detail.html:474
-msgid "Allocate serial numbers"
-msgstr ""
-
-#: order/templates/order/sales_order_detail.html:477
-#: templates/js/translated/build.js:796
-msgid "Allocate stock"
-msgstr ""
-
-#: order/templates/order/sales_order_detail.html:480
-msgid "Purchase stock"
-msgstr ""
-
-#: order/templates/order/sales_order_detail.html:484
-#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227
-msgid "Build stock"
-msgstr ""
-
-#: order/templates/order/sales_order_detail.html:487
-#: order/templates/order/sales_order_detail.html:606
-msgid "Calculate price"
-msgstr ""
-
-#: order/templates/order/sales_order_detail.html:490
-#: templates/js/translated/order.js:616
-msgid "Edit line item"
-msgstr ""
-
-#: order/templates/order/sales_order_detail.html:491
-msgid "Delete line item "
-msgstr ""
-
-#: order/templates/order/sales_order_detail.html:519
-#: templates/js/translated/order.js:403
-msgid "Edit Line Item"
-msgstr ""
-
-#: order/templates/order/sales_order_detail.html:529
-#: templates/js/translated/order.js:415
-msgid "Delete Line Item"
-msgstr ""
-
-#: order/templates/order/sales_order_detail.html:612
-msgid "Update Unit Price"
-msgstr ""
-
#: order/templates/order/sales_order_ship.html:10
msgid "This order has not been fully allocated. If the order is marked as shipped, it can no longer be adjusted."
msgstr ""
@@ -3760,187 +3489,135 @@ msgstr ""
msgid "Allocate stock items by serial number"
msgstr ""
-#: order/templates/order/so_allocation_delete.html:7
-msgid "This action will unallocate the following stock from the Sales Order"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:12
-msgid "Sales Order Line Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:15
-msgid "Order Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:26
-msgid "Sales Order Attachments"
-msgstr ""
-
-#: order/views.py:104
+#: order/views.py:103
msgid "Cancel Order"
msgstr ""
-#: order/views.py:113 order/views.py:139
+#: order/views.py:112 order/views.py:138
msgid "Confirm order cancellation"
msgstr ""
-#: order/views.py:116 order/views.py:142
+#: order/views.py:115 order/views.py:141
msgid "Order cannot be cancelled"
msgstr ""
-#: order/views.py:130
+#: order/views.py:129
msgid "Cancel sales order"
msgstr ""
-#: order/views.py:156
+#: order/views.py:155
msgid "Issue Order"
msgstr ""
-#: order/views.py:165
+#: order/views.py:164
msgid "Confirm order placement"
msgstr ""
-#: order/views.py:175
+#: order/views.py:174
msgid "Purchase order issued"
msgstr ""
-#: order/views.py:186
+#: order/views.py:185
msgid "Complete Order"
msgstr ""
-#: order/views.py:202
+#: order/views.py:201
msgid "Confirm order completion"
msgstr ""
-#: order/views.py:213
+#: order/views.py:212
msgid "Purchase order completed"
msgstr ""
-#: order/views.py:223
-msgid "Ship Order"
-msgstr ""
-
-#: order/views.py:239
+#: order/views.py:238
msgid "Confirm order shipment"
msgstr ""
-#: order/views.py:245
+#: order/views.py:244
msgid "Could not ship order"
msgstr ""
-#: order/views.py:292
+#: order/views.py:291
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:480
-msgid "Receive Parts"
-msgstr ""
-
-#: order/views.py:552
-msgid "Items received"
-msgstr ""
-
-#: order/views.py:620
-msgid "Error converting quantity to number"
-msgstr ""
-
-#: order/views.py:626
-msgid "Receive quantity less than zero"
-msgstr ""
-
-#: order/views.py:632
-msgid "No lines specified"
-msgstr ""
-
-#: order/views.py:705
+#: order/views.py:535
msgid "Update prices"
msgstr ""
-#: order/views.py:963
+#: order/views.py:793
#, python-brace-format
msgid "Ordered {n} parts"
msgstr ""
-#: order/views.py:1016
+#: order/views.py:846
msgid "Allocate Serial Numbers"
msgstr ""
-#: order/views.py:1061
+#: order/views.py:891
#, python-brace-format
msgid "Allocated {n} items"
msgstr ""
-#: order/views.py:1077
+#: order/views.py:907
msgid "Select line item"
msgstr ""
-#: order/views.py:1108
+#: order/views.py:938
#, python-brace-format
msgid "No matching item for serial {serial}"
msgstr ""
-#: order/views.py:1118
+#: order/views.py:948
#, python-brace-format
msgid "{serial} is not in stock"
msgstr ""
-#: order/views.py:1126
+#: order/views.py:956
#, python-brace-format
msgid "{serial} already allocated to an order"
msgstr ""
-#: order/views.py:1180
-msgid "Allocate Stock to Order"
-msgstr ""
-
-#: order/views.py:1254
-msgid "Edit Allocation Quantity"
-msgstr ""
-
-#: order/views.py:1269
-msgid "Remove allocation"
-msgstr ""
-
-#: order/views.py:1341
+#: order/views.py:1072
msgid "Sales order not found"
msgstr ""
-#: order/views.py:1347
+#: order/views.py:1078
msgid "Price not found"
msgstr ""
-#: order/views.py:1350
+#: order/views.py:1081
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:1355
+#: order/views.py:1086
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:700
+#: part/api.py:731
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:704
+#: part/api.py:735
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:719
+#: part/api.py:750
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773
+#: part/api.py:781 part/api.py:785 part/api.py:800 part/api.py:804
msgid "This field is required"
msgstr ""
-#: part/bom.py:133 part/models.py:75 part/models.py:733
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:290
+#: part/bom.py:125 part/models.py:81 part/models.py:816
+#: part/templates/part/category.html:90 part/templates/part/detail.html:104
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:156
+#: part/bom.py:126 part/templates/part/part_base.html:167
msgid "Available Stock"
msgstr ""
@@ -4000,7 +3677,7 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:96 part/models.py:2250
+#: part/forms.py:96 part/models.py:2427
msgid "Parent Part"
msgstr ""
@@ -4032,459 +3709,458 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:226
+#: part/forms.py:214
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:230
+#: part/forms.py:218
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:250
+#: part/forms.py:238
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:76
+#: part/models.py:82
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:79
+#: part/models.py:85
msgid "Default keywords"
msgstr ""
-#: part/models.py:79
+#: part/models.py:85
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:89 part/models.py:2296
+#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:90 part/templates/part/category.html:32
-#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
-#: templates/stats.html:84 users/models.py:40
+#: part/models.py:96 part/templates/part/category.html:117
+#: templates/InvenTree/search.html:101 templates/stats.html:84
+#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:383
+#: part/models.py:358 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:13 part/templates/part/category.html:122
+#: part/templates/part/category.html:142 templates/InvenTree/index.html:85
+#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304
+#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89
+#: users/models.py:41
+msgid "Parts"
+msgstr ""
+
+#: part/models.py:450
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:435 part/models.py:447
+#: part/models.py:502 part/models.py:514
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:544
+#: part/models.py:611
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:548
+#: part/models.py:615
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:553
+#: part/models.py:620
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:632
+#: part/models.py:715
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:657
+#: part/models.py:740
msgid "Part name"
msgstr ""
-#: part/models.py:664
+#: part/models.py:747
msgid "Is Template"
msgstr ""
-#: part/models.py:665
+#: part/models.py:748
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:675
+#: part/models.py:758
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:676
+#: part/models.py:759
msgid "Variant Of"
msgstr ""
-#: part/models.py:682
+#: part/models.py:765
msgid "Part description"
msgstr ""
-#: part/models.py:687 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:259
+#: part/models.py:770 part/templates/part/category.html:97
+#: part/templates/part/detail.html:73
msgid "Keywords"
msgstr ""
-#: part/models.py:688
+#: part/models.py:771
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:695 part/models.py:2295
-#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:167
-#: templates/js/translated/part.js:916
+#: part/models.py:778 part/models.py:2223 part/models.py:2472
+#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15
+#: templates/InvenTree/settings/settings.html:163
+#: templates/js/translated/part.js:928
msgid "Category"
msgstr ""
-#: part/models.py:696
+#: part/models.py:779
msgid "Part category"
msgstr ""
-#: part/models.py:701 part/templates/part/part_base.html:235
-#: templates/js/translated/part.js:517 templates/js/translated/part.js:749
+#: part/models.py:784 part/templates/part/detail.html:45
+#: templates/js/translated/part.js:549
msgid "IPN"
msgstr ""
-#: part/models.py:702
+#: part/models.py:785
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:708
+#: part/models.py:791
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:709 part/templates/part/part_base.html:252
-#: report/models.py:200 templates/js/translated/part.js:521
+#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200
+#: templates/js/translated/part.js:553
msgid "Revision"
msgstr ""
-#: part/models.py:731
+#: part/models.py:814
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:778 part/templates/part/part_base.html:297
+#: part/models.py:861 part/templates/part/detail.html:113
msgid "Default Supplier"
msgstr ""
-#: part/models.py:779
+#: part/models.py:862
msgid "Default supplier part"
msgstr ""
-#: part/models.py:786
+#: part/models.py:869
msgid "Default Expiry"
msgstr ""
-#: part/models.py:787
+#: part/models.py:870
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:792
+#: part/models.py:875 part/templates/part/part_base.html:178
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:793
+#: part/models.py:876
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:800
+#: part/models.py:883
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:806
+#: part/models.py:889
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:812
+#: part/models.py:895
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:818
+#: part/models.py:901
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:823
+#: part/models.py:906
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:828
+#: part/models.py:911
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:832 templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:82
-#: templates/js/translated/table_filters.js:268
-#: templates/js/translated/table_filters.js:337
+#: part/models.py:915 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:362
msgid "Active"
msgstr ""
-#: part/models.py:833
+#: part/models.py:916
msgid "Is this part active?"
msgstr ""
-#: part/models.py:838
+#: part/models.py:921
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:843
+#: part/models.py:926
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:846
+#: part/models.py:929
msgid "BOM checksum"
msgstr ""
-#: part/models.py:846
+#: part/models.py:929
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:849
+#: part/models.py:932
msgid "BOM checked by"
msgstr ""
-#: part/models.py:851
+#: part/models.py:934
msgid "BOM checked date"
msgstr ""
-#: part/models.py:855
+#: part/models.py:938
msgid "Creation User"
msgstr ""
-#: part/models.py:1601
+#: part/models.py:1750
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2096
+#: part/models.py:2273
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2113
+#: part/models.py:2290
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2133 templates/js/translated/part.js:1205
-#: templates/js/translated/stock.js:556
+#: part/models.py:2310 templates/js/translated/part.js:1355
+#: templates/js/translated/stock.js:828
msgid "Test Name"
msgstr ""
-#: part/models.py:2134
+#: part/models.py:2311
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2139
+#: part/models.py:2316
msgid "Test Description"
msgstr ""
-#: part/models.py:2140
+#: part/models.py:2317
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2145 templates/js/translated/part.js:1214
-#: templates/js/translated/table_filters.js:254
+#: part/models.py:2322 templates/js/translated/part.js:1364
+#: templates/js/translated/table_filters.js:270
msgid "Required"
msgstr ""
-#: part/models.py:2146
+#: part/models.py:2323
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2151 templates/js/translated/part.js:1222
+#: part/models.py:2328 templates/js/translated/part.js:1372
msgid "Requires Value"
msgstr ""
-#: part/models.py:2152
+#: part/models.py:2329
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2157 templates/js/translated/part.js:1229
+#: part/models.py:2334 templates/js/translated/part.js:1379
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2158
+#: part/models.py:2335
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2169
+#: part/models.py:2346
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2205
+#: part/models.py:2382
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2213
+#: part/models.py:2390
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2220
+#: part/models.py:2397
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2252 part/models.py:2301 part/models.py:2302
-#: templates/InvenTree/settings/settings.html:162
+#: part/models.py:2429 part/models.py:2478 part/models.py:2479
+#: templates/InvenTree/settings/settings.html:158
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2254
+#: part/models.py:2431
msgid "Data"
msgstr ""
-#: part/models.py:2254
+#: part/models.py:2431
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2306 templates/InvenTree/settings/settings.html:171
+#: part/models.py:2483 templates/InvenTree/settings/settings.html:167
msgid "Default Value"
msgstr ""
-#: part/models.py:2307
+#: part/models.py:2484
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2341
+#: part/models.py:2561
msgid "Select parent part"
msgstr ""
-#: part/models.py:2349
+#: part/models.py:2569
msgid "Sub part"
msgstr ""
-#: part/models.py:2350
+#: part/models.py:2570
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2356
+#: part/models.py:2576
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2358 templates/js/translated/bom.js:256
-#: templates/js/translated/bom.js:314
+#: part/models.py:2578 templates/js/translated/bom.js:452
+#: templates/js/translated/bom.js:526
+#: templates/js/translated/table_filters.js:86
msgid "Optional"
msgstr ""
-#: part/models.py:2358
+#: part/models.py:2578
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2361
+#: part/models.py:2581
msgid "Overage"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2582
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2365
+#: part/models.py:2585
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2368
+#: part/models.py:2588
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2370
+#: part/models.py:2590
msgid "Checksum"
msgstr ""
-#: part/models.py:2370
+#: part/models.py:2590
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2374 templates/js/translated/bom.js:331
-#: templates/js/translated/bom.js:338
+#: part/models.py:2594 templates/js/translated/bom.js:543
+#: templates/js/translated/bom.js:550
#: templates/js/translated/table_filters.js:68
+#: templates/js/translated/table_filters.js:82
msgid "Inherited"
msgstr ""
-#: part/models.py:2375
+#: part/models.py:2595
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2380 templates/js/translated/bom.js:323
+#: part/models.py:2600 templates/js/translated/bom.js:535
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2381
+#: part/models.py:2601
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2466 stock/models.py:341
+#: part/models.py:2686 stock/models.py:371
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2475 part/models.py:2477
+#: part/models.py:2695 part/models.py:2697
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2480
-msgid "BOM Item"
+#: part/models.py:2826
+msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:2599
+#: part/models.py:2848
+msgid "Substitute part cannot be the same as the master part"
+msgstr ""
+
+#: part/models.py:2860
+msgid "Parent BOM item"
+msgstr ""
+
+#: part/models.py:2868
+msgid "Substitute part"
+msgstr ""
+
+#: part/models.py:2879
msgid "Part 1"
msgstr ""
-#: part/models.py:2603
+#: part/models.py:2883
msgid "Part 2"
msgstr ""
-#: part/models.py:2603
+#: part/models.py:2883
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2635
+#: part/models.py:2915
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
+#: part/tasks.py:53
+msgid "Low stock notification"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
-#: part/templates/part/bom.html:14
+#: part/templates/part/bom.html:15
#, python-format
msgid "The BOM for %(part)s has changed, and must be validated.
"
msgstr ""
-#: part/templates/part/bom.html:16
+#: part/templates/part/bom.html:17
#, python-format
msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s"
msgstr ""
-#: part/templates/part/bom.html:20
+#: part/templates/part/bom.html:21
#, python-format
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:27
-msgid "Remove selected BOM items"
-msgstr ""
-
-#: part/templates/part/bom.html:30
-msgid "Import BOM data"
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:383
+msgid "BOM actions"
msgstr ""
#: part/templates/part/bom.html:34
-msgid "Copy BOM from parent part"
-msgstr ""
-
-#: part/templates/part/bom.html:38
-msgid "New BOM Item"
-msgstr ""
-
-#: part/templates/part/bom.html:41
-msgid "Finish Editing"
-msgstr ""
-
-#: part/templates/part/bom.html:46
-msgid "Edit BOM"
-msgstr ""
-
-#: part/templates/part/bom.html:50
-msgid "Validate Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:56 part/views.py:1220
-msgid "Export Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:59
-msgid "Print BOM Report"
+msgid "Delete Items"
msgstr ""
#: part/templates/part/bom_duplicate.html:13
@@ -4495,28 +4171,23 @@ msgstr ""
msgid "Select Part"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:13
-#: part/templates/part/bom_upload/upload_file.html:16
-msgid "Return To BOM"
-msgstr ""
-
-#: part/templates/part/bom_upload/upload_file.html:27
+#: part/templates/part/bom_upload/upload_file.html:12
msgid "Upload Bill of Materials"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:46
+#: part/templates/part/bom_upload/upload_file.html:32
msgid "Requirements for BOM upload"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "The BOM file must contain the required named columns as provided in the "
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "BOM Upload Template"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:49
+#: part/templates/part/bom_upload/upload_file.html:35
msgid "Each part must already exist in the database"
msgstr ""
@@ -4529,93 +4200,103 @@ msgstr ""
msgid "This will validate each line in the BOM."
msgstr ""
-#: part/templates/part/category.html:33
-msgid "All parts"
+#: part/templates/part/category.html:24 part/templates/part/category.html:28
+msgid "You are subscribed to notifications for this category"
+msgstr ""
+
+#: part/templates/part/category.html:32
+msgid "Subscribe to notifications for this category"
msgstr ""
#: part/templates/part/category.html:38
-msgid "Create new part category"
+msgid "Category Actions"
+msgstr ""
+
+#: part/templates/part/category.html:43
+msgid "Edit category"
msgstr ""
#: part/templates/part/category.html:44
-msgid "Edit part category"
+msgid "Edit Category"
+msgstr ""
+
+#: part/templates/part/category.html:48
+msgid "Delete category"
msgstr ""
#: part/templates/part/category.html:49
-msgid "Delete part category"
+msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:59 part/templates/part/category.html:98
-msgid "Category Details"
+#: part/templates/part/category.html:57
+msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:64
+#: part/templates/part/category.html:58
+msgid "New Category"
+msgstr ""
+
+#: part/templates/part/category.html:67
+msgid "Top level part category"
+msgstr ""
+
+#: part/templates/part/category.html:79
msgid "Category Path"
msgstr ""
-#: part/templates/part/category.html:69
+#: part/templates/part/category.html:84
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:175
-#: part/templates/part/category_navbar.html:14
-#: part/templates/part/category_navbar.html:17
+#: part/templates/part/category.html:103 part/templates/part/category.html:194
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:93
+#: part/templates/part/category.html:108
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:126
+#: part/templates/part/category.html:145
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:142
+#: part/templates/part/category.html:146 part/templates/part/category.html:170
msgid "Export"
msgstr ""
-#: part/templates/part/category.html:130
+#: part/templates/part/category.html:149
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131
+#: part/templates/part/category.html:150 templates/js/translated/bom.js:40
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:141
+#: part/templates/part/category.html:168
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:142
+#: part/templates/part/category.html:170
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:146
-msgid "View list display"
-msgstr ""
-
-#: part/templates/part/category.html:149
-msgid "View grid display"
-msgstr ""
-
-#: part/templates/part/category.html:165
+#: part/templates/part/category.html:184
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:254
+#: part/templates/part/category.html:261
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:281
+#: part/templates/part/category.html:288
msgid "Create Part"
msgstr ""
@@ -4654,12 +4335,7 @@ msgstr ""
msgid "If this category is deleted, these parts will be moved to the top-level category Teile"
msgstr ""
-#: part/templates/part/category_navbar.html:29
-#: part/templates/part/category_navbar.html:32
-msgid "Import Parts"
-msgstr ""
-
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365
msgid "Duplicate Part"
msgstr ""
@@ -4684,313 +4360,315 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)"
msgstr ""
#: part/templates/part/detail.html:16
+msgid "Part Details"
+msgstr ""
+
+#: part/templates/part/detail.html:66
+msgid "Minimum stock level"
+msgstr ""
+
+#: part/templates/part/detail.html:97
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/detail.html:124
msgid "Part Stock"
msgstr ""
-#: part/templates/part/detail.html:21
+#: part/templates/part/detail.html:136
#, python-format
msgid "Showing stock for all variants of %(full_name)s"
msgstr ""
-#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99
+#: part/templates/part/detail.html:146
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:36
+#: part/templates/part/detail.html:151
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:77
-msgid "New sales order"
-msgstr ""
-
-#: part/templates/part/detail.html:77
-msgid "New Order"
-msgstr ""
-
-#: part/templates/part/detail.html:90
+#: part/templates/part/detail.html:208
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27
+#: part/templates/part/detail.html:249
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:137
+#: part/templates/part/detail.html:253
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:138
+#: part/templates/part/detail.html:254
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:161
+#: part/templates/part/detail.html:281
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107
-#: part/templates/part/navbar.html:110
+#: part/templates/part/detail.html:315
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:188
+#: part/templates/part/detail.html:319 part/templates/part/detail.html:320
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43
-#: part/templates/part/navbar.html:46
+#: part/templates/part/detail.html:366
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:237
+#: part/templates/part/detail.html:371
+msgid "Export actions"
+msgstr ""
+
+#: part/templates/part/detail.html:375
+msgid "Export BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:377
+msgid "Print BOM Report"
+msgstr ""
+
+#: part/templates/part/detail.html:387
+msgid "Upload BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:389 templates/js/translated/part.js:266
+msgid "Copy BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:391 part/views.py:820
+msgid "Validate BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:396
+msgid "New BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:397
+msgid "Add BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:410
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:253
+#: part/templates/part/detail.html:427
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:260
-msgid "Start New Build"
-msgstr ""
-
-#: part/templates/part/detail.html:274
+#: part/templates/part/detail.html:452
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:283
+#: part/templates/part/detail.html:462
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:305
+#: part/templates/part/detail.html:489
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:317
+#: part/templates/part/detail.html:505
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:502
+#: part/templates/part/detail.html:686
msgid "Delete selected BOM items?"
msgstr ""
-#: part/templates/part/detail.html:503
+#: part/templates/part/detail.html:687
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:554
+#: part/templates/part/detail.html:738
msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:699
+#: part/templates/part/detail.html:876
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:716
-msgid "Edit Test Result Template"
-msgstr ""
-
-#: part/templates/part/detail.html:728
-msgid "Delete Test Result Template"
-msgstr ""
-
-#: part/templates/part/detail.html:784
+#: part/templates/part/detail.html:933
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:936
+#: part/templates/part/detail.html:1085
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:948
+#: part/templates/part/detail.html:1097
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:960
+#: part/templates/part/detail.html:1109
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1049
+#: part/templates/part/detail.html:1198
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
#: part/templates/part/import_wizard/ajax_part_upload.html:29
-#: part/templates/part/import_wizard/part_upload.html:51
+#: part/templates/part/import_wizard/part_upload.html:52
msgid "Unsuffitient privileges."
msgstr ""
-#: part/templates/part/import_wizard/part_upload.html:14
+#: part/templates/part/import_wizard/part_upload.html:15
msgid "Import Parts from File"
msgstr ""
-#: part/templates/part/navbar.html:30
-msgid "Variants"
-msgstr ""
-
-#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/navbar.html:70
-msgid "Prices"
-msgstr ""
-
-#: part/templates/part/navbar.html:102
-msgid "Test Templates"
-msgstr ""
-
#: part/templates/part/part_app_base.html:12
msgid "Part List"
msgstr ""
+#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31
+msgid "You are subscribed to notifications for this part"
+msgstr ""
+
#: part/templates/part/part_base.html:35
-msgid "Part is a template part (variants can be made from this part)"
+msgid "Subscribe to notifications for this part"
msgstr ""
-#: part/templates/part/part_base.html:38
-msgid "Part can be assembled from other parts"
-msgstr ""
-
-#: part/templates/part/part_base.html:41
-msgid "Part can be used in assemblies"
-msgstr ""
-
-#: part/templates/part/part_base.html:44
-msgid "Part stock is tracked by serial number"
-msgstr ""
-
-#: part/templates/part/part_base.html:47
-msgid "Part can be purchased from external suppliers"
-msgstr ""
-
-#: part/templates/part/part_base.html:50
-msgid "Part can be sold to customers"
-msgstr ""
-
-#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503
-#: templates/js/translated/company.js:759 templates/js/translated/part.js:432
-#: templates/js/translated/part.js:509
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:73
-msgid "Star this part"
-msgstr ""
-
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:75
-#: stock/templates/stock/location.html:51
+#: part/templates/part/part_base.html:43
+#: stock/templates/stock/item_base.html:28
+#: stock/templates/stock/location.html:29
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:82
-#: stock/templates/stock/item_base.html:77
-#: stock/templates/stock/location.html:53 templates/qr_button.html:1
+#: part/templates/part/part_base.html:45
+#: stock/templates/stock/item_base.html:32
+#: stock/templates/stock/location.html:31 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:83
-#: stock/templates/stock/item_base.html:93
-#: stock/templates/stock/location.html:54
+#: part/templates/part/part_base.html:46
+#: stock/templates/stock/item_base.html:48
+#: stock/templates/stock/location.html:32
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:89
+#: part/templates/part/part_base.html:51
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:95
-#: stock/templates/stock/item_base.html:142
-#: stock/templates/stock/location.html:62
+#: part/templates/part/part_base.html:56
+#: stock/templates/stock/item_base.html:103
+#: stock/templates/stock/location.html:40
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:102
+#: part/templates/part/part_base.html:63
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:108
+#: part/templates/part/part_base.html:69
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:125
+#: part/templates/part/part_base.html:84
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:128
+#: part/templates/part/part_base.html:87
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:131
+#: part/templates/part/part_base.html:90
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:134
+#: part/templates/part/part_base.html:93
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:146
+#: part/templates/part/part_base.html:109
+msgid "Part is a template part (variants can be made from this part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:113
+msgid "Part can be assembled from other parts"
+msgstr ""
+
+#: part/templates/part/part_base.html:117
+msgid "Part can be used in assemblies"
+msgstr ""
+
+#: part/templates/part/part_base.html:121
+msgid "Part stock is tracked by serial number"
+msgstr ""
+
+#: part/templates/part/part_base.html:125
+msgid "Part can be purchased from external suppliers"
+msgstr ""
+
+#: part/templates/part/part_base.html:129
+msgid "Part can be sold to customers"
+msgstr ""
+
+#: part/templates/part/part_base.html:135
+#: part/templates/part/part_base.html:143
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:136
+#: templates/js/translated/company.js:504
+#: templates/js/translated/company.js:761
+#: templates/js/translated/model_renderers.js:175
+#: templates/js/translated/part.js:464 templates/js/translated/part.js:541
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:155
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:161
-#: templates/js/translated/table_filters.js:166
+#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524
+#: templates/js/translated/table_filters.js:182
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961
+msgid "On Order"
+msgstr ""
+
+#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:181
+#: part/templates/part/part_base.html:199
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:188
+#: part/templates/part/part_base.html:206
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352
+#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765
-#: templates/js/translated/part.js:953
+#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793
+#: templates/js/translated/part.js:965
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:223
-#: part/templates/part/part_base.html:524
-#: part/templates/part/part_base.html:550
-msgid "Show Part Details"
-msgstr ""
-
-#: part/templates/part/part_base.html:283
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144
+#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:439
+#: part/templates/part/part_base.html:363
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:519
-#: part/templates/part/part_base.html:544
-msgid "Hide Part Details"
-msgstr ""
-
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -5014,7 +4692,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
-#: templates/js/translated/bom.js:307
+#: templates/js/translated/bom.js:518
msgid "No supplier pricing available"
msgstr ""
@@ -5048,36 +4726,44 @@ msgstr ""
msgid "No pricing information is available for this part."
msgstr ""
-#: part/templates/part/part_thumb.html:20
+#: part/templates/part/part_thumb.html:11
msgid "Select from existing images"
msgstr ""
-#: part/templates/part/partial_delete.html:7
+#: part/templates/part/partial_delete.html:9
+#, python-format
+msgid ""
+"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
+"
Disable the \"Active\" part attribute and re-try.\n"
+" "
+msgstr ""
+
+#: part/templates/part/partial_delete.html:17
#, python-format
msgid "Are you sure you want to delete part '%(full_name)s'?"
msgstr ""
-#: part/templates/part/partial_delete.html:12
+#: part/templates/part/partial_delete.html:22
#, python-format
msgid "This part is used in BOMs for %(count)s other parts. If you delete this part, the BOMs for the following parts will be updated"
msgstr ""
-#: part/templates/part/partial_delete.html:22
+#: part/templates/part/partial_delete.html:32
#, python-format
msgid "There are %(count)s stock entries defined for this part. If you delete this part, the following stock entries will also be deleted:"
msgstr ""
-#: part/templates/part/partial_delete.html:33
+#: part/templates/part/partial_delete.html:43
#, python-format
msgid "There are %(count)s manufacturers defined for this part. If you delete this part, the following manufacturer parts will also be deleted:"
msgstr ""
-#: part/templates/part/partial_delete.html:44
+#: part/templates/part/partial_delete.html:54
#, python-format
msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:"
msgstr ""
-#: part/templates/part/partial_delete.html:55
+#: part/templates/part/partial_delete.html:65
#, python-format
msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information."
msgstr ""
@@ -5110,7 +4796,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301
+#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512
msgid "Supplier Cost"
msgstr ""
@@ -5132,7 +4818,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:215 part/views.py:1801
+#: part/templates/part/prices.html:215 part/views.py:1853
msgid "Add Internal Price Break"
msgstr ""
@@ -5152,12 +4838,13 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278
-#: templates/js/translated/part.js:755 templates/js/translated/part.js:957
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474
+#: templates/js/translated/part.js:428 templates/js/translated/part.js:783
+#: templates/js/translated/part.js:969
msgid "No Stock"
msgstr ""
-#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166
+#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158
msgid "Low Stock"
msgstr ""
@@ -5170,135 +4857,140 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:106
+#: part/templatetags/inventree_extras.py:113
msgid "Unknown database"
msgstr ""
-#: part/views.py:94
+#: part/views.py:95
msgid "Add Related Part"
msgstr ""
-#: part/views.py:149
+#: part/views.py:150
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:160
+#: part/views.py:161
msgid "Set Part Category"
msgstr ""
-#: part/views.py:210
+#: part/views.py:211
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:270
+#: part/views.py:283
msgid "Match References"
msgstr ""
-#: part/views.py:526
+#: part/views.py:567
msgid "None"
msgstr ""
-#: part/views.py:585
+#: part/views.py:626
msgid "Part QR Code"
msgstr ""
-#: part/views.py:687
+#: part/views.py:728
msgid "Select Part Image"
msgstr ""
-#: part/views.py:713
+#: part/views.py:754
msgid "Updated part image"
msgstr ""
-#: part/views.py:716
+#: part/views.py:757
msgid "Part image not found"
msgstr ""
-#: part/views.py:728
+#: part/views.py:769
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:758
+#: part/views.py:799
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:779
-msgid "Validate BOM"
-msgstr ""
-
-#: part/views.py:800
+#: part/views.py:841
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:811
+#: part/views.py:852
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:884
+#: part/views.py:925
msgid "Match Parts"
msgstr ""
-#: part/views.py:1272
+#: part/views.py:1261
+msgid "Export Bill of Materials"
+msgstr ""
+
+#: part/views.py:1313
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1279
+#: part/views.py:1320
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1288
+#: part/views.py:1329
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1437
+#: part/views.py:1478
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1447
+#: part/views.py:1488
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1454
+#: part/views.py:1495
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1502 templates/js/translated/part.js:303
+#: part/views.py:1554 templates/js/translated/part.js:309
msgid "Edit Part Category"
msgstr ""
-#: part/views.py:1540
+#: part/views.py:1592
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1546
+#: part/views.py:1598
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1555
+#: part/views.py:1607
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1656
+#: part/views.py:1708
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1712
+#: part/views.py:1764
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:1734
+#: part/views.py:1786
msgid "Added new price break"
msgstr ""
-#: part/views.py:1810
+#: part/views.py:1862
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:1818
+#: part/views.py:1870
msgid "Delete Internal Price Break"
msgstr ""
+#: report/api.py:234 report/api.py:278
+#, python-brace-format
+msgid "Template file '{filename}' is missing or does not exist"
+msgstr ""
+
#: report/models.py:182
msgid "Template name"
msgstr ""
@@ -5335,51 +5027,51 @@ msgstr ""
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:380
+#: report/models.py:382
msgid "Build Filters"
msgstr ""
-#: report/models.py:381
+#: report/models.py:383
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:423
+#: report/models.py:425
msgid "Part Filters"
msgstr ""
-#: report/models.py:424
+#: report/models.py:426
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:458
+#: report/models.py:460
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:496
+#: report/models.py:498
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:546
+#: report/models.py:548
msgid "Snippet"
msgstr ""
-#: report/models.py:547
+#: report/models.py:549
msgid "Report snippet file"
msgstr ""
-#: report/models.py:551
+#: report/models.py:553
msgid "Snippet file description"
msgstr ""
-#: report/models.py:586
+#: report/models.py:588
msgid "Asset"
msgstr ""
-#: report/models.py:587
+#: report/models.py:589
msgid "Report asset file"
msgstr ""
-#: report/models.py:590
+#: report/models.py:592
msgid "Asset file description"
msgstr ""
@@ -5396,569 +5088,582 @@ msgstr ""
msgid "Stock Item Test Report"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:83
-msgid "Test Results"
+#: report/templates/report/inventree_test_report_base.html:79
+#: stock/models.py:530 stock/templates/stock/item_base.html:238
+#: templates/js/translated/build.js:233 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1013
+#: templates/js/translated/model_renderers.js:95
+#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355
+msgid "Serial Number"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:1807
+msgid "Test Results"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:93
+#: stock/models.py:1855
msgid "Test"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:89
-#: stock/models.py:1813
+#: report/templates/report/inventree_test_report_base.html:94
+#: stock/models.py:1861
msgid "Result"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523
+#: report/templates/report/inventree_test_report_base.html:97
+#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887
msgid "Date"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:103
+#: report/templates/report/inventree_test_report_base.html:108
msgid "Pass"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:105
+#: report/templates/report/inventree_test_report_base.html:110
msgid "Fail"
msgstr ""
-#: stock/api.py:146
-msgid "Request must contain list of stock items"
+#: report/templates/report/inventree_test_report_base.html:123
+msgid "Installed Items"
msgstr ""
-#: stock/api.py:154
-msgid "Improperly formatted data"
+#: report/templates/report/inventree_test_report_base.html:137
+#: templates/js/translated/stock.js:2147
+msgid "Serial"
msgstr ""
-#: stock/api.py:162
-msgid "Each entry must contain a valid integer primary-key"
+#: stock/api.py:422
+msgid "Quantity is required"
msgstr ""
-#: stock/api.py:168
-msgid "Primary key does not match valid stock item"
-msgstr ""
-
-#: stock/api.py:178
-msgid "Invalid quantity value"
-msgstr ""
-
-#: stock/api.py:183
-msgid "Quantity must not be less than zero"
-msgstr ""
-
-#: stock/api.py:211
-#, python-brace-format
-msgid "Updated stock for {n} items"
-msgstr ""
-
-#: stock/api.py:247 stock/api.py:280
-msgid "Specified quantity exceeds stock quantity"
-msgstr ""
-
-#: stock/api.py:270
-msgid "Valid location must be specified"
-msgstr ""
-
-#: stock/api.py:290
-#, python-brace-format
-msgid "Moved {n} parts to {loc}"
-msgstr ""
-
-#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556
-#: stock/templates/stock/item_base.html:395
-#: templates/js/translated/stock.js:967
+#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587
+#: stock/templates/stock/item_base.html:382
+#: templates/js/translated/stock.js:1246
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:308
+#: stock/forms.py:92 stock/forms.py:266
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:83
+#: stock/forms.py:95
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:134
+#: stock/forms.py:150
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:138 stock/forms.py:282
+#: stock/forms.py:154 stock/forms.py:238
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:168 stock/forms.py:224
-msgid "Select test report template"
-msgstr ""
-
-#: stock/forms.py:240
+#: stock/forms.py:194
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:270
+#: stock/forms.py:224
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:280
+#: stock/forms.py:236
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm removal of installed stock items"
msgstr ""
-#: stock/models.py:57 stock/models.py:593
+#: stock/models.py:60 stock/models.py:624
+#: stock/templates/stock/item_base.html:422
msgid "Owner"
msgstr ""
-#: stock/models.py:58 stock/models.py:594
+#: stock/models.py:61 stock/models.py:625
msgid "Select Owner"
msgstr ""
-#: stock/models.py:322
+#: stock/models.py:352
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:358
+#: stock/models.py:388
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:368 stock/models.py:377
+#: stock/models.py:398 stock/models.py:407
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:369
+#: stock/models.py:399
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:391
+#: stock/models.py:421
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:397
+#: stock/models.py:427
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:404
+#: stock/models.py:434
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:446
+#: stock/models.py:476
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:455
+#: stock/models.py:485
msgid "Base part"
msgstr ""
-#: stock/models.py:464
+#: stock/models.py:493
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8
+#: stock/models.py:498 stock/templates/stock/location.html:12
+#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:472
+#: stock/models.py:501
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:479
+#: stock/models.py:508
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:484 stock/templates/stock/item_base.html:284
+#: stock/models.py:513 stock/templates/stock/item_base.html:271
msgid "Installed In"
msgstr ""
-#: stock/models.py:487
+#: stock/models.py:516
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:503
+#: stock/models.py:532
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:515
+#: stock/models.py:546
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:519
+#: stock/models.py:550
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:528
+#: stock/models.py:559
msgid "Source Build"
msgstr ""
-#: stock/models.py:530
+#: stock/models.py:561
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:541
+#: stock/models.py:572
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:544
+#: stock/models.py:575
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:550
+#: stock/models.py:581
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:557
+#: stock/models.py:588
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:580 stock/templates/stock/item.html:99
-#: stock/templates/stock/navbar.html:54
+#: stock/models.py:611 stock/templates/stock/item.html:111
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:589
+#: stock/models.py:620
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:599
+#: stock/models.py:630
msgid "Scheduled for deletion"
msgstr ""
-#: stock/models.py:600
+#: stock/models.py:631
msgid "This StockItem will be deleted by the background worker"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1094
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1069
+#: stock/models.py:1100
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1075
+#: stock/models.py:1106
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1078
+#: stock/models.py:1109
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1081
+#: stock/models.py:1112
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1088
+#: stock/models.py:1119
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1246
+#: stock/models.py:1277
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:1727
+#: stock/models.py:1775
msgid "Entry notes"
msgstr ""
-#: stock/models.py:1784
+#: stock/models.py:1832
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:1790
+#: stock/models.py:1838
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:1808
+#: stock/models.py:1856
msgid "Test name"
msgstr ""
-#: stock/models.py:1814 templates/js/translated/table_filters.js:244
+#: stock/models.py:1862 templates/js/translated/table_filters.js:260
msgid "Test result"
msgstr ""
-#: stock/models.py:1820
+#: stock/models.py:1868
msgid "Test output value"
msgstr ""
-#: stock/models.py:1827
+#: stock/models.py:1875
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:1833
+#: stock/models.py:1881
msgid "Test notes"
msgstr ""
-#: stock/templates/stock/item.html:17
+#: stock/serializers.py:166
+msgid "Purchase price of this stock item"
+msgstr ""
+
+#: stock/serializers.py:173
+msgid "Purchase currency of this stock item"
+msgstr ""
+
+#: stock/serializers.py:287
+msgid "Enter number of stock items to serialize"
+msgstr ""
+
+#: stock/serializers.py:302
+#, python-brace-format
+msgid "Quantity must not exceed available stock quantity ({q})"
+msgstr ""
+
+#: stock/serializers.py:308
+msgid "Enter serial numbers for new items"
+msgstr ""
+
+#: stock/serializers.py:319 stock/serializers.py:687
+msgid "Destination stock location"
+msgstr ""
+
+#: stock/serializers.py:326
+msgid "Optional note field"
+msgstr ""
+
+#: stock/serializers.py:339
+msgid "Serial numbers cannot be assigned to this part"
+msgstr ""
+
+#: stock/serializers.py:557
+msgid "StockItem primary key value"
+msgstr ""
+
+#: stock/serializers.py:585
+msgid "Stock transaction notes"
+msgstr ""
+
+#: stock/serializers.py:595
+msgid "A list of stock items must be provided"
+msgstr ""
+
+#: stock/templates/stock/item.html:18
msgid "Stock Tracking Information"
msgstr ""
-#: stock/templates/stock/item.html:30
+#: stock/templates/stock/item.html:29
msgid "New Entry"
msgstr ""
-#: stock/templates/stock/item.html:43
+#: stock/templates/stock/item.html:48
msgid "Child Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:50
+#: stock/templates/stock/item.html:55
msgid "This stock item does not have any child items"
msgstr ""
-#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19
-#: stock/templates/stock/navbar.html:22
+#: stock/templates/stock/item.html:64
msgid "Test Data"
msgstr ""
-#: stock/templates/stock/item.html:66
-msgid "Delete Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:70
-msgid "Add Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95
+#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50
msgid "Test Report"
msgstr ""
-#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27
+#: stock/templates/stock/item.html:72
+msgid "Delete Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:76
+msgid "Add Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:133
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:125 stock/views.py:534
+#: stock/templates/stock/item.html:137 stock/views.py:515
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326
+#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:346
+#: stock/templates/stock/item.html:363
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:360
+#: stock/templates/stock/item.html:377
msgid "Delete Test Result"
msgstr ""
-#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:399
-#: templates/js/translated/table_filters.js:225
-msgid "Expired"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:401
-#: templates/js/translated/table_filters.js:231
-msgid "Stale"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:80
-#: templates/js/translated/barcode.js:331
-#: templates/js/translated/barcode.js:336
+#: stock/templates/stock/item_base.html:35
+#: templates/js/translated/barcode.js:330
+#: templates/js/translated/barcode.js:335
msgid "Unlink Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/item_base.html:37
msgid "Link Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31
+#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24
msgid "Scan to Location"
msgstr ""
-#: stock/templates/stock/item_base.html:91
+#: stock/templates/stock/item_base.html:46
msgid "Printing actions"
msgstr ""
-#: stock/templates/stock/item_base.html:104
+#: stock/templates/stock/item_base.html:65
msgid "Stock adjustment actions"
msgstr ""
-#: stock/templates/stock/item_base.html:108
-#: stock/templates/stock/location.html:69 templates/stock_table.html:57
+#: stock/templates/stock/item_base.html:69
+#: stock/templates/stock/location.html:47 templates/stock_table.html:50
msgid "Count stock"
msgstr ""
-#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55
+#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48
msgid "Add stock"
msgstr ""
-#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56
+#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49
msgid "Remove stock"
msgstr ""
-#: stock/templates/stock/item_base.html:117
+#: stock/templates/stock/item_base.html:78
msgid "Serialize stock"
msgstr ""
-#: stock/templates/stock/item_base.html:121
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/location.html:53
msgid "Transfer stock"
msgstr ""
-#: stock/templates/stock/item_base.html:124
+#: stock/templates/stock/item_base.html:85
msgid "Assign to customer"
msgstr ""
-#: stock/templates/stock/item_base.html:127
+#: stock/templates/stock/item_base.html:88
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install"
msgstr ""
-#: stock/templates/stock/item_base.html:145
+#: stock/templates/stock/item_base.html:106
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:109
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:150
+#: stock/templates/stock/item_base.html:111
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:153
+#: stock/templates/stock/item_base.html:114
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:173
+#: stock/templates/stock/item_base.html:136
+#: stock/templates/stock/item_base.html:386
+#: templates/js/translated/table_filters.js:241
+msgid "Expired"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/table_filters.js:247
+msgid "Stale"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:161
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:180
+#: stock/templates/stock/item_base.html:168
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:181
+#: stock/templates/stock/item_base.html:169
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:194
+#: stock/templates/stock/item_base.html:182
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:202
+#: stock/templates/stock/item_base.html:190
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:210
+#: stock/templates/stock/item_base.html:198
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:216
+#: stock/templates/stock/item_base.html:204
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:220
+#: stock/templates/stock/item_base.html:208
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:224
+#: stock/templates/stock/item_base.html:212
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:232
-msgid "Stock Item Details"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:241
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:260
+#: stock/templates/stock/item_base.html:247
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:303
-#: templates/js/translated/build.js:651
+#: stock/templates/stock/item_base.html:290
+#: templates/js/translated/build.js:1035
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:310
+#: stock/templates/stock/item_base.html:297
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:352
+#: stock/templates/stock/item_base.html:339
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:370
+#: stock/templates/stock/item_base.html:357
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:399
+#: stock/templates/stock/item_base.html:386
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:401
+#: stock/templates/stock/item_base.html:388
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:408
-#: templates/js/translated/stock.js:980
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1259
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:413
+#: stock/templates/stock/item_base.html:400
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:417
+#: stock/templates/stock/item_base.html:404
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:428
+#: stock/templates/stock/item_base.html:415
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:516
-msgid "Save"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:528
+#: stock/templates/stock/item_base.html:504
msgid "Edit Stock Status"
msgstr ""
@@ -6012,98 +5717,68 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:20
-msgid "You are not in the list of owners of this location. This stock location cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/location.html:37
-msgid "All stock items"
-msgstr ""
-
-#: stock/templates/stock/location.html:55
+#: stock/templates/stock/location.html:33
msgid "Check-in Items"
msgstr ""
-#: stock/templates/stock/location.html:83
+#: stock/templates/stock/location.html:61
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:85
+#: stock/templates/stock/location.html:63
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:87
+#: stock/templates/stock/location.html:65
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:99
-msgid "Location Details"
+#: stock/templates/stock/location.html:75
+msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:104
-msgid "Location Path"
+#: stock/templates/stock/location.html:76
+msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:109
-msgid "Location Description"
+#: stock/templates/stock/location.html:86
+msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:114
-#: stock/templates/stock/location.html:155
-#: stock/templates/stock/location_navbar.html:11
-#: stock/templates/stock/location_navbar.html:14
+#: stock/templates/stock/location.html:95
+msgid "You are not in the list of owners of this location. This stock location cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/location.html:113
+#: stock/templates/stock/location.html:160
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:124
-msgid "Stock Details"
+#: stock/templates/stock/location.html:118
+#: stock/templates/stock/location.html:132
+#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158
+#: templates/js/translated/stock.js:1871 templates/stats.html:93
+#: templates/stats.html:102 users/models.py:43
+msgid "Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279
+#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170
#: templates/stats.html:97 users/models.py:42
msgid "Stock Locations"
msgstr ""
-#: stock/templates/stock/location.html:162 templates/stock_table.html:37
+#: stock/templates/stock/location.html:167 templates/stock_table.html:30
msgid "Printing Actions"
msgstr ""
-#: stock/templates/stock/location.html:166 templates/stock_table.html:41
+#: stock/templates/stock/location.html:171 templates/stock_table.html:34
msgid "Print labels"
msgstr ""
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
-msgstr ""
-
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: stock/templates/stock/navbar.html:11
-msgid "Stock Item Tracking"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:14
-msgid "History"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:30
-msgid "Installed Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:38
-msgid "Child Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:41
-msgid "Children"
-msgstr ""
-
-#: stock/templates/stock/stock_adjust.html:43
-msgid "Remove item"
-msgstr ""
-
#: stock/templates/stock/stock_app_base.html:16
msgid "Loading..."
msgstr ""
@@ -6112,7 +5787,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912
msgid "Convert Stock Item"
msgstr ""
@@ -6133,104 +5808,100 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:181
+#: stock/views.py:162
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:288 stock/views.py:911 stock/views.py:1033
-#: stock/views.py:1398
+#: stock/views.py:269 stock/views.py:891 stock/views.py:1017
+#: stock/views.py:1299
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:303
+#: stock/views.py:284
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:322
+#: stock/views.py:303
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:331
+#: stock/views.py:312
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:355
+#: stock/views.py:336
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:364
+#: stock/views.py:345
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:375
+#: stock/views.py:356
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:386
+#: stock/views.py:367
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:403
+#: stock/views.py:384
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:508
+#: stock/views.py:489
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:683
+#: stock/views.py:663
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:780 templates/js/translated/stock.js:353
+#: stock/views.py:760 templates/js/translated/stock.js:618
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:791
+#: stock/views.py:771
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:813
+#: stock/views.py:793 templates/js/translated/stock.js:288
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:959
+#: stock/views.py:943
msgid "Create new Stock Location"
msgstr ""
-#: stock/views.py:1050
-msgid "Serialize Stock"
-msgstr ""
-
-#: stock/views.py:1143 templates/js/translated/build.js:392
+#: stock/views.py:1044
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1285
+#: stock/views.py:1186 templates/js/translated/stock.js:268
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1367
+#: stock/views.py:1268
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1467
+#: stock/views.py:1368
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1480
+#: stock/views.py:1381
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1491
+#: stock/views.py:1392
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1498
+#: stock/views.py:1399
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1507
+#: stock/views.py:1408
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6254,74 +5925,70 @@ msgstr ""
msgid "Index"
msgstr ""
-#: templates/InvenTree/index.html:105
-msgid "Starred Parts"
+#: templates/InvenTree/index.html:88
+msgid "Subscribed Parts"
msgstr ""
-#: templates/InvenTree/index.html:115
+#: templates/InvenTree/index.html:98
+msgid "Subscribed Categories"
+msgstr ""
+
+#: templates/InvenTree/index.html:108
msgid "Latest Parts"
msgstr ""
-#: templates/InvenTree/index.html:126
+#: templates/InvenTree/index.html:119
msgid "BOM Waiting Validation"
msgstr ""
-#: templates/InvenTree/index.html:153
+#: templates/InvenTree/index.html:145
msgid "Recently Updated"
msgstr ""
-#: templates/InvenTree/index.html:176
+#: templates/InvenTree/index.html:168
msgid "Depleted Stock"
msgstr ""
-#: templates/InvenTree/index.html:199
+#: templates/InvenTree/index.html:191
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:202
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:232
+#: templates/InvenTree/index.html:224
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:243
+#: templates/InvenTree/index.html:235
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:263
+#: templates/InvenTree/index.html:255
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:274
+#: templates/InvenTree/index.html:266
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:294
+#: templates/InvenTree/index.html:286
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:305
+#: templates/InvenTree/index.html:297
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14
+#: templates/InvenTree/search.html:8
msgid "Search Results"
msgstr ""
-#: templates/InvenTree/search.html:24
+#: templates/InvenTree/search.html:22
msgid "Enter a search query"
msgstr ""
-#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699
-msgid "Shipped to customer"
-msgstr ""
-
-#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709
-msgid "No stock location set"
-msgstr ""
-
#: templates/InvenTree/settings/barcode.html:8
msgid "Barcode Settings"
msgstr ""
@@ -6338,23 +6005,23 @@ msgstr ""
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:23
+#: templates/InvenTree/settings/currencies.html:19
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:27
+#: templates/InvenTree/settings/currencies.html:24
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:37
+#: templates/InvenTree/settings/currencies.html:38
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:43
+#: templates/InvenTree/settings/currencies.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:48
+#: templates/InvenTree/settings/currencies.html:49
msgid "Update Now"
msgstr ""
@@ -6362,129 +6029,74 @@ msgstr ""
msgid "Server Settings"
msgstr ""
-#: templates/InvenTree/settings/header.html:7
-msgid "Setting"
+#: templates/InvenTree/settings/login.html:9
+msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:12
-#: templates/InvenTree/settings/user_settings.html:9
-msgid "User Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:15
-#: templates/InvenTree/settings/navbar.html:17
-msgid "Account"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:21
-#: templates/InvenTree/settings/navbar.html:23
-msgid "Home Page"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29
-#: templates/js/translated/tables.js:366 templates/search_form.html:6
-#: templates/search_form.html:8
-msgid "Search"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:33
-#: templates/InvenTree/settings/navbar.html:35
-msgid "Labels"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:39
-#: templates/InvenTree/settings/navbar.html:41
-msgid "Reports"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:46
-#: templates/InvenTree/settings/navbar.html:48
-#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94
-msgid "Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:56
-msgid "InvenTree Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:59
-#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:65
-#: templates/InvenTree/settings/navbar.html:67
-msgid "Barcodes"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73
-msgid "Currencies"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:77
-#: templates/InvenTree/settings/navbar.html:79
-msgid "Reporting"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91
-msgid "Categories"
+#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5
+msgid "Signup"
msgstr ""
#: templates/InvenTree/settings/part.html:7
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:12
-msgid "Part Options"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:43
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:47
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:59
+#: templates/InvenTree/settings/part.html:61
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/po.html:9
+#: templates/InvenTree/settings/po.html:7
msgid "Purchase Order Settings"
msgstr ""
-#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:29
+#: templates/InvenTree/settings/setting.html:28
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:41
+#: templates/InvenTree/settings/setting.html:39
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:152
+#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93
+msgid "Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+msgid "Edit Global Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+msgid "Edit User Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:148
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:174
-#: templates/InvenTree/settings/settings.html:273
+#: templates/InvenTree/settings/settings.html:170
+#: templates/InvenTree/settings/settings.html:269
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:175
-#: templates/InvenTree/settings/settings.html:274
+#: templates/InvenTree/settings/settings.html:171
+#: templates/InvenTree/settings/settings.html:270
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:253
+#: templates/InvenTree/settings/settings.html:249
msgid "No part parameter templates found"
msgstr ""
@@ -6496,70 +6108,160 @@ msgstr ""
msgid "Stock Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:9
+#: templates/InvenTree/settings/user.html:11
msgid "Account Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:15
+#: templates/InvenTree/settings/user.html:18
#: templates/js/translated/helpers.js:26
msgid "Edit"
msgstr ""
-#: templates/InvenTree/settings/user.html:17
+#: templates/InvenTree/settings/user.html:20
+#: templates/account/password_reset_from_key.html:4
+#: templates/account/password_reset_from_key.html:7
msgid "Change Password"
msgstr ""
-#: templates/InvenTree/settings/user.html:24
-#: templates/registration/login.html:58
+#: templates/InvenTree/settings/user.html:31
msgid "Username"
msgstr ""
-#: templates/InvenTree/settings/user.html:28
+#: templates/InvenTree/settings/user.html:35
msgid "First Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:32
+#: templates/InvenTree/settings/user.html:39
msgid "Last Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:36
-msgid "Email Address"
+#: templates/InvenTree/settings/user.html:54
+msgid "The following email addresses are associated with your account:"
msgstr ""
-#: templates/InvenTree/settings/user.html:42
-msgid "Theme Settings"
+#: templates/InvenTree/settings/user.html:74
+msgid "Verified"
msgstr ""
-#: templates/InvenTree/settings/user.html:63
-msgid "Set Theme"
+#: templates/InvenTree/settings/user.html:76
+msgid "Unverified"
msgstr ""
-#: templates/InvenTree/settings/user.html:70
+#: templates/InvenTree/settings/user.html:78
+msgid "Primary"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:84
+msgid "Make Primary"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:85
+msgid "Re-send Verification"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:86
+#: templates/InvenTree/settings/user.html:153
+msgid "Remove"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:93
+msgid "Warning:"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:94
+msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc."
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:101
+msgid "Add Email Address"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:111
+msgid "Enter e-mail address"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:113
+msgid "Add Email"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:123
+msgid "Social Accounts"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:128
+msgid "You can sign in to your account using any of the following third party accounts:"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:162
+msgid "There are no social network accounts connected to your InvenTree account"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:167
+msgid "Add a 3rd Party Account"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:177
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:89
+#: templates/InvenTree/settings/user.html:186
+msgid "Select language"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:202
#, python-format
msgid "%(lang_translated)s%% translated"
msgstr ""
-#: templates/InvenTree/settings/user.html:91
+#: templates/InvenTree/settings/user.html:204
msgid "No translations available"
msgstr ""
-#: templates/InvenTree/settings/user.html:98
+#: templates/InvenTree/settings/user.html:211
msgid "Set Language"
msgstr ""
-#: templates/InvenTree/settings/user.html:103
+#: templates/InvenTree/settings/user.html:213
+msgid "Some languages are not complete"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:215
+msgid "Show only sufficent"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:217
+msgid "Show them too"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:224
msgid "Help the translation efforts!"
msgstr ""
-#: templates/InvenTree/settings/user.html:104
+#: templates/InvenTree/settings/user.html:225
#, python-format
msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
msgstr ""
+#: templates/InvenTree/settings/user.html:233
+msgid "Do you really want to remove the selected email address?"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:9
+msgid "Display Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:25
+msgid "Theme Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:35
+msgid "Select theme"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:46
+msgid "Set Theme"
+msgstr ""
+
#: templates/InvenTree/settings/user_homepage.html:9
msgid "Home Page Settings"
msgstr ""
@@ -6572,79 +6274,266 @@ msgstr ""
msgid "Search Settings"
msgstr ""
-#: templates/about.html:13
+#: templates/InvenTree/settings/user_settings.html:9
+msgid "User Settings"
+msgstr ""
+
+#: templates/about.html:10
msgid "InvenTree Version Information"
msgstr ""
-#: templates/about.html:22
+#: templates/about.html:11 templates/about.html:105
+#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:964 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
+msgid "Close"
+msgstr ""
+
+#: templates/about.html:20
msgid "InvenTree Version"
msgstr ""
-#: templates/about.html:27
+#: templates/about.html:25
msgid "Development Version"
msgstr ""
-#: templates/about.html:30
+#: templates/about.html:28
msgid "Up to Date"
msgstr ""
-#: templates/about.html:32
+#: templates/about.html:30
msgid "Update Available"
msgstr ""
-#: templates/about.html:42
+#: templates/about.html:40
msgid "Commit Hash"
msgstr ""
-#: templates/about.html:49
+#: templates/about.html:47
msgid "Commit Date"
msgstr ""
-#: templates/about.html:55
+#: templates/about.html:53
msgid "InvenTree Documentation"
msgstr ""
-#: templates/about.html:60
+#: templates/about.html:58
msgid "API Version"
msgstr ""
-#: templates/about.html:65
+#: templates/about.html:63
msgid "Python Version"
msgstr ""
-#: templates/about.html:70
+#: templates/about.html:68
msgid "Django Version"
msgstr ""
-#: templates/about.html:75
+#: templates/about.html:73
msgid "View Code on GitHub"
msgstr ""
-#: templates/about.html:80
+#: templates/about.html:78
msgid "Credits"
msgstr ""
-#: templates/about.html:85
+#: templates/about.html:83
msgid "Mobile App"
msgstr ""
-#: templates/about.html:90
+#: templates/about.html:88
msgid "Submit Bug Report"
msgstr ""
-#: templates/about.html:97 templates/clip.html:4
+#: templates/about.html:95 templates/clip.html:4
msgid "copy to clipboard"
msgstr ""
-#: templates/about.html:97
+#: templates/about.html:95
msgid "copy version information"
msgstr ""
-#: templates/about.html:107 templates/js/translated/modals.js:50
-#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678
-#: templates/js/translated/modals.js:971 templates/modals.html:29
-#: templates/modals.html:54
-msgid "Close"
+#: templates/account/email_confirm.html:6
+#: templates/account/email_confirm.html:10
+msgid "Confirm Email Address"
+msgstr ""
+
+#: templates/account/email_confirm.html:16
+#, python-format
+msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
+msgstr ""
+
+#: templates/account/email_confirm.html:27
+#, python-format
+msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
+msgstr ""
+
+#: templates/account/login.html:6 templates/account/login.html:16
+#: templates/account/login.html:39
+msgid "Sign In"
+msgstr ""
+
+#: templates/account/login.html:21
+#, python-format
+msgid ""
+"Please sign in with one\n"
+"of your existing third party accounts or sign up\n"
+"for a account and sign in below:"
+msgstr ""
+
+#: templates/account/login.html:25
+#, python-format
+msgid ""
+"If you have not created an account yet, then please\n"
+"sign up first."
+msgstr ""
+
+#: templates/account/login.html:42
+msgid "Forgot Password?"
+msgstr ""
+
+#: templates/account/login.html:47
+msgid "InvenTree demo instance"
+msgstr ""
+
+#: templates/account/login.html:47
+msgid "Click here for login details"
+msgstr ""
+
+#: templates/account/login.html:55
+msgid "or use SSO"
+msgstr ""
+
+#: templates/account/logout.html:5 templates/account/logout.html:8
+#: templates/account/logout.html:20
+msgid "Sign Out"
+msgstr ""
+
+#: templates/account/logout.html:10
+msgid "Are you sure you want to sign out?"
+msgstr ""
+
+#: templates/account/logout.html:19
+msgid "Back to Site"
+msgstr ""
+
+#: templates/account/password_reset.html:5
+#: templates/account/password_reset.html:12
+msgid "Password Reset"
+msgstr ""
+
+#: templates/account/password_reset.html:18
+msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it."
+msgstr ""
+
+#: templates/account/password_reset.html:23
+msgid "Reset My Password"
+msgstr ""
+
+#: templates/account/password_reset.html:27 templates/account/signup.html:36
+msgid "This function is currently disabled. Please contact an administrator."
+msgstr ""
+
+#: templates/account/password_reset_from_key.html:7
+msgid "Bad Token"
+msgstr ""
+
+#: templates/account/password_reset_from_key.html:11
+#, python-format
+msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
+msgstr ""
+
+#: templates/account/password_reset_from_key.html:18
+msgid "Change password"
+msgstr ""
+
+#: templates/account/password_reset_from_key.html:22
+msgid "Your password is now changed."
+msgstr ""
+
+#: templates/account/signup.html:11 templates/account/signup.html:22
+msgid "Sign Up"
+msgstr ""
+
+#: templates/account/signup.html:13
+#, python-format
+msgid "Already have an account? Then please sign in."
+msgstr ""
+
+#: templates/account/signup.html:27
+msgid "Or use a SSO-provider for signup"
+msgstr ""
+
+#: templates/admin_button.html:2
+msgid "View in administration panel"
+msgstr ""
+
+#: templates/base.html:96
+msgid "Server Restart Required"
+msgstr ""
+
+#: templates/base.html:99
+msgid "A configuration option has been changed which requires a server restart"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Contact your system administrator for further information"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:7
+msgid "Stock is required for the following build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:8
+#, python-format
+msgid "Build order %(build)s - building %(quantity)s x %(part)s"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:10
+msgid "Click on the following link to view this build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:14
+msgid "The following parts are low on required stock"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:18
+#: templates/js/translated/bom.js:989
+msgid "Required Quantity"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:19
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129
+#: templates/js/translated/build.js:1749
+msgid "Available"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:38
+#: templates/email/low_stock_notification.html:31
+msgid "You are receiving this email because you are subscribed to notifications for this part "
+msgstr ""
+
+#: templates/email/email.html:35
+msgid "InvenTree version"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:7
+#, python-format
+msgid " The available stock for %(part)s has fallen below the configured minimum level"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:9
+msgid "Click on the following link to view this part"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:17
+msgid "Total Stock"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:19
+msgid "Minimum Quantity"
msgstr ""
#: templates/image_download.html:8
@@ -6663,138 +6552,59 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/report.js:47 templates/js/translated/report.js:67
-msgid "items selected"
-msgstr ""
-
-#: templates/js/report.js:55 templates/js/translated/report.js:75
-msgid "Select Report Template"
-msgstr ""
-
-#: templates/js/report.js:70 templates/js/translated/report.js:90
-msgid "Select Test Report Template"
-msgstr ""
-
-#: templates/js/report.js:98 templates/js/translated/label.js:29
-#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/report.js:99 templates/js/translated/report.js:119
-msgid "Stock item(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:116 templates/js/report.js:169
-#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331 templates/js/translated/report.js:136
-#: templates/js/translated/report.js:189 templates/js/translated/report.js:243
-#: templates/js/translated/report.js:297 templates/js/translated/report.js:351
-msgid "No Reports Found"
-msgstr ""
-
-#: templates/js/report.js:117 templates/js/translated/report.js:137
-msgid "No report templates found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/report.js:152 templates/js/translated/report.js:172
-msgid "Select Builds"
-msgstr ""
-
-#: templates/js/report.js:153 templates/js/translated/report.js:173
-msgid "Build(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:170 templates/js/translated/report.js:190
-msgid "No report templates found which match selected build(s)"
-msgstr ""
-
-#: templates/js/report.js:205 templates/js/translated/label.js:134
-#: templates/js/translated/report.js:225
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/report.js:206 templates/js/translated/report.js:226
-msgid "Part(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:224 templates/js/translated/report.js:244
-msgid "No report templates found which match selected part(s)"
-msgstr ""
-
-#: templates/js/report.js:259 templates/js/translated/report.js:279
-msgid "Select Purchase Orders"
-msgstr ""
-
-#: templates/js/report.js:260 templates/js/translated/report.js:280
-msgid "Purchase Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/report.js:278 templates/js/report.js:332
-#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
-msgid "No report templates found which match selected orders"
-msgstr ""
-
-#: templates/js/report.js:313 templates/js/translated/report.js:333
-msgid "Select Sales Orders"
-msgstr ""
-
-#: templates/js/report.js:314 templates/js/translated/report.js:334
-msgid "Sales Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042
+#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035
msgid "No response from the InvenTree server"
msgstr ""
-#: templates/js/translated/api.js:181
+#: templates/js/translated/api.js:191
msgid "Error 400: Bad request"
msgstr ""
-#: templates/js/translated/api.js:182
+#: templates/js/translated/api.js:192
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052
+#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056
+#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061
+#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055
msgid "The requested resource could not be located on the server"
msgstr ""
-#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066
+#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060
msgid "Connection timeout while requesting data from server"
msgstr ""
-#: templates/js/translated/api.js:205
+#: templates/js/translated/api.js:215
msgid "Unhandled Error Code"
msgstr ""
-#: templates/js/translated/api.js:206
+#: templates/js/translated/api.js:216
msgid "Error code"
msgstr ""
@@ -6802,226 +6612,369 @@ msgstr ""
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:91
+#: templates/js/translated/attachment.js:95
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:104
+#: templates/js/translated/attachment.js:108
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:115
msgid "Delete attachment"
msgstr ""
-#: templates/js/translated/barcode.js:30
+#: templates/js/translated/barcode.js:29
msgid "Scan barcode data here using wedge scanner"
msgstr ""
-#: templates/js/translated/barcode.js:32
+#: templates/js/translated/barcode.js:31
msgid "Enter barcode data"
msgstr ""
-#: templates/js/translated/barcode.js:36
+#: templates/js/translated/barcode.js:35
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:54
+#: templates/js/translated/barcode.js:53
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:55
+#: templates/js/translated/barcode.js:54
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:93
+#: templates/js/translated/barcode.js:92
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:114
+#: templates/js/translated/barcode.js:113
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:141
-#: templates/js/translated/modals.js:1031
+#: templates/js/translated/barcode.js:140
+#: templates/js/translated/modals.js:1024
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:234
+#: templates/js/translated/barcode.js:233
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:281 templates/navbar.html:65
+#: templates/js/translated/barcode.js:280 templates/navbar.html:69
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:292
+#: templates/js/translated/barcode.js:291
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:310
+#: templates/js/translated/barcode.js:309
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:333
+#: templates/js/translated/barcode.js:332
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:339
+#: templates/js/translated/barcode.js:338
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289
+#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:440
+#: templates/js/translated/barcode.js:439
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:444
-#: templates/js/translated/barcode.js:571
+#: templates/js/translated/barcode.js:443
+#: templates/js/translated/barcode.js:573
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:486
-#: templates/js/translated/barcode.js:610
+#: templates/js/translated/barcode.js:485
+#: templates/js/translated/barcode.js:612
msgid "Error transferring stock"
msgstr ""
-#: templates/js/translated/barcode.js:505
+#: templates/js/translated/barcode.js:507
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:509
+#: templates/js/translated/barcode.js:511
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:516
+#: templates/js/translated/barcode.js:518
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:523
+#: templates/js/translated/barcode.js:525
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:566
+#: templates/js/translated/barcode.js:568
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:629
+#: templates/js/translated/barcode.js:633
msgid "Barcode does not match a valid location"
msgstr ""
-#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169
-msgid "Open subassembly"
+#: templates/js/translated/bom.js:184
+msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:287
-msgid "Purchase Price Range"
+#: templates/js/translated/bom.js:226
+msgid "Select and add a new variant item using the input below"
msgstr ""
-#: templates/js/translated/bom.js:294
-msgid "Purchase Price Average"
+#: templates/js/translated/bom.js:237
+msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428
-msgid "View BOM"
+#: templates/js/translated/bom.js:243
+msgid "Remove Substitute Part"
+msgstr ""
+
+#: templates/js/translated/bom.js:282
+msgid "Add Substitute"
+msgstr ""
+
+#: templates/js/translated/bom.js:283
+msgid "Edit BOM Item Substitutes"
msgstr ""
#: templates/js/translated/bom.js:402
+msgid "Substitutes Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111
+msgid "Variant stock allowed"
+msgstr ""
+
+#: templates/js/translated/bom.js:411
+msgid "Open subassembly"
+msgstr ""
+
+#: templates/js/translated/bom.js:483
+msgid "Substitutes"
+msgstr ""
+
+#: templates/js/translated/bom.js:498
+msgid "Purchase Price Range"
+msgstr ""
+
+#: templates/js/translated/bom.js:505
+msgid "Purchase Price Average"
+msgstr ""
+
+#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643
+msgid "View BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183
+#: templates/js/translated/order.js:1298
+msgid "Actions"
+msgstr ""
+
+#: templates/js/translated/bom.js:614
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:404
+#: templates/js/translated/bom.js:616
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569
+#: templates/js/translated/bom.js:618
+msgid "Edit substitute parts"
+msgstr ""
+
+#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554
+#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483
-#: templates/js/translated/build.js:1267
+#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/build.js:69
-msgid "Edit Build Order"
+#: templates/js/translated/bom.js:772
+msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/build.js:95
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/translated/build.js:127
-msgid "Auto-allocate stock items to this output"
-msgstr ""
-
-#: templates/js/translated/build.js:135
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/translated/build.js:145
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:154
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:249
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/translated/build.js:287 templates/js/translated/order.js:813
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/translated/build.js:391 templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/js/translated/build.js:702
+#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095
msgid "Required Part"
msgstr ""
-#: templates/js/translated/build.js:723
+#: templates/js/translated/bom.js:994
+msgid "Inherited from parent BOM"
+msgstr ""
+
+#: templates/js/translated/build.js:78
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:112
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:133
+msgid "Allocate stock items to this build output"
+msgstr ""
+
+#: templates/js/translated/build.js:144
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:153
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:161
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:184
+msgid "Are you sure you wish to unallocate stock items from this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:202
+msgid "Unallocate Stock Items"
+msgstr ""
+
+#: templates/js/translated/build.js:220
+msgid "Select Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:221
+msgid "At least one build output must be selected"
+msgstr ""
+
+#: templates/js/translated/build.js:275
+msgid "Output"
+msgstr ""
+
+#: templates/js/translated/build.js:291
+msgid "Complete Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:386
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:603
+msgid "No active build outputs found"
+msgstr ""
+
+#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760
+#: templates/js/translated/order.js:1305
+msgid "Edit stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761
+#: templates/js/translated/order.js:1306
+msgid "Delete stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1072
+msgid "Edit Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1082
+msgid "Remove Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1107
+msgid "Substitute parts available"
+msgstr ""
+
+#: templates/js/translated/build.js:1124
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231
-#: templates/stock_table.html:59
+#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360
+#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535
+msgid "Allocated"
+msgstr ""
+
+#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589
+msgid "Build stock"
+msgstr ""
+
+#: templates/js/translated/build.js:1194 templates/stock_table.html:52
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:846
+#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582
+msgid "Allocate stock"
+msgstr ""
+
+#: templates/js/translated/build.js:1262
+msgid "Specify stock allocation quantity"
+msgstr ""
+
+#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134
+#: templates/js/translated/report.js:225
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/translated/build.js:1334
+msgid "You must select at least one part to allocate"
+msgstr ""
+
+#: templates/js/translated/build.js:1348
+msgid "Select source location (leave blank to take from all locations)"
+msgstr ""
+
+#: templates/js/translated/build.js:1377
+msgid "Confirm stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1378
+msgid "Allocate Stock Items to Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:1389
+msgid "No matching stock locations"
+msgstr ""
+
+#: templates/js/translated/build.js:1451
+msgid "No matching stock items"
+msgstr ""
+
+#: templates/js/translated/build.js:1576
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:863 templates/js/translated/part.js:845
-#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783
-#: templates/js/translated/stock.js:1477
+#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873
+#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064
+#: templates/js/translated/stock.js:1841
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:883
+#: templates/js/translated/build.js:1613
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696
+#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:956
+#: templates/js/translated/build.js:1686
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:1007
+#: templates/js/translated/build.js:1737
msgid "No parts allocated for"
msgstr ""
@@ -7041,7 +6994,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:164 templates/js/translated/order.js:86
+#: templates/js/translated/company.js:164 templates/js/translated/order.js:90
msgid "Add Supplier"
msgstr ""
@@ -7085,53 +7038,53 @@ msgstr ""
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:475
+#: templates/js/translated/company.js:476
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:495
-#: templates/js/translated/company.js:751 templates/js/translated/part.js:416
-#: templates/js/translated/part.js:501
+#: templates/js/translated/company.js:496
+#: templates/js/translated/company.js:753 templates/js/translated/part.js:448
+#: templates/js/translated/part.js:533
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:499
-#: templates/js/translated/company.js:755 templates/js/translated/part.js:420
-#: templates/js/translated/part.js:505
+#: templates/js/translated/company.js:500
+#: templates/js/translated/company.js:757 templates/js/translated/part.js:452
+#: templates/js/translated/part.js:537
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:626 templates/js/translated/part.js:593
+#: templates/js/translated/company.js:627 templates/js/translated/part.js:625
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:663 templates/js/translated/part.js:635
+#: templates/js/translated/company.js:664 templates/js/translated/part.js:667
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:664 templates/js/translated/part.js:636
+#: templates/js/translated/company.js:665 templates/js/translated/part.js:668
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:683 templates/js/translated/part.js:653
+#: templates/js/translated/company.js:684 templates/js/translated/part.js:685
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:694 templates/js/translated/part.js:665
+#: templates/js/translated/company.js:695 templates/js/translated/part.js:697
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:731
+#: templates/js/translated/company.js:733
msgid "No supplier parts found"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:402
+#: templates/js/translated/filters.js:420
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:403
+#: templates/js/translated/filters.js:421
msgid "false"
msgstr ""
@@ -7139,53 +7092,61 @@ msgstr ""
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:279
+#: templates/js/translated/filters.js:286
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:281
+#: templates/js/translated/filters.js:290
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:284
+#: templates/js/translated/filters.js:293
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:312
+#: templates/js/translated/filters.js:329
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336
-#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360
+#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364
+#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:324
+#: templates/js/translated/forms.js:351
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:337
+#: templates/js/translated/forms.js:366
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:349
+#: templates/js/translated/forms.js:380
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:361
+#: templates/js/translated/forms.js:394
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:889 templates/modals.html:21
-#: templates/modals.html:47
+#: templates/js/translated/forms.js:679
+msgid "Enter a valid number"
+msgstr ""
+
+#: templates/js/translated/forms.js:1071 templates/modals.html:19
+#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1379
+#: templates/js/translated/forms.js:1457
+msgid "No results found"
+msgstr ""
+
+#: templates/js/translated/forms.js:1661
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:1593
+#: templates/js/translated/forms.js:1878
msgid "Clear input"
msgstr ""
@@ -7197,6 +7158,11 @@ msgstr ""
msgid "NO"
msgstr ""
+#: templates/js/translated/label.js:29 templates/js/translated/report.js:118
+#: templates/js/translated/stock.js:594
+msgid "Select Stock Items"
+msgstr ""
+
#: templates/js/translated/label.js:30
msgid "Stock item(s) must be selected before printing labels"
msgstr ""
@@ -7242,62 +7208,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119
+#: templates/js/translated/modals.js:593
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970
-#: templates/modals.html:30 templates/modals.html:55
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963
+#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:117
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:397
+#: templates/js/translated/modals.js:380
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:556
+#: templates/js/translated/modals.js:539
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:592
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:649
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:922
+#: templates/js/translated/modals.js:915
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:922
+#: templates/js/translated/modals.js:915
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:934
+#: templates/js/translated/modals.js:927
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1031
+#: templates/js/translated/modals.js:1024
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/modals.js:1039
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1047
+#: templates/js/translated/modals.js:1040
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1070
+#: templates/js/translated/modals.js:1063
msgid "Error requesting form data"
msgstr ""
@@ -7305,480 +7271,728 @@ msgstr ""
msgid "Company ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:82
+#: templates/js/translated/model_renderers.js:77
+msgid "Stock ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:130
msgid "Location ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:99
+#: templates/js/translated/model_renderers.js:147
msgid "Build ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:119
+#: templates/js/translated/model_renderers.js:182
msgid "Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:171
+#: templates/js/translated/model_renderers.js:236
+msgid "Order ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:256
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:208
+#: templates/js/translated/model_renderers.js:293
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:237
+#: templates/js/translated/model_renderers.js:322
msgid "Supplier Part ID"
msgstr ""
-#: templates/js/translated/order.js:45
+#: templates/js/translated/order.js:48
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:70
+#: templates/js/translated/order.js:73
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:295
+#: templates/js/translated/order.js:208
+msgid "Export Order"
+msgstr ""
+
+#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393
+msgid "Format"
+msgstr ""
+
+#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394
+msgid "Select file format"
+msgstr ""
+
+#: templates/js/translated/order.js:300
+msgid "Select Line Items"
+msgstr ""
+
+#: templates/js/translated/order.js:301
+msgid "At least one line item must be selected"
+msgstr ""
+
+#: templates/js/translated/order.js:326
+msgid "Quantity to receive"
+msgstr ""
+
+#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643
+msgid "Stock Status"
+msgstr ""
+
+#: templates/js/translated/order.js:427
+msgid "Order Code"
+msgstr ""
+
+#: templates/js/translated/order.js:428
+msgid "Ordered"
+msgstr ""
+
+#: templates/js/translated/order.js:430
+msgid "Receive"
+msgstr ""
+
+#: templates/js/translated/order.js:449
+msgid "Confirm receipt of items"
+msgstr ""
+
+#: templates/js/translated/order.js:450
+msgid "Receive Purchase Order Items"
+msgstr ""
+
+#: templates/js/translated/order.js:627
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:320 templates/js/translated/order.js:682
+#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:452
+#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624
+msgid "Edit Line Item"
+msgstr ""
+
+#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635
+msgid "Delete Line Item"
+msgstr ""
+
+#: templates/js/translated/order.js:801
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:617
+#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445
+msgid "Total"
+msgstr ""
+
+#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470
+#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693
+msgid "Unit Price"
+msgstr ""
+
+#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486
+msgid "Total Price"
+msgstr ""
+
+#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595
+msgid "Edit line item"
+msgstr ""
+
+#: templates/js/translated/order.js:976
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:621
+#: templates/js/translated/order.js:980
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:658
+#: templates/js/translated/order.js:1017
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:696
+#: templates/js/translated/order.js:1055
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:774
+#: templates/js/translated/order.js:1133
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/part.js:49
+#: templates/js/translated/order.js:1226
+msgid "Edit Stock Allocation"
+msgstr ""
+
+#: templates/js/translated/order.js:1244
+msgid "Delete Stock Allocation"
+msgstr ""
+
+#: templates/js/translated/order.js:1286
+msgid "Stock location not specified"
+msgstr ""
+
+#: templates/js/translated/order.js:1535
+msgid "Fulfilled"
+msgstr ""
+
+#: templates/js/translated/order.js:1579
+msgid "Allocate serial numbers"
+msgstr ""
+
+#: templates/js/translated/order.js:1585
+msgid "Purchase stock"
+msgstr ""
+
+#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771
+msgid "Calculate price"
+msgstr ""
+
+#: templates/js/translated/order.js:1596
+msgid "Delete line item "
+msgstr ""
+
+#: templates/js/translated/order.js:1719
+msgid "Allocate Stock Item"
+msgstr ""
+
+#: templates/js/translated/order.js:1779
+msgid "Update Unit Price"
+msgstr ""
+
+#: templates/js/translated/order.js:1793
+msgid "No matching line items"
+msgstr ""
+
+#: templates/js/translated/part.js:50
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:53
+#: templates/js/translated/part.js:54
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:57
+#: templates/js/translated/part.js:58
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:61
+#: templates/js/translated/part.js:62
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:75
+#: templates/js/translated/part.js:76
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:159
+#: templates/js/translated/part.js:165
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:160
+#: templates/js/translated/part.js:166
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:167
+#: templates/js/translated/part.js:173
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:168
+#: templates/js/translated/part.js:174
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330
+#: templates/js/translated/part.js:181
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:186
+#: templates/js/translated/part.js:192
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:187
+#: templates/js/translated/part.js:193
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:195
+#: templates/js/translated/part.js:201
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:196
+#: templates/js/translated/part.js:202
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:252
+#: templates/js/translated/part.js:258
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:253
+#: templates/js/translated/part.js:259
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:260
-msgid "Copy BOM"
-msgstr ""
-
-#: templates/js/translated/part.js:261
+#: templates/js/translated/part.js:267
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:268
+#: templates/js/translated/part.js:274
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:269
+#: templates/js/translated/part.js:275
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:282
+#: templates/js/translated/part.js:288
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:323
+#: templates/js/translated/part.js:332
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:408 templates/js/translated/part.js:493
+#: templates/js/translated/part.js:334
+msgid "Part edited"
+msgstr ""
+
+#: templates/js/translated/part.js:402
+msgid "You are subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:404
+msgid "You have subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:409
+msgid "Subscribe to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:411
+msgid "You have unsubscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:440 templates/js/translated/part.js:525
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:412 templates/js/translated/part.js:497
+#: templates/js/translated/part.js:444 templates/js/translated/part.js:529
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:424
-msgid "Starred part"
+#: templates/js/translated/part.js:456
+msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:428
+#: templates/js/translated/part.js:460
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:543
+#: templates/js/translated/part.js:575
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:732 templates/js/translated/part.js:994
+#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:921
+#: templates/js/translated/part.js:933
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:944
-#: templates/js/translated/table_filters.js:350
+#: templates/js/translated/part.js:956
+#: templates/js/translated/table_filters.js:375
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501
+#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200
+#: templates/js/translated/stock.js:1802
+msgid "Display as list"
+msgstr ""
+
+#: templates/js/translated/part.js:1044
+msgid "Display as grid"
+msgstr ""
+
+#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821
+msgid "Display as tree"
+msgstr ""
+
+#: templates/js/translated/part.js:1283
+msgid "Subscribed category"
+msgstr ""
+
+#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1191
+#: templates/js/translated/part.js:1341
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514
+#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515
+#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1249
+#: templates/js/translated/part.js:1399
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1274
+#: templates/js/translated/part.js:1421
+msgid "Edit Test Result Template"
+msgstr ""
+
+#: templates/js/translated/part.js:1435
+msgid "Delete Test Result Template"
+msgstr ""
+
+#: templates/js/translated/part.js:1460
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1329
+#: templates/js/translated/part.js:1515
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1330
+#: templates/js/translated/part.js:1516
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1431
+#: templates/js/translated/part.js:1617
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1450
+#: templates/js/translated/part.js:1636
msgid "Single Price Difference"
msgstr ""
-#: templates/js/translated/stock.js:66
+#: templates/js/translated/report.js:67
+msgid "items selected"
+msgstr ""
+
+#: templates/js/translated/report.js:75
+msgid "Select Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:90
+msgid "Select Test Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:119
+msgid "Stock item(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:136 templates/js/translated/report.js:189
+#: templates/js/translated/report.js:243 templates/js/translated/report.js:297
+#: templates/js/translated/report.js:351
+msgid "No Reports Found"
+msgstr ""
+
+#: templates/js/translated/report.js:137
+msgid "No report templates found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:172
+msgid "Select Builds"
+msgstr ""
+
+#: templates/js/translated/report.js:173
+msgid "Build(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:190
+msgid "No report templates found which match selected build(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:226
+msgid "Part(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:244
+msgid "No report templates found which match selected part(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:279
+msgid "Select Purchase Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:280
+msgid "Purchase Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
+msgid "No report templates found which match selected orders"
+msgstr ""
+
+#: templates/js/translated/report.js:333
+msgid "Select Sales Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:334
+msgid "Sales Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/stock.js:70
+msgid "Serialize Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:90
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:96
+#: templates/js/translated/stock.js:126
+msgid "New Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:189
+msgid "Enter initial quantity for this stock item"
+msgstr ""
+
+#: templates/js/translated/stock.js:195
+msgid "Enter serial numbers for new stock (or leave blank)"
+msgstr ""
+
+#: templates/js/translated/stock.js:338
+msgid "Created new stock item"
+msgstr ""
+
+#: templates/js/translated/stock.js:351
+msgid "Created multiple stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:390
msgid "Export Stock"
msgstr ""
-#: templates/js/translated/stock.js:99
-msgid "Format"
-msgstr ""
-
-#: templates/js/translated/stock.js:100
-msgid "Select file format"
-msgstr ""
-
-#: templates/js/translated/stock.js:124
+#: templates/js/translated/stock.js:401
msgid "Include Sublocations"
msgstr ""
-#: templates/js/translated/stock.js:125
+#: templates/js/translated/stock.js:402
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/translated/stock.js:167
+#: templates/js/translated/stock.js:444
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:168
+#: templates/js/translated/stock.js:445
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:174
+#: templates/js/translated/stock.js:451
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:175
+#: templates/js/translated/stock.js:452
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:179
+#: templates/js/translated/stock.js:456
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:180
+#: templates/js/translated/stock.js:457
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:184
+#: templates/js/translated/stock.js:461
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:185 users/models.py:190
+#: templates/js/translated/stock.js:462 users/models.py:200
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:189 templates/stock_table.html:63
+#: templates/js/translated/stock.js:466 templates/stock_table.html:56
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:278
+#: templates/js/translated/stock.js:555
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:278
+#: templates/js/translated/stock.js:555
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:314
+#: templates/js/translated/stock.js:595
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:339
-msgid "Stock transaction notes"
-msgstr ""
-
-#: templates/js/translated/stock.js:477
+#: templates/js/translated/stock.js:753
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:479
+#: templates/js/translated/stock.js:755
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:484
+#: templates/js/translated/stock.js:760
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:510
+#: templates/js/translated/stock.js:782
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:536
+#: templates/js/translated/stock.js:808
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:584
+#: templates/js/translated/stock.js:865
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:691
+#: templates/js/translated/stock.js:972
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:695
+#: templates/js/translated/stock.js:976
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:703
+#: templates/js/translated/stock.js:980
+msgid "Shipped to customer"
+msgstr ""
+
+#: templates/js/translated/stock.js:984
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:865
+#: templates/js/translated/stock.js:990
+msgid "No stock location set"
+msgstr ""
+
+#: templates/js/translated/stock.js:1148
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:870
+#: templates/js/translated/stock.js:1153
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:873
+#: templates/js/translated/stock.js:1156
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:877
+#: templates/js/translated/stock.js:1160
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:879
+#: templates/js/translated/stock.js:1162
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:883
+#: templates/js/translated/stock.js:1166
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:887
+#: templates/js/translated/stock.js:1170
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:894
+#: templates/js/translated/stock.js:1177
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:896
+#: templates/js/translated/stock.js:1179
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:898
+#: templates/js/translated/stock.js:1181
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:902
-#: templates/js/translated/table_filters.js:161
+#: templates/js/translated/stock.js:1185
+#: templates/js/translated/table_filters.js:177
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:956
+#: templates/js/translated/stock.js:1235
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1029
+#: templates/js/translated/stock.js:1308
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1067
+#: templates/js/translated/stock.js:1346
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136
+#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415
msgid "items"
msgstr ""
-#: templates/js/translated/stock.js:1176
+#: templates/js/translated/stock.js:1455
msgid "batches"
msgstr ""
-#: templates/js/translated/stock.js:1203
+#: templates/js/translated/stock.js:1482
msgid "locations"
msgstr ""
-#: templates/js/translated/stock.js:1205
+#: templates/js/translated/stock.js:1484
msgid "Undefined location"
msgstr ""
-#: templates/js/translated/stock.js:1364
-msgid "Stock Status"
-msgstr ""
-
-#: templates/js/translated/stock.js:1379
+#: templates/js/translated/stock.js:1658
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:1393
+#: templates/js/translated/stock.js:1672
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:1394
+#: templates/js/translated/stock.js:1673
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:1533
+#: templates/js/translated/stock.js:1897
msgid "Invalid date"
msgstr ""
-#: templates/js/translated/stock.js:1580
+#: templates/js/translated/stock.js:1919
+msgid "Details"
+msgstr ""
+
+#: templates/js/translated/stock.js:1944
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1599
+#: templates/js/translated/stock.js:1963
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1618
+#: templates/js/translated/stock.js:1982
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1636
+#: templates/js/translated/stock.js:2000
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1659
+#: templates/js/translated/stock.js:2023
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:1667
+#: templates/js/translated/stock.js:2031
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:1708
+#: templates/js/translated/stock.js:2072
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1709
+#: templates/js/translated/stock.js:2073
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1833
+#: templates/js/translated/stock.js:2124
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:1856
-msgid "Serial"
-msgstr ""
-
-#: templates/js/translated/stock.js:1884
+#: templates/js/translated/stock.js:2175
msgid "Uninstall Stock Item"
msgstr ""
@@ -7798,324 +8012,278 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:156
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:172
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:93
+#: templates/js/translated/table_filters.js:105
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:103
-#: templates/js/translated/table_filters.js:104
-#: templates/js/translated/table_filters.js:327
+#: templates/js/translated/table_filters.js:115
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:352
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:114
-#: templates/js/translated/table_filters.js:191
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:117
-#: templates/js/translated/table_filters.js:198
-msgid "Serial number GTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:118
-#: templates/js/translated/table_filters.js:199
-msgid "Serial number greater than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:121
-#: templates/js/translated/table_filters.js:202
-msgid "Serial number LTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:122
-#: templates/js/translated/table_filters.js:203
-msgid "Serial number less than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:125
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:195
-msgid "Serial number"
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:387
+msgid "Subscribed"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:212
-msgid "Batch code"
+#: templates/js/translated/table_filters.js:207
+msgid "Is Serialized"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:214
+msgid "Serial number GTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:134
+#: templates/js/translated/table_filters.js:215
+msgid "Serial number greater than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:137
+#: templates/js/translated/table_filters.js:218
+msgid "Serial number LTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:138
+#: templates/js/translated/table_filters.js:219
+msgid "Serial number less than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:141
-#: templates/js/translated/table_filters.js:317
-msgid "Active parts"
-msgstr ""
-
#: templates/js/translated/table_filters.js:142
-msgid "Show stock for active parts"
+#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:211
+msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:147
-msgid "Part is an assembly"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:151
-msgid "Is allocated"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:152
-msgid "Item has been allocated"
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:228
+msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:157
-msgid "Include stock in sublocations"
+#: templates/js/translated/table_filters.js:342
+msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:162
-msgid "Show stock items which are depleted"
+#: templates/js/translated/table_filters.js:158
+msgid "Show stock for active parts"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:163
+msgid "Part is an assembly"
msgstr ""
#: templates/js/translated/table_filters.js:167
+msgid "Is allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:168
+msgid "Item has been allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:173
+msgid "Include stock in sublocations"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:178
+msgid "Show stock items which are depleted"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:183
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:187
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:188
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:176
+#: templates/js/translated/table_filters.js:192
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:177
+#: templates/js/translated/table_filters.js:193
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:197
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:182
+#: templates/js/translated/table_filters.js:198
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:187
+#: templates/js/translated/table_filters.js:203
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:207
-#: templates/js/translated/table_filters.js:208
+#: templates/js/translated/table_filters.js:223
+#: templates/js/translated/table_filters.js:224
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/table_filters.js:232
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:233
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:242
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:248
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:279
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:282
-#: templates/js/translated/table_filters.js:299
+#: templates/js/translated/table_filters.js:307
+#: templates/js/translated/table_filters.js:324
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:287
-#: templates/js/translated/table_filters.js:304
+#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:329
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:328
+#: templates/js/translated/table_filters.js:353
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:332
+#: templates/js/translated/table_filters.js:357
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:333
+#: templates/js/translated/table_filters.js:358
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:338
+#: templates/js/translated/table_filters.js:363
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:346
+#: templates/js/translated/table_filters.js:371
msgid "Stock available"
msgstr ""
-#: templates/js/translated/table_filters.js:362
-msgid "Starred"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:374
+#: templates/js/translated/table_filters.js:399
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/tables.js:357
+#: templates/js/translated/tables.js:368
msgid "Loading data"
msgstr ""
-#: templates/js/translated/tables.js:360
+#: templates/js/translated/tables.js:371
msgid "rows per page"
msgstr ""
-#: templates/js/translated/tables.js:363
+#: templates/js/translated/tables.js:374
msgid "Showing"
msgstr ""
-#: templates/js/translated/tables.js:363
+#: templates/js/translated/tables.js:374
msgid "to"
msgstr ""
-#: templates/js/translated/tables.js:363
+#: templates/js/translated/tables.js:374
msgid "of"
msgstr ""
-#: templates/js/translated/tables.js:363
+#: templates/js/translated/tables.js:374
msgid "rows"
msgstr ""
-#: templates/js/translated/tables.js:369
+#: templates/js/translated/tables.js:377 templates/search_form.html:6
+#: templates/search_form.html:7
+msgid "Search"
+msgstr ""
+
+#: templates/js/translated/tables.js:380
msgid "No matching results"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:383
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/translated/tables.js:375
+#: templates/js/translated/tables.js:386
msgid "Refresh"
msgstr ""
-#: templates/js/translated/tables.js:378
+#: templates/js/translated/tables.js:389
msgid "Toggle"
msgstr ""
-#: templates/js/translated/tables.js:381
+#: templates/js/translated/tables.js:392
msgid "Columns"
msgstr ""
-#: templates/js/translated/tables.js:384
+#: templates/js/translated/tables.js:395
msgid "All"
msgstr ""
-#: templates/navbar.html:19
-msgid "Toggle navigation"
-msgstr ""
-
-#: templates/navbar.html:39
+#: templates/navbar.html:40
msgid "Buy"
msgstr ""
-#: templates/navbar.html:51
+#: templates/navbar.html:52
msgid "Sell"
msgstr ""
-#: templates/navbar.html:87 users/models.py:39
+#: templates/navbar.html:86 users/models.py:39
msgid "Admin"
msgstr ""
-#: templates/navbar.html:89
+#: templates/navbar.html:88
msgid "Logout"
msgstr ""
-#: templates/navbar.html:91 templates/registration/login.html:89
+#: templates/navbar.html:90
msgid "Login"
msgstr ""
-#: templates/navbar.html:114
+#: templates/navbar.html:111
msgid "About InvenTree"
msgstr ""
+#: templates/navbar_demo.html:5
+msgid "InvenTree demo mode"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
-#: templates/registration/logged_out.html:50
-msgid "You have been logged out"
+#: templates/registration/logged_out.html:6
+msgid "You were logged out successfully."
msgstr ""
-#: templates/registration/logged_out.html:51
-#: templates/registration/password_reset_complete.html:51
-#: templates/registration/password_reset_done.html:58
-msgid "Return to login screen"
+#: templates/registration/logged_out.html:8
+msgid "Log in again"
msgstr ""
-#: templates/registration/login.html:64
-msgid "Enter username"
-msgstr ""
-
-#: templates/registration/login.html:70
-msgid "Password"
-msgstr ""
-
-#: templates/registration/login.html:83
-msgid "Username / password combination is incorrect"
-msgstr ""
-
-#: templates/registration/login.html:95
-#: templates/registration/password_reset_form.html:51
-msgid "Forgotten your password?"
-msgstr ""
-
-#: templates/registration/login.html:95
-msgid "Click here to reset"
-msgstr ""
-
-#: templates/registration/password_reset_complete.html:50
-msgid "Password reset complete"
-msgstr ""
-
-#: templates/registration/password_reset_confirm.html:52
-#: templates/registration/password_reset_confirm.html:56
-msgid "Change password"
-msgstr ""
-
-#: templates/registration/password_reset_confirm.html:60
-msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
-msgstr ""
-
-#: templates/registration/password_reset_done.html:51
-msgid "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly."
-msgstr ""
-
-#: templates/registration/password_reset_done.html:54
-msgid "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder."
-msgstr ""
-
-#: templates/registration/password_reset_form.html:52
-msgid "Enter your email address below."
-msgstr ""
-
-#: templates/registration/password_reset_form.html:53
-msgid "An email will be sent with password reset instructions."
-msgstr ""
-
-#: templates/registration/password_reset_form.html:58
-msgid "Send email"
+#: templates/stats.html:9
+msgid "Server"
msgstr ""
#: templates/stats.html:13
@@ -8170,51 +8338,51 @@ msgstr ""
msgid "Export Stock Information"
msgstr ""
-#: templates/stock_table.html:27
+#: templates/stock_table.html:20
msgid "Barcode Actions"
msgstr ""
-#: templates/stock_table.html:43
+#: templates/stock_table.html:36
msgid "Print test reports"
msgstr ""
-#: templates/stock_table.html:50
+#: templates/stock_table.html:43
msgid "Stock Options"
msgstr ""
-#: templates/stock_table.html:55
+#: templates/stock_table.html:48
msgid "Add to selected stock items"
msgstr ""
-#: templates/stock_table.html:56
+#: templates/stock_table.html:49
msgid "Remove from selected stock items"
msgstr ""
-#: templates/stock_table.html:57
+#: templates/stock_table.html:50
msgid "Stocktake selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move stock"
msgstr ""
-#: templates/stock_table.html:59
+#: templates/stock_table.html:52
msgid "Order selected items"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change status"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change stock status"
msgstr ""
-#: templates/stock_table.html:63
+#: templates/stock_table.html:56
msgid "Delete selected items"
msgstr ""
@@ -8250,34 +8418,34 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:177
+#: users/models.py:187
msgid "Permission set"
msgstr ""
-#: users/models.py:185
+#: users/models.py:195
msgid "Group"
msgstr ""
-#: users/models.py:188
+#: users/models.py:198
msgid "View"
msgstr ""
-#: users/models.py:188
+#: users/models.py:198
msgid "Permission to view items"
msgstr ""
-#: users/models.py:190
+#: users/models.py:200
msgid "Permission to add items"
msgstr ""
-#: users/models.py:192
+#: users/models.py:202
msgid "Change"
msgstr ""
-#: users/models.py:192
+#: users/models.py:202
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:194
+#: users/models.py:204
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/es/LC_MESSAGES/django.mo b/InvenTree/locale/es/LC_MESSAGES/django.mo
index 2343941a2a..5fe6a6efb8 100644
Binary files a/InvenTree/locale/es/LC_MESSAGES/django.mo and b/InvenTree/locale/es/LC_MESSAGES/django.mo differ
diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po
index 199e95b752..351f5a3483 100644
--- a/InvenTree/locale/es/LC_MESSAGES/django.po
+++ b/InvenTree/locale/es/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-11 06:21+0000\n"
+"POT-Creation-Date: 2021-11-22 22:08+0000\n"
"PO-Revision-Date: 2021-10-11 06:29\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
@@ -33,260 +33,266 @@ msgstr "No se encontró ninguna acción coincidente"
msgid "Enter date"
msgstr "Ingrese la fecha"
-#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123
-#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27
-#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71
-#: part/forms.py:108 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:564
+#: InvenTree/forms.py:120 build/forms.py:48 build/forms.py:69 build/forms.py:93
+#: order/forms.py:26 order/forms.py:37 order/forms.py:48 order/forms.py:59
+#: order/forms.py:70 part/forms.py:108 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:594
msgid "Confirm"
msgstr "Confirmar"
-#: InvenTree/forms.py:132
+#: InvenTree/forms.py:136
msgid "Confirm delete"
msgstr "Confirmar eliminación"
-#: InvenTree/forms.py:133
+#: InvenTree/forms.py:137
msgid "Confirm item deletion"
msgstr "Confirmar borrado de artículo"
-#: InvenTree/forms.py:164
+#: InvenTree/forms.py:168
msgid "Enter password"
msgstr "Introduzca contraseña"
-#: InvenTree/forms.py:165
+#: InvenTree/forms.py:169
msgid "Enter new password"
msgstr "Ingrese su nueva contraseña"
-#: InvenTree/forms.py:172
+#: InvenTree/forms.py:176
msgid "Confirm password"
msgstr "Confirmar la contraseña"
-#: InvenTree/forms.py:173
+#: InvenTree/forms.py:177
msgid "Confirm new password"
msgstr "Confirmar contraseña nueva"
-#: InvenTree/forms.py:205
+#: InvenTree/forms.py:209
msgid "Select Category"
msgstr "Seleccionar Categoría"
-#: InvenTree/forms.py:226
-msgid "E-mail (again)"
-msgstr ""
-
#: InvenTree/forms.py:230
-msgid "E-mail address confirmation"
+msgid "Email (again)"
msgstr ""
-#: InvenTree/forms.py:250
+#: InvenTree/forms.py:234
+msgid "Email address confirmation"
+msgstr ""
+
+#: InvenTree/forms.py:254
msgid "You must type the same email each time."
msgstr ""
-#: InvenTree/helpers.py:401
+#: InvenTree/helpers.py:430
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr "Número de serie duplicado: {n}"
-#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437
-#: stock/views.py:1340
+#: InvenTree/helpers.py:437 order/models.py:318 order/models.py:440
+#: stock/views.py:1264
msgid "Invalid quantity provided"
msgstr "Cantidad proporcionada no válida"
-#: InvenTree/helpers.py:411
+#: InvenTree/helpers.py:440
msgid "Empty serial number string"
msgstr "No se ha proporcionado un número de serie"
-#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:462 InvenTree/helpers.py:465 InvenTree/helpers.py:468
+#: InvenTree/helpers.py:493
#, python-brace-format
msgid "Invalid group: {g}"
msgstr "Grupo no válido: un {g}"
-#: InvenTree/helpers.py:469
+#: InvenTree/helpers.py:498
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr "Número de serie duplicado: {g}"
-#: InvenTree/helpers.py:477
+#: InvenTree/helpers.py:506
msgid "No serial numbers found"
msgstr "Numeros de serie no encontrados"
-#: InvenTree/helpers.py:481
+#: InvenTree/helpers.py:510
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr "El número de números de serie únicos ({s}) debe coincidir con la cantidad ({q})"
-#: InvenTree/models.py:66 stock/models.py:1823
+#: InvenTree/models.py:109 stock/models.py:1874
msgid "Attachment"
msgstr "Archivo adjunto"
-#: InvenTree/models.py:67
+#: InvenTree/models.py:110
msgid "Select file to attach"
msgstr "Seleccionar archivo para adjuntar"
-#: InvenTree/models.py:69 templates/js/translated/attachment.js:87
+#: InvenTree/models.py:112 templates/js/translated/attachment.js:91
msgid "Comment"
msgstr "Comentario"
-#: InvenTree/models.py:69
+#: InvenTree/models.py:112
msgid "File comment"
msgstr "Comentario del archivo"
-#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055
-#: common/models.py:1056 part/models.py:2055
-#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/translated/stock.js:1669
+#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185
+#: common/models.py:1186 part/models.py:2205 part/models.py:2225
+#: report/templates/report/inventree_test_report_base.html:96
+#: templates/js/translated/stock.js:2054
msgid "User"
msgstr "Usuario"
-#: InvenTree/models.py:79
+#: InvenTree/models.py:122
msgid "upload date"
msgstr "fecha de subida"
-#: InvenTree/models.py:99
+#: InvenTree/models.py:142
msgid "Filename must not be empty"
msgstr "El nombre del archivo no debe estar vacío"
-#: InvenTree/models.py:122
+#: InvenTree/models.py:165
msgid "Invalid attachment directory"
msgstr "Directorio de archivos adjuntos no válido"
-#: InvenTree/models.py:132
+#: InvenTree/models.py:175
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr "El nombre del archivo contiene el carácter ilegal '{c}'"
-#: InvenTree/models.py:135
+#: InvenTree/models.py:178
msgid "Filename missing extension"
msgstr "Falta el nombre de extensión del archivo"
-#: InvenTree/models.py:142
+#: InvenTree/models.py:185
msgid "Attachment with this filename already exists"
msgstr "Ya existe un archivo adjunto con este nombre"
-#: InvenTree/models.py:149
+#: InvenTree/models.py:192
msgid "Error renaming file"
msgstr "Error al cambiar el nombre del archivo"
-#: InvenTree/models.py:184
+#: InvenTree/models.py:227
msgid "Invalid choice"
msgstr "Selección no válida"
-#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415
-#: label/models.py:112 part/models.py:659 part/models.py:2216
-#: part/templates/part/part_base.html:241 report/models.py:181
-#: templates/js/translated/company.js:637 templates/js/translated/part.js:477
-#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141
-#: templates/js/translated/stock.js:1462
+#: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415
+#: label/models.py:112 part/models.py:741 part/models.py:2389
+#: part/templates/part/detail.html:25 report/models.py:181
+#: templates/js/translated/company.js:637 templates/js/translated/part.js:498
+#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272
+#: templates/js/translated/stock.js:1847
msgid "Name"
msgstr "Nombre"
-#: InvenTree/models.py:207 build/models.py:189
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/manufacturer_part.html:76
-#: company/templates/company/supplier_part.html:75 label/models.py:119
-#: order/models.py:158 part/models.py:682
-#: part/templates/part/part_base.html:246
+#: InvenTree/models.py:250 build/models.py:207
+#: build/templates/build/detail.html:25 company/models.py:354
+#: company/models.py:570 company/templates/company/manufacturer_part.html:80
+#: company/templates/company/supplier_part.html:81 label/models.py:119
+#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30
#: part/templates/part/set_category.html:14 report/models.py:194
-#: report/models.py:551 report/models.py:590
+#: report/models.py:553 report/models.py:592
#: report/templates/report/inventree_build_order_base.html:118
-#: templates/InvenTree/settings/header.html:9
-#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217
-#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344
+#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214
+#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621
+#: templates/js/translated/company.js:344
#: templates/js/translated/company.js:547
-#: templates/js/translated/company.js:836 templates/js/translated/order.js:672
-#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056
-#: templates/js/translated/part.js:536 templates/js/translated/part.js:724
-#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153
-#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819
-#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519
+#: templates/js/translated/company.js:836 templates/js/translated/order.js:673
+#: templates/js/translated/order.js:833 templates/js/translated/order.js:1069
+#: templates/js/translated/part.js:557 templates/js/translated/part.js:745
+#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291
+#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121
+#: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904
msgid "Description"
msgstr "Descripción"
-#: InvenTree/models.py:208
+#: InvenTree/models.py:251
msgid "Description (optional)"
msgstr "Descripción (opcional)"
-#: InvenTree/models.py:216
+#: InvenTree/models.py:259
msgid "parent"
msgstr "padre"
-#: InvenTree/serializers.py:55 part/models.py:2475
+#: InvenTree/serializers.py:62 part/models.py:2674
msgid "Must be a valid number"
msgstr "Debe ser un numero valido"
-#: InvenTree/serializers.py:244
+#: InvenTree/serializers.py:251
msgid "Filename"
msgstr "Nombre de Archivo"
-#: InvenTree/settings.py:529
+#: InvenTree/settings.py:663
msgid "German"
msgstr "Alemán"
-#: InvenTree/settings.py:530
+#: InvenTree/settings.py:664
msgid "Greek"
msgstr "Griego"
-#: InvenTree/settings.py:531
+#: InvenTree/settings.py:665
msgid "English"
msgstr "Inglés"
-#: InvenTree/settings.py:532
+#: InvenTree/settings.py:666
msgid "Spanish"
msgstr "Español"
-#: InvenTree/settings.py:533
+#: InvenTree/settings.py:667
+msgid "Spanish (Mexican)"
+msgstr ""
+
+#: InvenTree/settings.py:668
msgid "French"
msgstr "Francés"
-#: InvenTree/settings.py:534
+#: InvenTree/settings.py:669
msgid "Hebrew"
msgstr "Hebreo"
-#: InvenTree/settings.py:535
+#: InvenTree/settings.py:670
msgid "Italian"
msgstr "Italiano"
-#: InvenTree/settings.py:536
+#: InvenTree/settings.py:671
msgid "Japanese"
msgstr "Japonés"
-#: InvenTree/settings.py:537
+#: InvenTree/settings.py:672
msgid "Korean"
msgstr "Coreano"
-#: InvenTree/settings.py:538
+#: InvenTree/settings.py:673
msgid "Dutch"
msgstr "Holandés"
-#: InvenTree/settings.py:539
+#: InvenTree/settings.py:674
msgid "Norwegian"
msgstr "Noruego"
-#: InvenTree/settings.py:540
+#: InvenTree/settings.py:675
msgid "Polish"
msgstr "Polaco"
-#: InvenTree/settings.py:541
+#: InvenTree/settings.py:676
+msgid "Portugese"
+msgstr ""
+
+#: InvenTree/settings.py:677
msgid "Russian"
msgstr "Ruso"
-#: InvenTree/settings.py:542
+#: InvenTree/settings.py:678
msgid "Swedish"
msgstr "Sueco"
-#: InvenTree/settings.py:543
+#: InvenTree/settings.py:679
msgid "Thai"
msgstr "Tailandés"
-#: InvenTree/settings.py:544
+#: InvenTree/settings.py:680
msgid "Turkish"
msgstr "Turco"
-#: InvenTree/settings.py:545
+#: InvenTree/settings.py:681
msgid "Vietnamese"
msgstr "Vietnamita"
-#: InvenTree/settings.py:546
+#: InvenTree/settings.py:682
msgid "Chinese"
msgstr "Chino"
@@ -302,196 +308,196 @@ msgstr "No se ha configurado el backend de correo"
msgid "InvenTree system health checks failed"
msgstr "Las comprobaciones de estado del sistema InvenTree fallaron"
-#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145
-#: InvenTree/status_codes.py:314
+#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142
+#: InvenTree/status_codes.py:311
msgid "Pending"
msgstr "Pendiente"
-#: InvenTree/status_codes.py:105
+#: InvenTree/status_codes.py:102
msgid "Placed"
msgstr "Colocado"
-#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317
+#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:314
msgid "Complete"
msgstr "Terminado"
-#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147
-#: InvenTree/status_codes.py:316
+#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144
+#: InvenTree/status_codes.py:313
msgid "Cancelled"
msgstr "Cancelado"
-#: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148
-#: InvenTree/status_codes.py:190
+#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145
+#: InvenTree/status_codes.py:187
msgid "Lost"
msgstr "Perdida"
-#: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149
-#: InvenTree/status_codes.py:192
+#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146
+#: InvenTree/status_codes.py:189
msgid "Returned"
msgstr "Devuelto"
-#: InvenTree/status_codes.py:146
-#: order/templates/order/sales_order_base.html:131
+#: InvenTree/status_codes.py:143
+#: order/templates/order/sales_order_base.html:147
msgid "Shipped"
msgstr "Enviado"
-#: InvenTree/status_codes.py:186
+#: InvenTree/status_codes.py:183
msgid "OK"
msgstr "OK"
-#: InvenTree/status_codes.py:187
+#: InvenTree/status_codes.py:184
msgid "Attention needed"
msgstr "Atención necesaria"
-#: InvenTree/status_codes.py:188
+#: InvenTree/status_codes.py:185
msgid "Damaged"
msgstr "Dañado"
-#: InvenTree/status_codes.py:189
+#: InvenTree/status_codes.py:186
msgid "Destroyed"
msgstr "Destruido"
-#: InvenTree/status_codes.py:191
+#: InvenTree/status_codes.py:188
msgid "Rejected"
msgstr "Rechazado"
-#: InvenTree/status_codes.py:272
+#: InvenTree/status_codes.py:269
msgid "Legacy stock tracking entry"
msgstr "Entrada antigua de rastreo de stock"
-#: InvenTree/status_codes.py:274
+#: InvenTree/status_codes.py:271
msgid "Stock item created"
msgstr "Artículo de stock creado"
-#: InvenTree/status_codes.py:276
+#: InvenTree/status_codes.py:273
msgid "Edited stock item"
msgstr "Elemento de stock editado"
-#: InvenTree/status_codes.py:277
+#: InvenTree/status_codes.py:274
msgid "Assigned serial number"
msgstr "Número de serie asignado"
-#: InvenTree/status_codes.py:279
+#: InvenTree/status_codes.py:276
msgid "Stock counted"
msgstr "Stock contado"
-#: InvenTree/status_codes.py:280
+#: InvenTree/status_codes.py:277
msgid "Stock manually added"
msgstr "Stock añadido manualmente"
-#: InvenTree/status_codes.py:281
+#: InvenTree/status_codes.py:278
msgid "Stock manually removed"
msgstr "Stock eliminado manualmente"
-#: InvenTree/status_codes.py:283
+#: InvenTree/status_codes.py:280
msgid "Location changed"
msgstr "Ubicación cambiada"
-#: InvenTree/status_codes.py:285
+#: InvenTree/status_codes.py:282
msgid "Installed into assembly"
msgstr "Instalado en el ensamblaje"
-#: InvenTree/status_codes.py:286
+#: InvenTree/status_codes.py:283
msgid "Removed from assembly"
msgstr "Retirado del ensamblaje"
-#: InvenTree/status_codes.py:288
+#: InvenTree/status_codes.py:285
msgid "Installed component item"
msgstr "Artículo del componente instalado"
-#: InvenTree/status_codes.py:289
+#: InvenTree/status_codes.py:286
msgid "Removed component item"
msgstr "Elemento de componente eliminado"
-#: InvenTree/status_codes.py:291
+#: InvenTree/status_codes.py:288
msgid "Split from parent item"
msgstr "Separar del elemento principal"
-#: InvenTree/status_codes.py:292
+#: InvenTree/status_codes.py:289
msgid "Split child item"
msgstr "Dividir elemento secundario"
-#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186
+#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202
msgid "Sent to customer"
msgstr "Enviar al cliente"
-#: InvenTree/status_codes.py:295
+#: InvenTree/status_codes.py:292
msgid "Returned from customer"
msgstr "Devolución del cliente"
-#: InvenTree/status_codes.py:297
+#: InvenTree/status_codes.py:294
msgid "Build order output created"
msgstr "Trabajo de ensamblaje creado"
-#: InvenTree/status_codes.py:298
+#: InvenTree/status_codes.py:295
msgid "Build order output completed"
msgstr "Construir orden de salida completado"
-#: InvenTree/status_codes.py:300
+#: InvenTree/status_codes.py:297
msgid "Received against purchase order"
msgstr "Recibido contra la orden de compra"
-#: InvenTree/status_codes.py:315
+#: InvenTree/status_codes.py:312
msgid "Production"
msgstr "Producción"
-#: InvenTree/validators.py:22
+#: InvenTree/validators.py:23
msgid "Not a valid currency code"
msgstr "No es un código de moneda válido"
-#: InvenTree/validators.py:50
+#: InvenTree/validators.py:51
msgid "Invalid character in part name"
msgstr "Carácter no válido en el nombre del artículo"
-#: InvenTree/validators.py:63
+#: InvenTree/validators.py:64
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "El IPN debe coincidir con la expresión regular {pat}"
-#: InvenTree/validators.py:77 InvenTree/validators.py:91
-#: InvenTree/validators.py:105
+#: InvenTree/validators.py:78 InvenTree/validators.py:92
+#: InvenTree/validators.py:106
#, python-brace-format
msgid "Reference must match pattern {pattern}"
msgstr "La referencia debe coincidir con la expresión regular {pattern}"
-#: InvenTree/validators.py:113
+#: InvenTree/validators.py:114
#, python-brace-format
msgid "Illegal character in name ({x})"
msgstr "Carácter ilegal en el nombre ({x})"
-#: InvenTree/validators.py:132 InvenTree/validators.py:148
+#: InvenTree/validators.py:133 InvenTree/validators.py:149
msgid "Overage value must not be negative"
msgstr "El valor excedente no debe ser negativo"
-#: InvenTree/validators.py:150
+#: InvenTree/validators.py:151
msgid "Overage must not exceed 100%"
msgstr "El excedente no debe superar el 100%"
-#: InvenTree/validators.py:157
+#: InvenTree/validators.py:158
msgid "Overage must be an integer value or a percentage"
msgstr "El excedente debe ser un valor entero o un porcentaje"
-#: InvenTree/views.py:616
+#: InvenTree/views.py:536
msgid "Delete Item"
msgstr "Eliminar elemento"
-#: InvenTree/views.py:665
+#: InvenTree/views.py:585
msgid "Check box to confirm item deletion"
msgstr "Marque la casilla para confirmar la eliminación del artículo"
-#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17
msgid "Edit User Information"
msgstr "Editar datos del usuario"
-#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21
msgid "Set Password"
msgstr "Configurar Contraseña"
-#: InvenTree/views.py:710
+#: InvenTree/views.py:630
msgid "Password fields must match"
msgstr "Los campos de contraseña deben coincidir"
-#: InvenTree/views.py:954 templates/navbar.html:97
+#: InvenTree/views.py:863 templates/navbar.html:101
msgid "System Information"
msgstr "Información del sistema"
@@ -535,599 +541,584 @@ msgstr "El código de barras ya está asignado a un objeto de inventario"
msgid "Barcode associated with StockItem"
msgstr "Código de barras asignado al objeto de inventario"
-#: build/api.py:213
-msgid "Matching build order does not exist"
-msgstr ""
-
-#: build/forms.py:37
-msgid "Build Order reference"
-msgstr "Número de orden de construcción"
-
-#: build/forms.py:38
-msgid "Order target date"
-msgstr "Fecha objetivo de pedido"
-
-#: build/forms.py:42 build/templates/build/build_base.html:146
-#: build/templates/build/detail.html:124
-#: order/templates/order/order_base.html:124
-#: order/templates/order/sales_order_base.html:124
-#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689
-#: templates/js/translated/order.js:1074
-msgid "Target Date"
-msgstr "Fecha objetivo"
-
-#: build/forms.py:43 build/models.py:279
-msgid "Target date for build completion. Build will be overdue after this date."
-msgstr "Fecha límite para la finalización de la construcción. La construcción estará vencida después de esta fecha."
-
-#: build/forms.py:48 build/forms.py:90 build/models.py:1281
-#: build/templates/build/allocation_card.html:23
-#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:1087
-#: company/forms.py:42 company/templates/company/supplier_part.html:226
-#: order/forms.py:101 order/forms.py:123 order/models.py:720
-#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249
-#: part/forms.py:265 part/forms.py:281 part/models.py:2377
+#: build/forms.py:36 build/models.py:1283
+#: build/templates/build/build_base.html:124
+#: build/templates/build/detail.html:35 common/models.py:1225
+#: company/forms.py:42 company/templates/company/supplier_part.html:251
+#: order/forms.py:102 order/models.py:729 order/models.py:991
+#: order/templates/order/order_wizard/match_parts.html:30
+#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237
+#: part/forms.py:253 part/forms.py:269 part/models.py:2576
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030
+#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
-#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:140 stock/templates/stock/item_base.html:269
-#: stock/templates/stock/stock_adjust.html:18
-#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264
-#: templates/js/translated/build.js:314 templates/js/translated/build.js:638
-#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515
-#: templates/js/translated/model_renderers.js:74
-#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170
-#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444
-#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487
-#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654
-#: templates/js/translated/stock.js:1829
+#: report/templates/report/inventree_test_report_base.html:81
+#: report/templates/report/inventree_test_report_base.html:139
+#: stock/forms.py:156 stock/serializers.py:286
+#: stock/templates/stock/item_base.html:256
+#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441
+#: templates/js/translated/build.js:235 templates/js/translated/build.js:435
+#: templates/js/translated/build.js:629 templates/js/translated/build.js:639
+#: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362
+#: templates/js/translated/model_renderers.js:99
+#: templates/js/translated/order.js:870 templates/js/translated/order.js:1183
+#: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268
+#: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457
+#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626
+#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347
+#: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141
msgid "Quantity"
msgstr "Cantidad"
-#: build/forms.py:49
-msgid "Number of items to build"
-msgstr "Número de elementos para construir"
-
-#: build/forms.py:91
+#: build/forms.py:37
msgid "Enter quantity for build output"
msgstr "Ingrese la cantidad para la producción de la construcción"
-#: build/forms.py:95 order/forms.py:95 stock/forms.py:83
+#: build/forms.py:41 order/forms.py:96 stock/forms.py:95
+#: stock/serializers.py:307 templates/js/translated/stock.js:194
+#: templates/js/translated/stock.js:348
msgid "Serial Numbers"
msgstr "Números de serie"
-#: build/forms.py:97
+#: build/forms.py:43
msgid "Enter serial numbers for build outputs"
msgstr "Introduzca los números de serie de salidas de construcción"
-#: build/forms.py:103
+#: build/forms.py:49
msgid "Confirm creation of build output"
msgstr "Confirmar la creación de salida de construcción"
-#: build/forms.py:124
+#: build/forms.py:70
msgid "Confirm deletion of build output"
msgstr "Confirmar eliminación de salida de construcción"
-#: build/forms.py:145
-msgid "Confirm unallocation of stock"
-msgstr "Confirmar la desasignación de stock"
-
-#: build/forms.py:174
+#: build/forms.py:94
msgid "Mark build as complete"
msgstr "Marcar como construcción completa"
-#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284
-#: stock/forms.py:280 stock/serializers.py:553
-#: stock/templates/stock/item_base.html:299
-#: stock/templates/stock/stock_adjust.html:17
-#: templates/js/translated/barcode.js:385
-#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299
-#: templates/js/translated/build.js:650 templates/js/translated/order.js:347
-#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263
-#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179
-#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921
-#: templates/js/translated/stock.js:1546
-msgid "Location"
-msgstr "Unicación"
-
-#: build/forms.py:199
-msgid "Location of completed parts"
-msgstr "Ubicación de las partes completadas"
-
-#: build/forms.py:203 build/templates/build/build_base.html:138
-#: build/templates/build/detail.html:62 order/models.py:563
-#: order/serializers.py:238 stock/templates/stock/item_base.html:422
-#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251
-#: templates/js/translated/order.js:430 templates/js/translated/order.js:676
-#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896
-#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845
-msgid "Status"
-msgstr "Estado"
-
-#: build/forms.py:204
-msgid "Build output stock status"
-msgstr "Generar estado de stock de salida"
-
-#: build/forms.py:211
-msgid "Confirm incomplete"
-msgstr "Confirmar incompleta"
-
-#: build/forms.py:212
-msgid "Confirm completion with incomplete stock allocation"
-msgstr "Confirmar la finalización con una asignación de stock incompleta"
-
-#: build/forms.py:215
-msgid "Confirm build completion"
-msgstr "Confirmar la terminación de construcción"
-
-#: build/forms.py:240
+#: build/forms.py:107
msgid "Confirm cancel"
msgstr "Confirmar cancelación"
-#: build/forms.py:240 build/views.py:65
+#: build/forms.py:107 build/views.py:65
msgid "Confirm build cancellation"
msgstr "Confirmar la cancelación de construcción"
-#: build/models.py:115
+#: build/models.py:133
msgid "Invalid choice for parent build"
msgstr "Opción no válida para la construcción padre"
-#: build/models.py:119 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:73
+#: build/models.py:137 build/templates/build/build_base.html:9
+#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:276
+#: templates/js/translated/build.js:397
msgid "Build Order"
msgstr "Construir órden"
-#: build/models.py:120 build/templates/build/index.html:8
-#: build/templates/build/index.html:15
-#: order/templates/order/sales_order_detail.html:34
-#: order/templates/order/so_navbar.html:19
-#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50
-#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229
-#: templates/InvenTree/search.html:171
-#: templates/InvenTree/settings/navbar.html:113
-#: templates/InvenTree/settings/navbar.html:115 users/models.py:44
+#: build/models.py:138 build/templates/build/build_base.html:13
+#: build/templates/build/index.html:8 build/templates/build/index.html:12
+#: order/templates/order/sales_order_detail.html:42
+#: templates/InvenTree/index.html:221 templates/InvenTree/search.html:145
+#: users/models.py:44
msgid "Build Orders"
msgstr "Construir órdenes"
-#: build/models.py:180
+#: build/models.py:198
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:181 order/models.py:246 order/models.py:547
-#: order/models.py:727 part/models.py:2386
+#: build/models.py:199 order/models.py:249 order/models.py:556
+#: order/models.py:736 part/models.py:2585
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734
-#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863
-#: templates/js/translated/order.js:1438
+#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119
+#: templates/js/translated/order.js:864 templates/js/translated/order.js:1451
msgid "Reference"
msgstr "Referencia"
-#: build/models.py:192
+#: build/models.py:210
msgid "Brief description of the build"
msgstr ""
-#: build/models.py:201 build/templates/build/build_base.html:163
-#: build/templates/build/detail.html:80
+#: build/models.py:219 build/templates/build/build_base.html:156
+#: build/templates/build/detail.html:88
msgid "Parent Build"
msgstr ""
-#: build/models.py:202
+#: build/models.py:220
msgid "BuildOrder to which this build is allocated"
msgstr ""
-#: build/models.py:207 build/templates/build/build_base.html:128
-#: build/templates/build/detail.html:29 company/models.py:705
-#: order/models.py:780 order/models.py:851
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298
-#: part/models.py:2000 part/models.py:2016 part/models.py:2035
-#: part/models.py:2053 part/models.py:2132 part/models.py:2254
-#: part/models.py:2361 part/templates/part/detail.html:199
+#: build/models.py:225 build/templates/build/build_base.html:119
+#: build/templates/build/detail.html:30 company/models.py:705
+#: order/models.py:789 order/models.py:860
+#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357
+#: part/models.py:2151 part/models.py:2167 part/models.py:2186
+#: part/models.py:2203 part/models.py:2305 part/models.py:2427
+#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
-#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384
-#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611
-#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222
-#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488
-#: templates/js/translated/company.js:745 templates/js/translated/order.js:425
-#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422
-#: templates/js/translated/part.js:705 templates/js/translated/part.js:875
-#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776
-#: templates/js/translated/stock.js:1817
+#: templates/InvenTree/search.html:86
+#: templates/email/build_order_required_stock.html:17
+#: templates/email/low_stock_notification.html:16
+#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213
+#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620
+#: templates/js/translated/build.js:988 templates/js/translated/build.js:1359
+#: templates/js/translated/build.js:1626 templates/js/translated/company.js:488
+#: templates/js/translated/company.js:745 templates/js/translated/order.js:426
+#: templates/js/translated/order.js:818 templates/js/translated/order.js:1435
+#: templates/js/translated/part.js:726 templates/js/translated/part.js:892
+#: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:2129
msgid "Part"
msgstr "Parte"
-#: build/models.py:215
+#: build/models.py:233
msgid "Select part to build"
msgstr ""
-#: build/models.py:220
+#: build/models.py:238
msgid "Sales Order Reference"
msgstr ""
-#: build/models.py:224
+#: build/models.py:242
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:229 templates/js/translated/build.js:962
+#: build/models.py:247 templates/js/translated/build.js:1347
msgid "Source Location"
msgstr "Ubicación de la fuente"
-#: build/models.py:233
+#: build/models.py:251
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr ""
-#: build/models.py:238
+#: build/models.py:256
msgid "Destination Location"
msgstr "Ubicación de destino"
-#: build/models.py:242
+#: build/models.py:260
msgid "Select location where the completed items will be stored"
msgstr "Seleccione la ubicación donde se almacenarán los elementos completados"
-#: build/models.py:246
+#: build/models.py:264
msgid "Build Quantity"
msgstr "Cantidad a crear"
-#: build/models.py:249
+#: build/models.py:267
msgid "Number of stock items to build"
msgstr "Número de objetos existentes a construir"
-#: build/models.py:253
+#: build/models.py:271
msgid "Completed items"
msgstr "Elementos completados"
-#: build/models.py:255
+#: build/models.py:273
msgid "Number of stock items which have been completed"
msgstr "Número de productos en stock que se han completado"
-#: build/models.py:259 part/templates/part/part_base.html:198
+#: build/models.py:277 part/templates/part/part_base.html:216
msgid "Build Status"
msgstr "Estado de la construcción"
-#: build/models.py:263
+#: build/models.py:281
msgid "Build status code"
msgstr "Código de estado de construcción"
-#: build/models.py:267 stock/models.py:513
+#: build/models.py:285 stock/models.py:544
msgid "Batch Code"
msgstr "Numero de lote"
-#: build/models.py:271
+#: build/models.py:289
msgid "Batch code for this build output"
msgstr "Número de lote de este producto final"
-#: build/models.py:274 order/models.py:162 part/models.py:854
-#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069
+#: build/models.py:292 order/models.py:165 part/models.py:936
+#: part/templates/part/detail.html:86 templates/js/translated/order.js:1082
msgid "Creation Date"
msgstr "Fecha de Creación"
-#: build/models.py:278 order/models.py:569
+#: build/models.py:296 order/models.py:578
msgid "Target completion date"
msgstr "Fecha límite de finalización"
-#: build/models.py:282 order/models.py:288
-#: templates/js/translated/build.js:1293
+#: build/models.py:297
+msgid "Target date for build completion. Build will be overdue after this date."
+msgstr "Fecha límite para la finalización de la construcción. La construcción estará vencida después de esta fecha."
+
+#: build/models.py:300 order/models.py:291
+#: templates/js/translated/build.js:1697
msgid "Completion Date"
msgstr "Fecha de finalización"
-#: build/models.py:288
+#: build/models.py:306
msgid "completed by"
msgstr "terminado por"
-#: build/models.py:296 templates/js/translated/build.js:1264
+#: build/models.py:314 templates/js/translated/build.js:1668
msgid "Issued by"
msgstr "Emitido por"
-#: build/models.py:297
+#: build/models.py:315
msgid "User who issued this build order"
msgstr "El usuario que emitió esta orden"
-#: build/models.py:305 build/templates/build/build_base.html:184
-#: build/templates/build/detail.html:108 order/models.py:176
-#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:145 part/models.py:858
+#: build/models.py:323 build/templates/build/build_base.html:177
+#: build/templates/build/detail.html:116 order/models.py:179
+#: order/templates/order/order_base.html:154
+#: order/templates/order/sales_order_base.html:161 part/models.py:940
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1680
msgid "Responsible"
msgstr "Responsable"
-#: build/models.py:306
+#: build/models.py:324
msgid "User responsible for this build order"
msgstr "Usuario responsable de esta orden"
-#: build/models.py:311 build/templates/build/detail.html:94
-#: company/templates/company/manufacturer_part.html:83
-#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:266 stock/models.py:507
-#: stock/templates/stock/item_base.html:359
+#: build/models.py:329 build/templates/build/detail.html:102
+#: company/templates/company/manufacturer_part.html:87
+#: company/templates/company/supplier_part.html:88
+#: part/templates/part/detail.html:80 stock/models.py:538
+#: stock/templates/stock/item_base.html:346
msgid "External Link"
msgstr "Link externo"
-#: build/models.py:312 part/models.py:716 stock/models.py:509
+#: build/models.py:330 part/models.py:798 stock/models.py:540
msgid "Link to external URL"
msgstr "Enlace a URL externa"
-#: build/models.py:316 build/templates/build/navbar.html:52
-#: company/models.py:142 company/models.py:577
-#: company/templates/company/navbar.html:69
-#: company/templates/company/navbar.html:72 order/models.py:180
-#: order/models.py:729 order/templates/order/po_navbar.html:38
-#: order/templates/order/po_navbar.html:41
-#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:843
-#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120
-#: part/templates/part/navbar.html:123
+#: build/models.py:334 build/serializers.py:201 company/models.py:142
+#: company/models.py:577 order/models.py:183 order/models.py:738
+#: part/models.py:925 part/templates/part/detail.html:223
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579
-#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451
-#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59
-#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841
-#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540
-#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040
+#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610
+#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325
+#: stock/serializers.py:584 templates/js/translated/barcode.js:58
+#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841
+#: templates/js/translated/order.js:963 templates/js/translated/order.js:1561
+#: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340
msgid "Notes"
msgstr "Notas"
-#: build/models.py:317
+#: build/models.py:335
msgid "Extra build notes"
msgstr "Notas adicionales de construcción"
-#: build/models.py:714
+#: build/models.py:710
msgid "No build output specified"
msgstr "No se ha especificado salida de construcción"
-#: build/models.py:717
+#: build/models.py:713
msgid "Build output is already completed"
msgstr "La construcción de la salida ya está completa"
-#: build/models.py:720
+#: build/models.py:716
msgid "Build output does not match Build Order"
msgstr "La salida de la construcción no coincide con el orden de construcción"
-#: build/models.py:1102
+#: build/models.py:1108
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1111
+#: build/models.py:1117
#, python-brace-format
msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1121
+#: build/models.py:1127
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1127 order/models.py:955
+#: build/models.py:1133 order/models.py:964
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1133
+#: build/models.py:1139
msgid "Quantity must be 1 for serialized stock"
msgstr "La cantidad debe ser 1 para el stock serializado"
-#: build/models.py:1191
+#: build/models.py:1193
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1251 stock/templates/stock/item_base.html:331
-#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195
-#: templates/navbar.html:35
+#: build/models.py:1253 stock/templates/stock/item_base.html:318
+#: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599
+#: templates/navbar.html:33
msgid "Build"
msgstr ""
-#: build/models.py:1252
+#: build/models.py:1254
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1268 build/serializers.py:151
+#: build/models.py:1270 build/serializers.py:328
#: stock/templates/stock/item_base.html:8
-#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:353
-#: stock/templates/stock/stock_adjust.html:16
-#: templates/js/translated/build.js:287 templates/js/translated/build.js:292
-#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148
-#: templates/js/translated/stock.js:1605
+#: stock/templates/stock/item_base.html:16
+#: stock/templates/stock/item_base.html:340
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:413
+#: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742
+#: templates/js/translated/order.js:1156 templates/js/translated/order.js:1161
+#: templates/js/translated/stock.js:1990
msgid "Stock Item"
msgstr ""
-#: build/models.py:1269
+#: build/models.py:1271
msgid "Source stock item"
msgstr ""
-#: build/models.py:1282
+#: build/models.py:1284
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1290
+#: build/models.py:1292
msgid "Install into"
msgstr ""
-#: build/models.py:1291
+#: build/models.py:1293
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:133 part/models.py:2501
-msgid "BOM Item"
-msgstr ""
-
-#: build/serializers.py:142
-msgid "bom_item.part must point to the same part as the build order"
-msgstr ""
-
-#: build/serializers.py:157
-msgid "Item must be in stock"
-msgstr ""
-
-#: build/serializers.py:171 order/models.py:313 order/serializers.py:231
-#: stock/models.py:351 stock/models.py:1072
-msgid "Quantity must be greater than zero"
-msgstr ""
-
-#: build/serializers.py:180
+#: build/serializers.py:137 build/serializers.py:357
msgid "Build Output"
msgstr ""
+#: build/serializers.py:146
+#, fuzzy
+#| msgid "Build output does not match Build Order"
+msgid "Build output does not match the parent build"
+msgstr "La salida de la construcción no coincide con el orden de construcción"
+
+#: build/serializers.py:150
+#, fuzzy
+#| msgid "Build output does not match Build Order"
+msgid "Output part does not match BuildOrder part"
+msgstr "La salida de la construcción no coincide con el orden de construcción"
+
+#: build/serializers.py:154
+#, fuzzy
+#| msgid "Build output is already completed"
+msgid "This build output has already been completed"
+msgstr "La construcción de la salida ya está completa"
+
+#: build/serializers.py:158
+#, fuzzy
+#| msgid "Build output is already completed"
+msgid "This build output is not fully allocated"
+msgstr "La construcción de la salida ya está completa"
+
+#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285
+#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686
+#: stock/templates/stock/item_base.html:286
+#: templates/js/translated/barcode.js:384
+#: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420
+#: templates/js/translated/build.js:1027 templates/js/translated/order.js:348
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1276
+#: templates/js/translated/order.js:1282 templates/js/translated/part.js:180
+#: templates/js/translated/stock.js:480 templates/js/translated/stock.js:1221
+#: templates/js/translated/stock.js:1931
+msgid "Location"
+msgstr "Unicación"
+
+#: build/serializers.py:191
+#, fuzzy
+#| msgid "Location of completed parts"
+msgid "Location for completed build outputs"
+msgstr "Ubicación de las partes completadas"
+
+#: build/serializers.py:197 build/templates/build/build_base.html:129
+#: build/templates/build/detail.html:63 order/models.py:572
+#: order/serializers.py:238 stock/templates/stock/item_base.html:409
+#: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655
+#: templates/js/translated/order.js:431 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196
+#: templates/js/translated/stock.js:2008 templates/js/translated/stock.js:2157
+msgid "Status"
+msgstr "Estado"
+
#: build/serializers.py:213
+#, fuzzy
+#| msgid "No build output specified"
+msgid "A list of build outputs must be provided"
+msgstr "No se ha especificado salida de construcción"
+
+#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700
+#: part/models.py:2859
+msgid "BOM Item"
+msgstr ""
+
+#: build/serializers.py:269
+#, fuzzy
+#| msgid "Build Quantity"
+msgid "Build output"
+msgstr "Cantidad a crear"
+
+#: build/serializers.py:278
+#, fuzzy
+#| msgid "Build output does not match Build Order"
+msgid "Build output must point to the same build"
+msgstr "La salida de la construcción no coincide con el orden de construcción"
+
+#: build/serializers.py:319
+msgid "bom_item.part must point to the same part as the build order"
+msgstr ""
+
+#: build/serializers.py:334
+msgid "Item must be in stock"
+msgstr ""
+
+#: build/serializers.py:348 order/models.py:316 order/serializers.py:231
+#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298
+msgid "Quantity must be greater than zero"
+msgstr ""
+
+#: build/serializers.py:390
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:219
+#: build/serializers.py:396
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:226
+#: build/serializers.py:403
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:254
+#: build/serializers.py:431
msgid "Allocation items must be provided"
msgstr ""
-#: build/templates/build/allocation_card.html:21
-#: build/templates/build/complete_output.html:46
-#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:501 stock/templates/stock/item_base.html:251
-#: templates/js/translated/build.js:636
-#: templates/js/translated/model_renderers.js:72
-#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342
-msgid "Serial Number"
-msgstr "Número de serie"
+#: build/tasks.py:92
+#, fuzzy
+#| msgid "User responsible for this build order"
+msgid "Stock required for build order"
+msgstr "Usuario responsable de esta orden"
-#: build/templates/build/build_base.html:18
+#: build/templates/build/build_base.html:39
+#: order/templates/order/order_base.html:28
+#: order/templates/order/sales_order_base.html:38
+msgid "Print actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:43
+msgid "Print build order report"
+msgstr ""
+
+#: build/templates/build/build_base.html:50
+msgid "Build actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:54
+msgid "Edit Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:56
+#: build/templates/build/build_base.html:207 build/views.py:56
+msgid "Cancel Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:59
+msgid "Delete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:64
+#: build/templates/build/build_base.html:65
+#: build/templates/build/build_base.html:223
+msgid "Complete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:79
#, python-format
msgid "This Build Order is allocated to Sales Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:25
+#: build/templates/build/build_base.html:86
#, python-format
msgid "This Build Order is a child of Build Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:32
+#: build/templates/build/build_base.html:93
msgid "Build Order is ready to mark as completed"
msgstr ""
-#: build/templates/build/build_base.html:37
+#: build/templates/build/build_base.html:98
msgid "Build Order cannot be completed as outstanding outputs remain"
msgstr ""
-#: build/templates/build/build_base.html:42
+#: build/templates/build/build_base.html:103
msgid "Required build quantity has not yet been completed"
msgstr ""
-#: build/templates/build/build_base.html:47
+#: build/templates/build/build_base.html:108
msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
-#: build/templates/build/build_base.html:75
-#: company/templates/company/company_base.html:40
-#: company/templates/company/manufacturer_part.html:29
-#: company/templates/company/supplier_part.html:30
-#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:30
-#: stock/templates/stock/item_base.html:62
-#: stock/templates/stock/location.html:31
-msgid "Admin view"
-msgstr ""
+#: build/templates/build/build_base.html:138
+#: build/templates/build/detail.html:132
+#: order/templates/order/order_base.html:140
+#: order/templates/order/sales_order_base.html:140
+#: report/templates/report/inventree_build_order_base.html:126
+#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690
+#: templates/js/translated/order.js:1087
+msgid "Target Date"
+msgstr "Fecha objetivo"
-#: build/templates/build/build_base.html:81
-#: build/templates/build/build_base.html:150
-#: order/templates/order/order_base.html:32
-#: order/templates/order/order_base.html:86
-#: order/templates/order/sales_order_base.html:43
-#: order/templates/order/sales_order_base.html:93
-#: templates/js/translated/table_filters.js:272
-#: templates/js/translated/table_filters.js:300
-#: templates/js/translated/table_filters.js:317
-msgid "Overdue"
-msgstr ""
-
-#: build/templates/build/build_base.html:90
-msgid "Print actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:94
-msgid "Print Build Order"
-msgstr ""
-
-#: build/templates/build/build_base.html:100
-#: build/templates/build/build_base.html:222
-msgid "Complete Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:105
-msgid "Build actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:109
-msgid "Edit Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:111
-#: build/templates/build/build_base.html:206 build/views.py:56
-msgid "Cancel Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:114
-msgid "Delete Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:124
-#: build/templates/build/detail.html:15
-msgid "Build Details"
-msgstr ""
-
-#: build/templates/build/build_base.html:150
+#: build/templates/build/build_base.html:143
#, python-format
msgid "This build was due on %(target)s"
msgstr ""
-#: build/templates/build/build_base.html:157
-#: build/templates/build/detail.html:67
-msgid "Progress"
-msgstr "Progreso"
+#: build/templates/build/build_base.html:143
+#: build/templates/build/build_base.html:188
+#: order/templates/order/order_base.html:81
+#: order/templates/order/order_base.html:102
+#: order/templates/order/sales_order_base.html:78
+#: order/templates/order/sales_order_base.html:107
+#: templates/js/translated/table_filters.js:288
+#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:333
+msgid "Overdue"
+msgstr ""
-#: build/templates/build/build_base.html:170
-#: build/templates/build/detail.html:87 order/models.py:848
+#: build/templates/build/build_base.html:150
+#: build/templates/build/detail.html:68 build/templates/build/detail.html:143
+#: templates/js/translated/build.js:1641
+#: templates/js/translated/table_filters.js:298
+msgid "Completed"
+msgstr "Completados"
+
+#: build/templates/build/build_base.html:163
+#: build/templates/build/detail.html:95 order/models.py:857
#: order/templates/order/sales_order_base.html:9
-#: order/templates/order/sales_order_base.html:35
+#: order/templates/order/sales_order_base.html:28
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:293
-#: templates/js/translated/order.js:1016
+#: stock/templates/stock/item_base.html:280
+#: templates/js/translated/order.js:1029
msgid "Sales Order"
msgstr ""
-#: build/templates/build/build_base.html:177
-#: build/templates/build/detail.html:101
+#: build/templates/build/build_base.html:170
+#: build/templates/build/detail.html:109
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr "Emitido por"
-#: build/templates/build/build_base.html:214
+#: build/templates/build/build_base.html:215
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:215
+#: build/templates/build/build_base.html:216
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
@@ -1175,220 +1166,203 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/templates/build/complete_output.html:10
-msgid "Stock allocation is complete for this output"
+#: build/templates/build/detail.html:16
+msgid "Build Details"
msgstr ""
-#: build/templates/build/complete_output.html:14
-msgid "Stock allocation is incomplete"
-msgstr ""
-
-#: build/templates/build/complete_output.html:20
-msgid "tracked parts have not been fully allocated"
-msgstr ""
-
-#: build/templates/build/complete_output.html:41
-msgid "The following items will be created"
-msgstr ""
-
-#: build/templates/build/detail.html:38
+#: build/templates/build/detail.html:39
msgid "Stock Source"
msgstr ""
-#: build/templates/build/detail.html:43
+#: build/templates/build/detail.html:44
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134
-#: templates/js/translated/order.js:431 templates/js/translated/order.js:939
+#: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150
+#: templates/js/translated/order.js:432 templates/js/translated/order.js:952
msgid "Destination"
msgstr "Destinación"
-#: build/templates/build/detail.html:56
+#: build/templates/build/detail.html:57
msgid "Destination location not specified"
msgstr ""
-#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:317
-#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852
-#: templates/js/translated/table_filters.js:129
-#: templates/js/translated/table_filters.js:211
+#: build/templates/build/detail.html:74 templates/js/translated/build.js:647
+msgid "Allocated Parts"
+msgstr ""
+
+#: build/templates/build/detail.html:81
+#: stock/templates/stock/item_base.html:304
+#: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164
+#: templates/js/translated/table_filters.js:145
+#: templates/js/translated/table_filters.js:227
msgid "Batch"
msgstr "Lote"
-#: build/templates/build/detail.html:119
-#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:118
-#: templates/js/translated/build.js:1259
+#: build/templates/build/detail.html:127
+#: order/templates/order/order_base.html:127
+#: order/templates/order/sales_order_base.html:134
+#: templates/js/translated/build.js:1663
msgid "Created"
msgstr ""
-#: build/templates/build/detail.html:130
+#: build/templates/build/detail.html:138
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237
-#: templates/js/translated/table_filters.js:282
-msgid "Completed"
-msgstr "Completados"
-
-#: build/templates/build/detail.html:139
+#: build/templates/build/detail.html:147
msgid "Build not complete"
msgstr ""
-#: build/templates/build/detail.html:150 build/templates/build/navbar.html:35
+#: build/templates/build/detail.html:158
msgid "Child Build Orders"
msgstr ""
-#: build/templates/build/detail.html:166
+#: build/templates/build/detail.html:173
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:172
-msgid "Allocate stock to build"
-msgstr ""
-
-#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20
-#: build/templates/build/navbar.html:23
-msgid "Allocate Stock"
-msgstr ""
-
-#: build/templates/build/detail.html:175 templates/js/translated/build.js:817
+#: build/templates/build/detail.html:177 templates/js/translated/build.js:1202
msgid "Unallocate stock"
msgstr ""
-#: build/templates/build/detail.html:176 build/views.py:257
+#: build/templates/build/detail.html:178
msgid "Unallocate Stock"
msgstr ""
-#: build/templates/build/detail.html:179
+#: build/templates/build/detail.html:180
+msgid "Allocate stock to build"
+msgstr ""
+
+#: build/templates/build/detail.html:181
+msgid "Allocate Stock"
+msgstr ""
+
+#: build/templates/build/detail.html:184
msgid "Order required parts"
msgstr ""
-#: build/templates/build/detail.html:180
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72 order/views.py:509
-#: part/templates/part/category.html:140
+#: build/templates/build/detail.html:185
+#: company/templates/company/detail.html:38
+#: company/templates/company/detail.html:85 order/views.py:509
+#: part/templates/part/category.html:166
msgid "Order Parts"
msgstr ""
-#: build/templates/build/detail.html:186
+#: build/templates/build/detail.html:197
msgid "Untracked stock has been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:190
+#: build/templates/build/detail.html:201
msgid "Untracked stock has not been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:197
+#: build/templates/build/detail.html:208
msgid "Allocate selected items"
msgstr ""
-#: build/templates/build/detail.html:209
+#: build/templates/build/detail.html:218
msgid "This Build Order does not have any associated untracked BOM items"
msgstr ""
-#: build/templates/build/detail.html:218
+#: build/templates/build/detail.html:227
msgid "Incomplete Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:223
+#: build/templates/build/detail.html:231
msgid "Create new build output"
msgstr ""
-#: build/templates/build/detail.html:224
-msgid "Create New Output"
-msgstr ""
+#: build/templates/build/detail.html:232
+#, fuzzy
+#| msgid "Build Quantity"
+msgid "New Build Output"
+msgstr "Cantidad a crear"
-#: build/templates/build/detail.html:237
-msgid "Create a new build output"
-msgstr ""
+#: build/templates/build/detail.html:246
+#, fuzzy
+#| msgid "Options"
+msgid "Output Actions"
+msgstr "Opciones"
-#: build/templates/build/detail.html:238
-msgid "No incomplete build outputs remain."
-msgstr ""
+#: build/templates/build/detail.html:250
+#, fuzzy
+#| msgid "Completed items"
+msgid "Complete selected items"
+msgstr "Elementos completados"
-#: build/templates/build/detail.html:239
-msgid "Create a new build output using the button above"
-msgstr ""
+#: build/templates/build/detail.html:251
+#, fuzzy
+#| msgid "Completed items"
+msgid "Complete outputs"
+msgstr "Elementos completados"
-#: build/templates/build/detail.html:247
+#: build/templates/build/detail.html:266
msgid "Completed Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42
-#: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35
-#: order/templates/order/sales_order_detail.html:43
-#: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173
-#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117
-#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47
-#: stock/templates/stock/navbar.html:50
+#: build/templates/build/detail.html:278
+#: order/templates/order/purchase_order_detail.html:60
+#: order/templates/order/sales_order_detail.html:52
+#: part/templates/part/detail.html:300 stock/templates/stock/item.html:95
msgid "Attachments"
msgstr ""
-#: build/templates/build/detail.html:269
+#: build/templates/build/detail.html:294
msgid "Build Notes"
msgstr ""
-#: build/templates/build/detail.html:273 build/templates/build/detail.html:414
-#: company/templates/company/detail.html:169
-#: company/templates/company/detail.html:196
-#: order/templates/order/purchase_order_detail.html:71
-#: order/templates/order/purchase_order_detail.html:104
-#: order/templates/order/sales_order_detail.html:58
-#: order/templates/order/sales_order_detail.html:85
-#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103
-#: stock/templates/stock/item.html:188
+#: build/templates/build/detail.html:298 build/templates/build/detail.html:489
+#: company/templates/company/detail.html:188
+#: company/templates/company/detail.html:215
+#: order/templates/order/purchase_order_detail.html:80
+#: order/templates/order/purchase_order_detail.html:108
+#: order/templates/order/sales_order_detail.html:72
+#: order/templates/order/sales_order_detail.html:99
+#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115
+#: stock/templates/stock/item.html:205
msgid "Edit Notes"
msgstr ""
-#: build/templates/build/detail.html:373
-#: order/templates/order/po_attachments.html:79
-#: order/templates/order/purchase_order_detail.html:166
-#: order/templates/order/sales_order_detail.html:146
-#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253
-#: templates/attachment_table.html:6
+#: build/templates/build/detail.html:448
+#: order/templates/order/purchase_order_detail.html:170
+#: order/templates/order/sales_order_detail.html:160
+#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270
+#: templates/attachment_button.html:4
msgid "Add Attachment"
msgstr ""
-#: build/templates/build/detail.html:392
-#: order/templates/order/po_attachments.html:51
-#: order/templates/order/purchase_order_detail.html:138
-#: order/templates/order/sales_order_detail.html:119
-#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221
+#: build/templates/build/detail.html:467
+#: order/templates/order/purchase_order_detail.html:142
+#: order/templates/order/sales_order_detail.html:133
+#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238
msgid "Edit Attachment"
msgstr ""
-#: build/templates/build/detail.html:399
-#: order/templates/order/po_attachments.html:58
-#: order/templates/order/purchase_order_detail.html:145
-#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230
-#: templates/js/translated/order.js:1230
+#: build/templates/build/detail.html:474
+#: order/templates/order/purchase_order_detail.html:149
+#: order/templates/order/sales_order_detail.html:139
+#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247
+#: templates/js/translated/order.js:1243
msgid "Confirm Delete Operation"
msgstr ""
-#: build/templates/build/detail.html:400
-#: order/templates/order/po_attachments.html:59
-#: order/templates/order/purchase_order_detail.html:146
-#: order/templates/order/sales_order_detail.html:126
-#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231
+#: build/templates/build/detail.html:475
+#: order/templates/order/purchase_order_detail.html:150
+#: order/templates/order/sales_order_detail.html:140
+#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248
msgid "Delete Attachment"
msgstr ""
-#: build/templates/build/detail.html:443
+#: build/templates/build/detail.html:513
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:444
+#: build/templates/build/detail.html:514
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/edit_build_item.html:7
-msgid "Alter the quantity of stock allocated to the build output"
-msgstr ""
-
-#: build/templates/build/index.html:28
+#: build/templates/build/index.html:18 part/templates/part/detail.html:433
msgid "New Build Order"
msgstr ""
@@ -1396,47 +1370,18 @@ msgstr ""
msgid "Print Build Orders"
msgstr ""
-#: build/templates/build/index.html:43
-#: order/templates/order/purchase_orders.html:27
-#: order/templates/order/sales_orders.html:27
+#: build/templates/build/index.html:44
+#: order/templates/order/purchase_orders.html:34
+#: order/templates/order/sales_orders.html:37
msgid "Display calendar view"
msgstr ""
-#: build/templates/build/index.html:46
-#: order/templates/order/purchase_orders.html:30
-#: order/templates/order/sales_orders.html:30
+#: build/templates/build/index.html:47
+#: order/templates/order/purchase_orders.html:37
+#: order/templates/order/sales_orders.html:40
msgid "Display list view"
msgstr ""
-#: build/templates/build/navbar.html:12
-msgid "Build Order Details"
-msgstr ""
-
-#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/translated/stock.js:1534
-msgid "Details"
-msgstr "Detalles"
-
-#: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31
-msgid "Build Outputs"
-msgstr ""
-
-#: build/templates/build/navbar.html:38
-msgid "Child Builds"
-msgstr ""
-
-#: build/templates/build/navbar.html:49
-msgid "Build Order Notes"
-msgstr ""
-
-#: build/templates/build/unallocate.html:10
-msgid "Are you sure you wish to unallocate all stock for this build?"
-msgstr ""
-
-#: build/templates/build/unallocate.html:12
-msgid "All incomplete stock allocations will be removed from the build"
-msgstr ""
-
#: build/views.py:76
msgid "Build was cancelled"
msgstr ""
@@ -1449,7 +1394,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:122 stock/views.py:1366
+#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290
msgid "Serial numbers already exist"
msgstr ""
@@ -1461,11 +1406,11 @@ msgstr ""
msgid "Delete Build Output"
msgstr ""
-#: build/views.py:218 build/views.py:308
+#: build/views.py:218
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:219 build/views.py:309 stock/views.py:381
+#: build/views.py:219 stock/views.py:385
msgid "Check the confirmation box"
msgstr ""
@@ -1473,7 +1418,7 @@ msgstr ""
msgid "Build output does not match build"
msgstr ""
-#: build/views.py:233 build/views.py:434
+#: build/views.py:233
msgid "Build output must be specified"
msgstr ""
@@ -1481,39 +1426,19 @@ msgstr ""
msgid "Build output deleted"
msgstr ""
-#: build/views.py:343
+#: build/views.py:261
msgid "Complete Build Order"
msgstr ""
-#: build/views.py:349
+#: build/views.py:267
msgid "Build order cannot be completed - incomplete outputs remain"
msgstr ""
-#: build/views.py:360
+#: build/views.py:278
msgid "Completed build order"
msgstr ""
-#: build/views.py:376
-msgid "Complete Build Output"
-msgstr ""
-
-#: build/views.py:418
-msgid "Invalid stock status value selected"
-msgstr ""
-
-#: build/views.py:425
-msgid "Quantity to complete cannot exceed build output quantity"
-msgstr ""
-
-#: build/views.py:431
-msgid "Confirm completion of incomplete build"
-msgstr ""
-
-#: build/views.py:530
-msgid "Build output completed"
-msgstr ""
-
-#: build/views.py:567
+#: build/views.py:319
msgid "Delete Build Order"
msgstr ""
@@ -1554,728 +1479,728 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:308 common/models.py:887 common/models.py:1048
+#: common/models.py:340 common/models.py:970 common/models.py:1178
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:310
+#: common/models.py:342
msgid "Settings value"
msgstr ""
-#: common/models.py:345
+#: common/models.py:377
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:368
+#: common/models.py:382
+msgid "Chosen value is not a valid option"
+msgstr ""
+
+#: common/models.py:405
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:379
+#: common/models.py:416
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:402
+#: common/models.py:439
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:509
+#: common/models.py:559
+msgid "No group"
+msgstr ""
+
+#: common/models.py:601
+msgid "Restart required"
+msgstr ""
+
+#: common/models.py:602
+msgid "A setting has been changed which requires a server restart"
+msgstr ""
+
+#: common/models.py:609
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:511
+#: common/models.py:611
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:515
+#: common/models.py:615
msgid "Use instance name"
msgstr ""
-#: common/models.py:516
+#: common/models.py:616
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:522 company/models.py:100 company/models.py:101
+#: common/models.py:622 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr ""
-#: common/models.py:523
+#: common/models.py:623
msgid "Internal company name"
msgstr ""
-#: common/models.py:528
+#: common/models.py:628
msgid "Base URL"
msgstr ""
-#: common/models.py:529
+#: common/models.py:629
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:535
+#: common/models.py:635
msgid "Default Currency"
msgstr ""
-#: common/models.py:536
+#: common/models.py:636
msgid "Default currency"
msgstr ""
-#: common/models.py:542
+#: common/models.py:642
msgid "Download from URL"
msgstr ""
-#: common/models.py:543
+#: common/models.py:643
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:549
+#: common/models.py:649
msgid "Barcode Support"
msgstr ""
-#: common/models.py:550
+#: common/models.py:650
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:556
+#: common/models.py:656
msgid "IPN Regex"
msgstr ""
-#: common/models.py:557
+#: common/models.py:657
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:561
+#: common/models.py:661
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:562
+#: common/models.py:662
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:568
+#: common/models.py:668
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:569
+#: common/models.py:669
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:575
+#: common/models.py:675
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:576
+#: common/models.py:676
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:582
+#: common/models.py:682
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:583
+#: common/models.py:683
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:589
+#: common/models.py:689
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:590
+#: common/models.py:690
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:596
+#: common/models.py:696
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:597
+#: common/models.py:697
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:603 part/models.py:2256 report/models.py:187
-#: stock/forms.py:224 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:351
+#: common/models.py:703 part/models.py:2429 report/models.py:187
+#: templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:367
msgid "Template"
msgstr ""
-#: common/models.py:604
+#: common/models.py:704
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:610 part/models.py:806
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:363
+#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954
+#: templates/js/translated/table_filters.js:162
+#: templates/js/translated/table_filters.js:379
msgid "Assembly"
msgstr ""
-#: common/models.py:611
+#: common/models.py:711
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:617 part/models.py:812
-#: templates/js/translated/table_filters.js:367
+#: common/models.py:717 part/models.py:894
+#: templates/js/translated/table_filters.js:383
msgid "Component"
msgstr ""
-#: common/models.py:618
+#: common/models.py:718
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:624 part/models.py:823
+#: common/models.py:724 part/models.py:905
msgid "Purchaseable"
msgstr ""
-#: common/models.py:625
+#: common/models.py:725
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:631 part/models.py:828
-#: templates/js/translated/table_filters.js:375
+#: common/models.py:731 part/models.py:910
+#: templates/js/translated/table_filters.js:391
msgid "Salable"
msgstr ""
-#: common/models.py:632
+#: common/models.py:732
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:638 part/models.py:818
+#: common/models.py:738 part/models.py:900
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:379
+#: templates/js/translated/table_filters.js:94
+#: templates/js/translated/table_filters.js:395
msgid "Trackable"
msgstr ""
-#: common/models.py:639
+#: common/models.py:739
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:645 part/models.py:838
-#: part/templates/part/part_base.html:66
+#: common/models.py:745 part/models.py:920
+#: part/templates/part/part_base.html:144
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:646
+#: common/models.py:746
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:652
+#: common/models.py:752
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:653
+#: common/models.py:753
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:659
+#: common/models.py:759
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:660
+#: common/models.py:760
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:671
+#: common/models.py:771
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:672
+#: common/models.py:772
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:678
+#: common/models.py:778
msgid "Show related parts"
msgstr ""
-#: common/models.py:679
+#: common/models.py:779
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:685
+#: common/models.py:785
msgid "Create initial stock"
msgstr ""
-#: common/models.py:686
+#: common/models.py:786
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:692
+#: common/models.py:792
msgid "Internal Prices"
msgstr ""
-#: common/models.py:693
+#: common/models.py:793
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:699
+#: common/models.py:799
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:700
+#: common/models.py:800
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:706 templates/stats.html:25
+#: common/models.py:806
+msgid "Part Name Display Format"
+msgstr ""
+
+#: common/models.py:807
+msgid "Format to display the part name"
+msgstr ""
+
+#: common/models.py:814
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:815
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:821 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:707
+#: common/models.py:822
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:713
+#: common/models.py:828
msgid "Page Size"
msgstr ""
-#: common/models.py:714
+#: common/models.py:829
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:724
+#: common/models.py:839
msgid "Test Reports"
msgstr ""
-#: common/models.py:725
+#: common/models.py:840
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:731
+#: common/models.py:846
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:732
+#: common/models.py:847
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:738
+#: common/models.py:853
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:739
+#: common/models.py:854
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:745
+#: common/models.py:860
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:746
+#: common/models.py:861
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:748
+#: common/models.py:863
msgid "days"
msgstr "días"
-#: common/models.py:753
+#: common/models.py:868
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:754
+#: common/models.py:869
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:760
+#: common/models.py:875
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:761
+#: common/models.py:876
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:767
+#: common/models.py:882
msgid "Group by Part"
msgstr ""
-#: common/models.py:768
+#: common/models.py:883
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:774
+#: common/models.py:889
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:775
+#: common/models.py:890
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:780
+#: common/models.py:895
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:781
+#: common/models.py:896
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:785
+#: common/models.py:900
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:786
+#: common/models.py:901
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:791
+#: common/models.py:906
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:792
+#: common/models.py:907
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:798
-msgid "Enable build"
-msgstr ""
-
-#: common/models.py:799
-msgid "Enable build functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:804
-msgid "Enable buy"
-msgstr ""
-
-#: common/models.py:805
-msgid "Enable buy functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:810
-msgid "Enable sell"
-msgstr ""
-
-#: common/models.py:811
-msgid "Enable sell functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:816
-msgid "Enable stock"
-msgstr ""
-
-#: common/models.py:817
-msgid "Enable stock functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:822
-msgid "Enable SO"
-msgstr ""
-
-#: common/models.py:823
-msgid "Enable SO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:828
-msgid "Enable PO"
-msgstr ""
-
-#: common/models.py:829
-msgid "Enable PO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:836
+#: common/models.py:913
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:837
-msgid "Enable password forgot function on the login-pages"
+#: common/models.py:914
+msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:842
+#: common/models.py:919
msgid "Enable registration"
msgstr ""
-#: common/models.py:843
-msgid "Enable self-registration for users on the login-pages"
+#: common/models.py:920
+msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:848
+#: common/models.py:925
msgid "Enable SSO"
msgstr ""
-#: common/models.py:849
-msgid "Enable SSO on the login-pages"
+#: common/models.py:926
+msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:854
-msgid "E-Mail required"
+#: common/models.py:931
+msgid "Email required"
msgstr ""
-#: common/models.py:855
+#: common/models.py:932
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:860
+#: common/models.py:937
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:861
+#: common/models.py:938
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:943
msgid "Mail twice"
msgstr ""
-#: common/models.py:867
+#: common/models.py:944
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:872
+#: common/models.py:949
msgid "Password twice"
msgstr ""
-#: common/models.py:873
+#: common/models.py:950
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:898
-msgid "Show starred parts"
+#: common/models.py:955
+msgid "Group on signup"
msgstr ""
-#: common/models.py:899
-msgid "Show starred parts on the homepage"
+#: common/models.py:956
+msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:904
-msgid "Show latest parts"
-msgstr ""
-
-#: common/models.py:905
-msgid "Show latest parts on the homepage"
-msgstr ""
-
-#: common/models.py:910
-msgid "Recent Part Count"
-msgstr ""
-
-#: common/models.py:911
-msgid "Number of recent parts to display on index page"
-msgstr ""
-
-#: common/models.py:917
-msgid "Show unvalidated BOMs"
-msgstr ""
-
-#: common/models.py:918
-msgid "Show BOMs that await validation on the homepage"
-msgstr ""
-
-#: common/models.py:923
-msgid "Show recent stock changes"
-msgstr ""
-
-#: common/models.py:924
-msgid "Show recently changed stock items on the homepage"
-msgstr ""
-
-#: common/models.py:929
-msgid "Recent Stock Count"
-msgstr ""
-
-#: common/models.py:930
-msgid "Number of recent stock items to display on index page"
-msgstr ""
-
-#: common/models.py:935
-msgid "Show low stock"
-msgstr ""
-
-#: common/models.py:936
-msgid "Show low stock items on the homepage"
-msgstr ""
-
-#: common/models.py:941
-msgid "Show depleted stock"
-msgstr ""
-
-#: common/models.py:942
-msgid "Show depleted stock items on the homepage"
-msgstr ""
-
-#: common/models.py:947
-msgid "Show needed stock"
-msgstr ""
-
-#: common/models.py:948
-msgid "Show stock items needed for builds on the homepage"
-msgstr ""
-
-#: common/models.py:953
-msgid "Show expired stock"
-msgstr ""
-
-#: common/models.py:954
-msgid "Show expired stock items on the homepage"
-msgstr ""
-
-#: common/models.py:959
-msgid "Show stale stock"
-msgstr ""
-
-#: common/models.py:960
-msgid "Show stale stock items on the homepage"
-msgstr ""
-
-#: common/models.py:965
-msgid "Show pending builds"
-msgstr ""
-
-#: common/models.py:966
-msgid "Show pending builds on the homepage"
-msgstr ""
-
-#: common/models.py:971
-msgid "Show overdue builds"
-msgstr ""
-
-#: common/models.py:972
-msgid "Show overdue builds on the homepage"
-msgstr ""
-
-#: common/models.py:977
-msgid "Show outstanding POs"
-msgstr ""
-
-#: common/models.py:978
-msgid "Show outstanding POs on the homepage"
-msgstr ""
-
-#: common/models.py:983
-msgid "Show overdue POs"
-msgstr ""
-
-#: common/models.py:984
-msgid "Show overdue POs on the homepage"
-msgstr ""
-
-#: common/models.py:989
-msgid "Show outstanding SOs"
-msgstr ""
-
-#: common/models.py:990
-msgid "Show outstanding SOs on the homepage"
-msgstr ""
-
-#: common/models.py:995
-msgid "Show overdue SOs"
-msgstr ""
-
-#: common/models.py:996
-msgid "Show overdue SOs on the homepage"
+#: common/models.py:1001
+msgid "Show subscribed parts"
msgstr ""
#: common/models.py:1002
+msgid "Show subscribed parts on the homepage"
+msgstr ""
+
+#: common/models.py:1007
+msgid "Show subscribed categories"
+msgstr ""
+
+#: common/models.py:1008
+msgid "Show subscribed part categories on the homepage"
+msgstr ""
+
+#: common/models.py:1013
+msgid "Show latest parts"
+msgstr ""
+
+#: common/models.py:1014
+msgid "Show latest parts on the homepage"
+msgstr ""
+
+#: common/models.py:1019
+msgid "Recent Part Count"
+msgstr ""
+
+#: common/models.py:1020
+msgid "Number of recent parts to display on index page"
+msgstr ""
+
+#: common/models.py:1026
+msgid "Show unvalidated BOMs"
+msgstr ""
+
+#: common/models.py:1027
+msgid "Show BOMs that await validation on the homepage"
+msgstr ""
+
+#: common/models.py:1032
+msgid "Show recent stock changes"
+msgstr ""
+
+#: common/models.py:1033
+msgid "Show recently changed stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1038
+msgid "Recent Stock Count"
+msgstr ""
+
+#: common/models.py:1039
+msgid "Number of recent stock items to display on index page"
+msgstr ""
+
+#: common/models.py:1044
+msgid "Show low stock"
+msgstr ""
+
+#: common/models.py:1045
+msgid "Show low stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1050
+msgid "Show depleted stock"
+msgstr ""
+
+#: common/models.py:1051
+msgid "Show depleted stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1056
+msgid "Show needed stock"
+msgstr ""
+
+#: common/models.py:1057
+msgid "Show stock items needed for builds on the homepage"
+msgstr ""
+
+#: common/models.py:1062
+msgid "Show expired stock"
+msgstr ""
+
+#: common/models.py:1063
+msgid "Show expired stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1068
+msgid "Show stale stock"
+msgstr ""
+
+#: common/models.py:1069
+msgid "Show stale stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1074
+msgid "Show pending builds"
+msgstr ""
+
+#: common/models.py:1075
+msgid "Show pending builds on the homepage"
+msgstr ""
+
+#: common/models.py:1080
+msgid "Show overdue builds"
+msgstr ""
+
+#: common/models.py:1081
+msgid "Show overdue builds on the homepage"
+msgstr ""
+
+#: common/models.py:1086
+msgid "Show outstanding POs"
+msgstr ""
+
+#: common/models.py:1087
+msgid "Show outstanding POs on the homepage"
+msgstr ""
+
+#: common/models.py:1092
+msgid "Show overdue POs"
+msgstr ""
+
+#: common/models.py:1093
+msgid "Show overdue POs on the homepage"
+msgstr ""
+
+#: common/models.py:1098
+msgid "Show outstanding SOs"
+msgstr ""
+
+#: common/models.py:1099
+msgid "Show outstanding SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Show overdue SOs"
+msgstr ""
+
+#: common/models.py:1105
+msgid "Show overdue SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1111
msgid "Inline label display"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1112
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1118
msgid "Inline report display"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1119
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1125
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1126
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:1023
+#: common/models.py:1132
+msgid "Search Show Stock"
+msgstr ""
+
+#: common/models.py:1133
+msgid "Display stock levels in search preview window"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Hide Inactive Parts"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Hide inactive parts in search preview window"
+msgstr ""
+
+#: common/models.py:1146
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1024
+#: common/models.py:1147
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1153
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1154
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1088 company/forms.py:43
+#: common/models.py:1160
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1161
+msgid "InvenTree navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1226 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1095 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1369
+#: common/models.py:1233 company/serializers.py:264
+#: company/templates/company/supplier_part.html:256
+#: templates/js/translated/part.js:1508
msgid "Price"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1234
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1189
-msgid "Default"
-msgstr ""
-
-#: common/templates/common/edit_setting.html:11
-msgid "Current value"
-msgstr ""
-
-#: common/views.py:33
-msgid "Change Setting"
-msgstr ""
-
-#: common/views.py:119
-msgid "Supplied value is not allowed"
-msgstr ""
-
-#: common/views.py:128
-msgid "Supplied value must be a boolean"
-msgstr ""
-
-#: common/views.py:138
-msgid "Change User Setting"
-msgstr ""
-
-#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42
-#: order/templates/order/po_navbar.html:19
-#: order/templates/order/po_navbar.html:22
-#: order/templates/order/purchase_order_detail.html:27 order/views.py:289
-#: part/templates/part/bom_upload/upload_file.html:65
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
-#: part/views.py:882
+#: common/views.py:93 order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:289
+#: part/templates/part/bom_upload/upload_file.html:51
+#: part/templates/part/import_wizard/part_upload.html:46 part/views.py:281
+#: part/views.py:923
msgid "Upload File"
msgstr ""
-#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
+#: common/views.py:94 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
-#: part/views.py:883
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:282
+#: part/views.py:924
msgid "Match Fields"
msgstr ""
-#: common/views.py:215
+#: common/views.py:95
msgid "Match Items"
msgstr ""
-#: common/views.py:560
+#: common/views.py:440
msgid "Fields matching failed"
msgstr ""
-#: common/views.py:615
+#: common/views.py:495
msgid "Parts imported"
msgstr ""
-#: common/views.py:637 order/templates/order/order_wizard/match_fields.html:27
+#: common/views.py:517 order/templates/order/order_wizard/match_fields.html:27
#: order/templates/order/order_wizard/match_parts.html:19
-#: order/templates/order/order_wizard/po_upload.html:40
+#: order/templates/order/order_wizard/po_upload.html:46
#: part/templates/part/bom_upload/match_fields.html:27
#: part/templates/part/bom_upload/match_parts.html:19
-#: part/templates/part/bom_upload/upload_file.html:63
+#: part/templates/part/bom_upload/upload_file.html:49
#: part/templates/part/import_wizard/match_fields.html:27
#: part/templates/part/import_wizard/match_references.html:19
-#: part/templates/part/import_wizard/part_upload.html:43
+#: part/templates/part/import_wizard/part_upload.html:44
msgid "Previous Step"
msgstr ""
@@ -2321,6 +2246,7 @@ msgid "Contact phone number"
msgstr "Teléfono de contacto"
#: company/models.py:125 company/templates/company/company_base.html:102
+#: templates/InvenTree/settings/user.html:46
msgid "Email"
msgstr "Email"
@@ -2337,10 +2263,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:131 company/models.py:348 company/models.py:564
-#: order/models.py:160 part/models.py:715
+#: order/models.py:163 part/models.py:797
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:536
-#: templates/js/translated/company.js:825 templates/js/translated/part.js:983
+#: templates/js/translated/company.js:825 templates/js/translated/part.js:984
msgid "Link"
msgstr ""
@@ -2348,7 +2274,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:725
+#: company/models.py:139 part/models.py:807
msgid "Image"
msgstr ""
@@ -2376,8 +2302,8 @@ msgstr ""
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:152 company/serializers.py:264
-#: company/templates/company/company_base.html:76 stock/serializers.py:158
+#: company/models.py:152 company/serializers.py:270
+#: company/templates/company/company_base.html:76 stock/serializers.py:172
msgid "Currency"
msgstr ""
@@ -2385,8 +2311,8 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:454
-#: stock/templates/stock/item_base.html:237
+#: company/models.py:320 company/models.py:535 stock/models.py:484
+#: stock/templates/stock/item_base.html:224
msgid "Base Part"
msgstr ""
@@ -2395,28 +2321,28 @@ msgid "Select part"
msgstr ""
#: company/models.py:335 company/templates/company/company_base.html:116
-#: company/templates/company/manufacturer_part.html:89
-#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:247 stock/templates/stock/item_base.html:366
+#: company/templates/company/manufacturer_part.html:93
+#: company/templates/company/supplier_part.html:104
+#: stock/templates/stock/item_base.html:353
#: templates/js/translated/company.js:332
#: templates/js/translated/company.js:513
-#: templates/js/translated/company.js:796 templates/js/translated/part.js:227
+#: templates/js/translated/company.js:796 templates/js/translated/part.js:228
msgid "Manufacturer"
msgstr "Fabricante"
-#: company/models.py:336 templates/js/translated/part.js:228
+#: company/models.py:336 templates/js/translated/part.js:229
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:342 company/templates/company/manufacturer_part.html:93
-#: company/templates/company/supplier_part.html:106 part/bom.py:171
-#: part/bom.py:248 templates/js/translated/company.js:529
-#: templates/js/translated/company.js:814 templates/js/translated/order.js:851
-#: templates/js/translated/part.js:238
+#: company/models.py:342 company/templates/company/manufacturer_part.html:97
+#: company/templates/company/supplier_part.html:112
+#: templates/js/translated/company.js:529
+#: templates/js/translated/company.js:814 templates/js/translated/order.js:852
+#: templates/js/translated/part.js:239
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:239
+#: company/models.py:343 templates/js/translated/part.js:240
msgid "Manufacturer Part Number"
msgstr ""
@@ -2431,7 +2357,7 @@ msgstr ""
#: company/models.py:409 company/models.py:558
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:376
+#: stock/templates/stock/item_base.html:363
msgid "Manufacturer Part"
msgstr ""
@@ -2440,10 +2366,9 @@ msgid "Parameter name"
msgstr ""
#: company/models.py:422
-#: report/templates/report/inventree_test_report_base.html:90
-#: stock/models.py:1816 templates/InvenTree/settings/header.html:8
-#: templates/js/translated/company.js:643 templates/js/translated/part.js:623
-#: templates/js/translated/stock.js:555
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:1867 templates/js/translated/company.js:643
+#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848
msgid "Value"
msgstr ""
@@ -2451,8 +2376,9 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:800 part/models.py:2224
-#: templates/js/translated/company.js:649 templates/js/translated/part.js:629
+#: company/models.py:429 part/models.py:882 part/models.py:2397
+#: part/templates/part/detail.html:59 templates/js/translated/company.js:649
+#: templates/js/translated/part.js:650
msgid "Units"
msgstr ""
@@ -2465,27 +2391,27 @@ msgid "Linked manufacturer part must reference the same base part"
msgstr ""
#: company/models.py:545 company/templates/company/company_base.html:121
-#: company/templates/company/supplier_part.html:88 order/models.py:260
-#: order/templates/order/order_base.html:92
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:292 stock/templates/stock/item_base.html:383
+#: company/templates/company/supplier_part.html:94 order/models.py:263
+#: order/templates/order/order_base.html:108
+#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219
+#: part/bom.py:247 stock/templates/stock/item_base.html:370
#: templates/js/translated/company.js:336
-#: templates/js/translated/company.js:770 templates/js/translated/order.js:659
-#: templates/js/translated/part.js:208
+#: templates/js/translated/company.js:770 templates/js/translated/order.js:660
+#: templates/js/translated/part.js:209
msgid "Supplier"
msgstr "Proveedor"
-#: company/models.py:546 templates/js/translated/part.js:209
+#: company/models.py:546 templates/js/translated/part.js:210
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:92
-#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838
-#: templates/js/translated/part.js:219
+#: company/models.py:551 company/templates/company/supplier_part.html:98
+#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:839
+#: templates/js/translated/part.js:220
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:220
+#: company/models.py:552 templates/js/translated/part.js:221
msgid "Supplier stock keeping unit"
msgstr ""
@@ -2501,23 +2427,23 @@ msgstr ""
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:120
-#: part/models.py:2389 report/templates/report/inventree_po_report.html:93
+#: company/models.py:576 company/templates/company/supplier_part.html:126
+#: part/models.py:2588 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr "Nota"
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:113
-#: stock/models.py:478 stock/templates/stock/item_base.html:324
-#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036
+#: company/models.py:582 company/templates/company/supplier_part.html:119
+#: stock/models.py:507 stock/templates/stock/item_base.html:311
+#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336
msgid "Packaging"
msgstr ""
@@ -2525,7 +2451,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1605
+#: company/models.py:584 part/models.py:1750
msgid "multiple"
msgstr ""
@@ -2533,46 +2459,42 @@ msgstr ""
msgid "Order multiple"
msgstr ""
-#: company/serializers.py:68
+#: company/serializers.py:70
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:69
+#: company/serializers.py:71
msgid "Currency Code"
msgstr ""
-#: company/templates/company/company_base.html:9
-#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321
+#: company/templates/company/company_base.html:8
+#: company/templates/company/company_base.html:12
+#: templates/InvenTree/search.html:182 templates/js/translated/company.js:321
msgid "Company"
msgstr ""
-#: company/templates/company/company_base.html:25
-#: part/templates/part/part_thumb.html:21
-msgid "Upload new image"
-msgstr ""
-
-#: company/templates/company/company_base.html:27
-#: part/templates/part/part_thumb.html:23
-msgid "Download image from URL"
-msgstr ""
-
-#: company/templates/company/company_base.html:46
-#: templates/js/translated/order.js:120
+#: company/templates/company/company_base.html:22
+#: templates/js/translated/order.js:121
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:51
+#: company/templates/company/company_base.html:27
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:56
-#: company/templates/company/company_base.html:153
+#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:148
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:64
-msgid "Company Details"
+#: company/templates/company/company_base.html:48
+#: part/templates/part/part_thumb.html:12
+msgid "Upload new image"
+msgstr ""
+
+#: company/templates/company/company_base.html:51
+#: part/templates/part/part_thumb.html:14
+msgid "Download image from URL"
msgstr ""
#: company/templates/company/company_base.html:81
@@ -2583,145 +2505,133 @@ msgstr ""
msgid "Phone"
msgstr "Teléfono"
-#: company/templates/company/company_base.html:126 order/models.py:558
-#: order/templates/order/sales_order_base.html:99 stock/models.py:496
-#: stock/models.py:497 stock/templates/stock/item_base.html:276
-#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038
-#: templates/js/translated/stock.js:1587
+#: company/templates/company/company_base.html:126 order/models.py:567
+#: order/templates/order/sales_order_base.html:114 stock/models.py:525
+#: stock/models.py:526 stock/templates/stock/item_base.html:263
+#: templates/js/translated/company.js:328 templates/js/translated/order.js:1051
+#: templates/js/translated/stock.js:1972
msgid "Customer"
msgstr "Cliente"
-#: company/templates/company/company_base.html:199
-#: part/templates/part/part_base.html:424
+#: company/templates/company/company_base.html:194
+#: part/templates/part/part_base.html:342
msgid "Upload Image"
msgstr ""
-#: company/templates/company/detail.html:14
-#: company/templates/company/manufacturer_part_navbar.html:18
-#: templates/InvenTree/search.html:150
+#: company/templates/company/detail.html:15 templates/InvenTree/search.html:124
msgid "Supplier Parts"
msgstr ""
-#: company/templates/company/detail.html:22
+#: company/templates/company/detail.html:19
#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr ""
-#: company/templates/company/detail.html:23
-#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289
+#: company/templates/company/detail.html:20
+#: company/templates/company/manufacturer_part.html:112
+#: part/templates/part/detail.html:466
msgid "New Supplier Part"
msgstr ""
-#: company/templates/company/detail.html:27
-#: company/templates/company/detail.html:67
-#: company/templates/company/manufacturer_part.html:112
-#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/category.html:135 part/templates/part/detail.html:292
-#: part/templates/part/detail.html:315
+#: company/templates/company/detail.html:32
+#: company/templates/company/detail.html:79
+#: company/templates/company/manufacturer_part.html:121
+#: company/templates/company/manufacturer_part.html:150
+#: part/templates/part/category.html:160 part/templates/part/detail.html:475
+#: part/templates/part/detail.html:503
msgid "Options"
msgstr "Opciones"
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72
-#: part/templates/part/category.html:140
+#: company/templates/company/detail.html:37
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:166
msgid "Order parts"
msgstr ""
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:42
+#: company/templates/company/detail.html:89
msgid "Delete parts"
msgstr ""
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:43
+#: company/templates/company/detail.html:90
msgid "Delete Parts"
msgstr ""
-#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135
+#: company/templates/company/detail.html:62 templates/InvenTree/search.html:109
msgid "Manufacturer Parts"
msgstr ""
-#: company/templates/company/detail.html:62
+#: company/templates/company/detail.html:66
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:63 part/templates/part/detail.html:312
+#: company/templates/company/detail.html:67 part/templates/part/detail.html:493
msgid "New Manufacturer Part"
msgstr ""
-#: company/templates/company/detail.html:93
+#: company/templates/company/detail.html:107
msgid "Supplier Stock"
msgstr ""
-#: company/templates/company/detail.html:102
-#: company/templates/company/navbar.html:46
-#: company/templates/company/navbar.html:49
+#: company/templates/company/detail.html:117
+#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
-#: order/templates/order/purchase_orders.html:13
-#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82
-#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260
-#: templates/InvenTree/search.html:229
-#: templates/InvenTree/settings/navbar.html:119
-#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44
+#: order/templates/order/purchase_orders.html:12
+#: part/templates/part/detail.html:171 templates/InvenTree/index.html:252
+#: templates/InvenTree/search.html:203 templates/navbar.html:45
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
-#: company/templates/company/detail.html:108
-#: order/templates/order/purchase_orders.html:20
+#: company/templates/company/detail.html:121
+#: order/templates/order/purchase_orders.html:17
msgid "Create new purchase order"
msgstr ""
-#: company/templates/company/detail.html:109
-#: order/templates/order/purchase_orders.html:21
+#: company/templates/company/detail.html:122
+#: order/templates/order/purchase_orders.html:18
msgid "New Purchase Order"
msgstr ""
-#: company/templates/company/detail.html:124
-#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58
+#: company/templates/company/detail.html:143
+#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
-#: order/templates/order/sales_orders.html:13
-#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91
-#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291
-#: templates/InvenTree/search.html:249
-#: templates/InvenTree/settings/navbar.html:125
-#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55
+#: order/templates/order/sales_orders.html:15
+#: part/templates/part/detail.html:194 templates/InvenTree/index.html:283
+#: templates/InvenTree/search.html:223 templates/navbar.html:56
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
-#: company/templates/company/detail.html:130
+#: company/templates/company/detail.html:147
#: order/templates/order/sales_orders.html:20
msgid "Create new sales order"
msgstr ""
-#: company/templates/company/detail.html:131
+#: company/templates/company/detail.html:148
#: order/templates/order/sales_orders.html:21
msgid "New Sales Order"
msgstr ""
-#: company/templates/company/detail.html:147
-#: company/templates/company/navbar.html:61
-#: company/templates/company/navbar.html:64
-#: templates/js/translated/build.js:622
+#: company/templates/company/detail.html:168
+#: templates/js/translated/build.js:999
msgid "Assigned Stock"
msgstr ""
-#: company/templates/company/detail.html:165
+#: company/templates/company/detail.html:184
msgid "Company Notes"
msgstr ""
-#: company/templates/company/detail.html:364
-#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:357
+#: company/templates/company/detail.html:383
+#: company/templates/company/manufacturer_part.html:209
+#: part/templates/part/detail.html:546
msgid "Delete Supplier Parts?"
msgstr ""
-#: company/templates/company/detail.html:365
-#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:358
+#: company/templates/company/detail.html:384
+#: company/templates/company/manufacturer_part.html:210
+#: part/templates/part/detail.html:547
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2729,204 +2639,174 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:40
-#: company/templates/company/supplier_part.html:40
-#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116
+#: company/templates/company/manufacturer_part.html:14 company/views.py:55
+#: part/templates/part/prices.html:167 templates/InvenTree/search.html:184
+#: templates/navbar.html:44
+msgid "Manufacturers"
+msgstr "Fabricantes"
+
+#: company/templates/company/manufacturer_part.html:35
+#: company/templates/company/supplier_part.html:34
+#: company/templates/company/supplier_part.html:159
+#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:40
#: templates/js/translated/company.js:561
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:49
+#: company/templates/company/manufacturer_part.html:44
#: templates/js/translated/company.js:562
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:61
-msgid "Manufacturer Part Details"
-msgstr ""
-
-#: company/templates/company/manufacturer_part.html:66
-#: company/templates/company/supplier_part.html:65
+#: company/templates/company/manufacturer_part.html:70
+#: company/templates/company/supplier_part.html:71
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/manufacturer_part_navbar.html:21
-#: company/views.py:49 part/templates/part/navbar.html:75
-#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163
-#: templates/InvenTree/search.html:220 templates/navbar.html:41
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: part/templates/part/prices.html:163 templates/InvenTree/search.html:194
+#: templates/navbar.html:43
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: part/templates/part/detail.html:294
+#: company/templates/company/manufacturer_part.html:123
+#: part/templates/part/detail.html:477
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: company/templates/company/manufacturer_part.html:138
-#: company/templates/company/manufacturer_part.html:239
-#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/translated/company.js:424
-#: templates/js/translated/helpers.js:31 users/models.py:199
+#: company/templates/company/manufacturer_part.html:123
+#: company/templates/company/manufacturer_part.html:152
+#: company/templates/company/manufacturer_part.html:248
+#: part/templates/part/detail.html:351 part/templates/part/detail.html:477
+#: part/templates/part/detail.html:505 templates/js/translated/company.js:424
+#: templates/js/translated/helpers.js:31 users/models.py:204
msgid "Delete"
msgstr "Eliminar"
-#: company/templates/company/manufacturer_part.html:127
-#: company/templates/company/manufacturer_part_navbar.html:11
-#: company/templates/company/manufacturer_part_navbar.html:14
-#: part/templates/part/category_navbar.html:38
-#: part/templates/part/category_navbar.html:41
-#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20
-#: part/templates/part/navbar.html:23
+#: company/templates/company/manufacturer_part.html:137
+#: part/templates/part/detail.html:277
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:133
-#: part/templates/part/detail.html:162
-#: templates/InvenTree/settings/category.html:26
-#: templates/InvenTree/settings/part.html:63
+#: company/templates/company/manufacturer_part.html:141
+#: part/templates/part/detail.html:282
+#: templates/InvenTree/settings/category.html:12
+#: templates/InvenTree/settings/part.html:65
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:138
+#: company/templates/company/manufacturer_part.html:152
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:805
+#: company/templates/company/manufacturer_part.html:185
+#: part/templates/part/detail.html:983
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:224
+#: company/templates/company/manufacturer_part.html:233
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:236
+#: company/templates/company/manufacturer_part.html:245
msgid "Delete Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part_navbar.html:26
-msgid "Manufacturer Part Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:29
-#: company/templates/company/navbar.html:39
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/navbar.html:38 stock/api.py:52
-#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182
-#: templates/InvenTree/settings/navbar.html:107
-#: templates/InvenTree/settings/navbar.html:109
-#: templates/js/translated/part.js:540 templates/js/translated/part.js:769
-#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182
-#: templates/js/translated/stock.js:829 templates/navbar.html:32
-msgid "Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:33
-msgid "Manufacturer Part Orders"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:36
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr ""
-
-#: company/templates/company/navbar.html:17
-#: company/templates/company/navbar.html:20
-msgid "Manufactured Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:26
-#: company/templates/company/navbar.html:29
-msgid "Supplied Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35
-#: stock/templates/stock/location.html:119
-#: stock/templates/stock/location.html:134
-#: stock/templates/stock/location.html:148
-#: stock/templates/stock/location_navbar.html:18
-#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486
-#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
-msgid "Stock Items"
-msgstr ""
-
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:463
-#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993
+#: company/templates/company/supplier_part.html:24 stock/models.py:492
+#: stock/templates/stock/item_base.html:375
+#: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44
+#: company/templates/company/supplier_part.html:38
#: templates/js/translated/company.js:859
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48
+#: company/templates/company/supplier_part.html:42
#: templates/js/translated/company.js:860
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:60
-msgid "Supplier Part Details"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:131
+#: company/templates/company/supplier_part.html:138
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:140
+#: company/templates/company/supplier_part.html:141
+#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147
+#, fuzzy
+#| msgid "Edited stock item"
+msgid "Create new stock item"
+msgstr "Elemento de stock editado"
+
+#: company/templates/company/supplier_part.html:142
+#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148
+#: templates/js/translated/stock.js:324
+msgid "New Stock Item"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:155
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:147
-#: part/templates/part/detail.html:56
+#: company/templates/company/supplier_part.html:160
+#: part/templates/part/detail.html:175
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:158
-#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7
+#: company/templates/company/supplier_part.html:179
+#: part/templates/part/prices.html:7
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:164
-#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:271 part/views.py:1730
+#: company/templates/company/supplier_part.html:184
+#: company/templates/company/supplier_part.html:290
+#: part/templates/part/prices.html:271 part/views.py:1782
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:185
+#: company/templates/company/supplier_part.html:210
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:1792
+#: company/templates/company/supplier_part.html:224 part/views.py:1844
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:1778
+#: company/templates/company/supplier_part.html:238 part/views.py:1830
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
+#: company/templates/company/supplier_part.html:263
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:239
+#: company/templates/company/supplier_part.html:264
msgid "Delete price break"
msgstr ""
+#: company/templates/company/supplier_part_navbar.html:15
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426
+#: templates/js/translated/part.js:561 templates/js/translated/part.js:786
+#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479
+#: templates/js/translated/stock.js:1132 templates/navbar.html:26
+msgid "Stock"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:22
+msgid "Orders"
+msgstr ""
+
#: company/templates/company/supplier_part_navbar.html:26
msgid "Supplier Part Pricing"
msgstr ""
@@ -2939,17 +2819,12 @@ msgstr ""
msgid "New Supplier"
msgstr ""
-#: company/views.py:55 part/templates/part/prices.html:167
-#: templates/InvenTree/search.html:210 templates/navbar.html:42
-msgid "Manufacturers"
-msgstr "Fabricantes"
-
#: company/views.py:56
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:240
-#: templates/navbar.html:53
+#: company/views.py:61 templates/InvenTree/search.html:214
+#: templates/navbar.html:55
msgid "Customers"
msgstr ""
@@ -2965,24 +2840,24 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:608
+#: company/views.py:129 part/views.py:649
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:640
+#: company/views.py:158 part/views.py:681
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:647
+#: company/views.py:165 part/views.py:688
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:656
+#: company/views.py:174 part/views.py:697
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:57 report/api.py:201
+#: label/api.py:57 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -2994,7 +2869,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:167
+#: label/models.py:127
msgid "Label"
msgstr ""
@@ -3039,7 +2914,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:259 label/models.py:319 label/models.py:366
-#: report/models.py:322 report/models.py:457 report/models.py:495
+#: report/models.py:322 report/models.py:459 report/models.py:497
msgid "Filters"
msgstr ""
@@ -3051,240 +2926,236 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:250
-msgid "Matching purchase order does not exist"
-msgstr ""
-
-#: order/forms.py:27 order/templates/order/order_base.html:50
+#: order/forms.py:26 order/templates/order/order_base.html:52
msgid "Place order"
msgstr ""
-#: order/forms.py:38 order/templates/order/order_base.html:57
+#: order/forms.py:37 order/templates/order/order_base.html:59
msgid "Mark order as complete"
msgstr ""
-#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:64
+#: order/forms.py:48 order/forms.py:59 order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
msgid "Cancel order"
msgstr ""
-#: order/forms.py:71 order/templates/order/sales_order_base.html:61
+#: order/forms.py:70
msgid "Ship order"
msgstr ""
-#: order/forms.py:97
+#: order/forms.py:98
msgid "Enter stock item serial numbers"
msgstr ""
-#: order/forms.py:103
+#: order/forms.py:104
msgid "Enter quantity of stock items"
msgstr ""
-#: order/models.py:158
+#: order/models.py:161
msgid "Order description"
msgstr ""
-#: order/models.py:160
+#: order/models.py:163
msgid "Link to external page"
msgstr ""
-#: order/models.py:168
+#: order/models.py:171
msgid "Created By"
msgstr ""
-#: order/models.py:175
+#: order/models.py:178
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:180
+#: order/models.py:183
msgid "Order notes"
msgstr ""
-#: order/models.py:247 order/models.py:548
+#: order/models.py:250 order/models.py:557
msgid "Order reference"
msgstr ""
-#: order/models.py:252 order/models.py:563
+#: order/models.py:255 order/models.py:572
msgid "Purchase order status"
msgstr ""
-#: order/models.py:261
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/translated/order.js:668
+#: order/models.py:267 order/templates/order/order_base.html:114
+#: templates/js/translated/order.js:669
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:264
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:271
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:276
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:277
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:282
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:283
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:289
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:318
+#: order/models.py:321
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:428
+#: order/models.py:431
msgid "Quantity must be an integer"
msgstr ""
-#: order/models.py:432
+#: order/models.py:435
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:559
+#: order/models.py:568
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer Reference "
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:570
+#: order/models.py:579
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:573 templates/js/translated/order.js:1079
+#: order/models.py:582 templates/js/translated/order.js:1092
msgid "Shipment Date"
msgstr ""
-#: order/models.py:580
+#: order/models.py:589
msgid "shipped by"
msgstr ""
-#: order/models.py:624
+#: order/models.py:633
msgid "SalesOrder cannot be shipped as it is not currently pending"
msgstr ""
-#: order/models.py:721
+#: order/models.py:730
msgid "Item quantity"
msgstr ""
-#: order/models.py:727
+#: order/models.py:736
msgid "Line item reference"
msgstr ""
-#: order/models.py:729
+#: order/models.py:738
msgid "Line item notes"
msgstr ""
-#: order/models.py:759 order/models.py:847
-#: templates/js/translated/order.js:1131
+#: order/models.py:768 order/models.py:856
+#: templates/js/translated/order.js:1144
msgid "Order"
msgstr ""
-#: order/models.py:760 order/templates/order/order_base.html:9
-#: order/templates/order/order_base.html:24
+#: order/models.py:769 order/templates/order/order_base.html:9
+#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:338
-#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970
-#: templates/js/translated/stock.js:1568
+#: stock/templates/stock/item_base.html:325
+#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1270
+#: templates/js/translated/stock.js:1953
msgid "Purchase Order"
msgstr ""
-#: order/models.py:781
+#: order/models.py:790
msgid "Supplier part"
msgstr ""
-#: order/models.py:788 order/templates/order/order_base.html:131
-#: order/templates/order/sales_order_base.html:138
-#: templates/js/translated/order.js:428 templates/js/translated/order.js:919
+#: order/models.py:797 order/templates/order/order_base.html:147
+#: order/templates/order/sales_order_base.html:154
+#: templates/js/translated/order.js:429 templates/js/translated/order.js:932
msgid "Received"
msgstr ""
-#: order/models.py:789
+#: order/models.py:798
msgid "Number of items received"
msgstr ""
-#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588
-#: stock/serializers.py:150 stock/templates/stock/item_base.html:345
-#: templates/js/translated/stock.js:1024
+#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619
+#: stock/serializers.py:163 stock/templates/stock/item_base.html:332
+#: templates/js/translated/stock.js:1324
msgid "Purchase Price"
msgstr ""
-#: order/models.py:797
+#: order/models.py:806
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:805
+#: order/models.py:814
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:857 part/templates/part/part_pricing.html:112
+#: order/models.py:866 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:116 part/templates/part/prices.html:284
msgid "Sale Price"
msgstr ""
-#: order/models.py:858
+#: order/models.py:867
msgid "Unit sale price"
msgstr ""
-#: order/models.py:937 order/models.py:939
+#: order/models.py:946 order/models.py:948
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:943
+#: order/models.py:952
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:945
+#: order/models.py:954
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:948
+#: order/models.py:957
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:952
+#: order/models.py:961
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:958
+#: order/models.py:967
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:966
+#: order/models.py:975
msgid "Line"
msgstr ""
-#: order/models.py:978
+#: order/models.py:987
msgid "Item"
msgstr ""
-#: order/models.py:979
+#: order/models.py:988
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:982
+#: order/models.py:991
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3300,7 +3171,7 @@ msgstr ""
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:218 order/serializers.py:285
+#: order/serializers.py:218 order/serializers.py:286
msgid "Select destination location for received items"
msgstr ""
@@ -3312,72 +3183,74 @@ msgstr ""
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:259
+#: order/serializers.py:260
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:297
+#: order/serializers.py:298
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:314
+#: order/serializers.py:315
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:325
+#: order/serializers.py:326
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:569
+#: order/serializers.py:568
msgid "Sale price currency"
msgstr ""
#: order/templates/order/delete_attachment.html:5
#: stock/templates/stock/attachment_delete.html:5
-#: templates/attachment_delete.html:5
msgid "Are you sure you want to delete this attachment?"
msgstr ""
-#: order/templates/order/order_base.html:39
-#: order/templates/order/sales_order_base.html:50
-msgid "Print"
-msgstr ""
+#: order/templates/order/order_base.html:33
+#, fuzzy
+#| msgid "Received against purchase order"
+msgid "Print purchase order report"
+msgstr "Recibido contra la orden de compra"
-#: order/templates/order/order_base.html:42
-#: order/templates/order/sales_order_base.html:53
+#: order/templates/order/order_base.html:35
+#: order/templates/order/sales_order_base.html:45
msgid "Export order to file"
msgstr ""
-#: order/templates/order/order_base.html:46
-#: order/templates/order/sales_order_base.html:57
-msgid "Edit order information"
+#: order/templates/order/order_base.html:41
+#: order/templates/order/sales_order_base.html:54
+#, fuzzy
+#| msgid "Production"
+msgid "Order actions"
+msgstr "Producción"
+
+#: order/templates/order/order_base.html:45
+#: order/templates/order/sales_order_base.html:58
+msgid "Edit order"
msgstr ""
-#: order/templates/order/order_base.html:54
+#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
-#: order/templates/order/order_base.html:72
-#: order/templates/order/po_navbar.html:12
-msgid "Purchase Order Details"
-msgstr ""
-
-#: order/templates/order/order_base.html:77
-#: order/templates/order/sales_order_base.html:84
+#: order/templates/order/order_base.html:93
+#: order/templates/order/sales_order_base.html:98
msgid "Order Reference"
msgstr ""
-#: order/templates/order/order_base.html:82
-#: order/templates/order/sales_order_base.html:89
+#: order/templates/order/order_base.html:98
+#: order/templates/order/sales_order_base.html:103
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:117
+#: order/templates/order/order_base.html:133
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:185
+#: order/templates/order/order_base.html:203
msgid "Edit Purchase Order"
msgstr ""
@@ -3453,7 +3326,8 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/build.js:869 templates/js/translated/order.js:376
+#: templates/js/translated/build.js:240 templates/js/translated/build.js:1251
+#: templates/js/translated/order.js:377
msgid "Remove row"
msgstr ""
@@ -3475,19 +3349,19 @@ msgstr ""
msgid "Select Supplier Part"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:11
+#: order/templates/order/order_wizard/po_upload.html:16
msgid "Upload File for Purchase Order"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:18
-#: part/templates/part/bom_upload/upload_file.html:34
+#: order/templates/order/order_wizard/po_upload.html:24
+#: part/templates/part/bom_upload/upload_file.html:20
#: part/templates/part/import_wizard/ajax_part_upload.html:10
-#: part/templates/part/import_wizard/part_upload.html:21
+#: part/templates/part/import_wizard/part_upload.html:22
#, python-format
msgid "Step %(step)s of %(count)s"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/order_wizard/po_upload.html:54
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
@@ -3530,7 +3404,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084
+#: templates/js/translated/order.js:695 templates/js/translated/order.js:1097
msgid "Items"
msgstr ""
@@ -3548,30 +3422,14 @@ msgstr ""
msgid "Select a purchase order for %(name)s"
msgstr ""
-#: order/templates/order/po_attachments.html:12
-#: order/templates/order/po_navbar.html:32
-#: order/templates/order/purchase_order_detail.html:56
-msgid "Purchase Order Attachments"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:26
-msgid "Received Stock Items"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:29
-#: order/templates/order/po_received_items.html:12
-#: order/templates/order/purchase_order_detail.html:47
-msgid "Received Items"
-msgstr ""
-
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:24
-#: order/templates/order/purchase_order_detail.html:212
+#: order/templates/order/purchase_order_detail.html:27
+#: order/templates/order/purchase_order_detail.html:216
#: order/templates/order/sales_order_detail.html:23
-#: order/templates/order/sales_order_detail.html:177
+#: order/templates/order/sales_order_detail.html:191
msgid "Add Line Item"
msgstr ""
@@ -3583,34 +3441,43 @@ msgstr ""
msgid "Receive Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
-#: order/templates/order/sales_order_detail.html:54
+#: order/templates/order/purchase_order_detail.html:50
+msgid "Received Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:76
+#: order/templates/order/sales_order_detail.html:68
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_orders.html:24
-#: order/templates/order/sales_orders.html:24
+#: order/templates/order/purchase_orders.html:30
+#: order/templates/order/sales_orders.html:33
msgid "Print Order Reports"
msgstr ""
-#: order/templates/order/sales_order_base.html:16
+#: order/templates/order/sales_order_base.html:43
+msgid "Print sales order report"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:47
+msgid "Print packing list"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:66
+#: order/templates/order/sales_order_base.html:67 order/views.py:222
+msgid "Ship Order"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:86
msgid "This Sales Order has not been fully allocated"
msgstr ""
-#: order/templates/order/sales_order_base.html:70
-msgid "Packing List"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:79
-msgid "Sales Order Details"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:105
-#: templates/js/translated/order.js:1051
+#: order/templates/order/sales_order_base.html:121
+#: templates/js/translated/order.js:1064
msgid "Customer Reference"
msgstr ""
-#: order/templates/order/sales_order_base.html:183
+#: order/templates/order/sales_order_base.html:194
msgid "Edit Sales Order"
msgstr ""
@@ -3625,7 +3492,7 @@ msgstr ""
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -3653,18 +3520,6 @@ msgstr ""
msgid "Allocate stock items by serial number"
msgstr ""
-#: order/templates/order/so_navbar.html:12
-msgid "Sales Order Line Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:15
-msgid "Order Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:26
-msgid "Sales Order Attachments"
-msgstr ""
-
#: order/views.py:103
msgid "Cancel Order"
msgstr ""
@@ -3705,10 +3560,6 @@ msgstr ""
msgid "Purchase order completed"
msgstr ""
-#: order/views.py:222
-msgid "Ship Order"
-msgstr ""
-
#: order/views.py:238
msgid "Confirm order shipment"
msgstr ""
@@ -3776,40 +3627,28 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7
-#: part/templates/part/category.html:108 part/templates/part/category.html:122
-#: part/templates/part/category_navbar.html:21
-#: part/templates/part/category_navbar.html:24
-#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97
-#: templates/js/translated/part.js:1165 templates/navbar.html:29
-#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
-msgid "Parts"
-msgstr ""
-
-#: part/api.py:700
+#: part/api.py:731
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:704
+#: part/api.py:735
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:719
+#: part/api.py:750
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773
+#: part/api.py:781 part/api.py:785 part/api.py:800 part/api.py:804
msgid "This field is required"
msgstr ""
-#: part/bom.py:133 part/models.py:76 part/models.py:734
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:290
+#: part/bom.py:125 part/models.py:81 part/models.py:816
+#: part/templates/part/category.html:90 part/templates/part/detail.html:104
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:156
+#: part/bom.py:126 part/templates/part/part_base.html:167
msgid "Available Stock"
msgstr ""
@@ -3869,7 +3708,7 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:96 part/models.py:2254
+#: part/forms.py:96 part/models.py:2427
msgid "Parent Part"
msgstr ""
@@ -3901,456 +3740,465 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:226
+#: part/forms.py:214
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:230
+#: part/forms.py:218
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:250
+#: part/forms.py:238
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:77
+#: part/models.py:82
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords"
msgstr ""
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:90 part/models.py:2300
+#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:91 part/templates/part/category.html:32
-#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
-#: templates/stats.html:84 users/models.py:40
+#: part/models.py:96 part/templates/part/category.html:117
+#: templates/InvenTree/search.html:101 templates/stats.html:84
+#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:384
+#: part/models.py:358 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:13 part/templates/part/category.html:122
+#: part/templates/part/category.html:142 templates/InvenTree/index.html:85
+#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304
+#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89
+#: users/models.py:41
+msgid "Parts"
+msgstr ""
+
+#: part/models.py:450
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:436 part/models.py:448
+#: part/models.py:502 part/models.py:514
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:545
+#: part/models.py:611
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:549
+#: part/models.py:615
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:554
+#: part/models.py:620
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:633
+#: part/models.py:715
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:658
+#: part/models.py:740
msgid "Part name"
msgstr ""
-#: part/models.py:665
+#: part/models.py:747
msgid "Is Template"
msgstr ""
-#: part/models.py:666
+#: part/models.py:748
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:676
+#: part/models.py:758
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:677
+#: part/models.py:759
msgid "Variant Of"
msgstr ""
-#: part/models.py:683
+#: part/models.py:765
msgid "Part description"
msgstr ""
-#: part/models.py:688 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:259
+#: part/models.py:770 part/templates/part/category.html:97
+#: part/templates/part/detail.html:73
msgid "Keywords"
msgstr ""
-#: part/models.py:689
+#: part/models.py:771
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:696 part/models.py:2299
-#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:169
-#: templates/js/translated/part.js:927
+#: part/models.py:778 part/models.py:2223 part/models.py:2472
+#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15
+#: templates/InvenTree/settings/settings.html:163
+#: templates/js/translated/part.js:928
msgid "Category"
msgstr ""
-#: part/models.py:697
+#: part/models.py:779
msgid "Part category"
msgstr ""
-#: part/models.py:702 part/templates/part/part_base.html:235
-#: templates/js/translated/part.js:528 templates/js/translated/part.js:760
+#: part/models.py:784 part/templates/part/detail.html:45
+#: templates/js/translated/part.js:549
msgid "IPN"
msgstr ""
-#: part/models.py:703
+#: part/models.py:785
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:709
+#: part/models.py:791
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:710 part/templates/part/part_base.html:252
-#: report/models.py:200 templates/js/translated/part.js:532
+#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200
+#: templates/js/translated/part.js:553
msgid "Revision"
msgstr ""
-#: part/models.py:732
+#: part/models.py:814
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:779 part/templates/part/part_base.html:297
+#: part/models.py:861 part/templates/part/detail.html:113
msgid "Default Supplier"
msgstr ""
-#: part/models.py:780
+#: part/models.py:862
msgid "Default supplier part"
msgstr ""
-#: part/models.py:787
+#: part/models.py:869
msgid "Default Expiry"
msgstr ""
-#: part/models.py:788
+#: part/models.py:870
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:793
+#: part/models.py:875 part/templates/part/part_base.html:178
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:794
+#: part/models.py:876
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:801
+#: part/models.py:883
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:807
+#: part/models.py:889
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:813
+#: part/models.py:895
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:819
+#: part/models.py:901
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:824
+#: part/models.py:906
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:911
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:833 templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:82
-#: templates/js/translated/table_filters.js:268
-#: templates/js/translated/table_filters.js:346
+#: part/models.py:915 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:362
msgid "Active"
msgstr ""
-#: part/models.py:834
+#: part/models.py:916
msgid "Is this part active?"
msgstr ""
-#: part/models.py:839
+#: part/models.py:921
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:844
+#: part/models.py:926
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "BOM checksum"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:850
+#: part/models.py:932
msgid "BOM checked by"
msgstr ""
-#: part/models.py:852
+#: part/models.py:934
msgid "BOM checked date"
msgstr ""
-#: part/models.py:856
+#: part/models.py:938
msgid "Creation User"
msgstr ""
-#: part/models.py:1605
+#: part/models.py:1750
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2100
+#: part/models.py:2273
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2117
+#: part/models.py:2290
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2137 templates/js/translated/part.js:1216
-#: templates/js/translated/stock.js:535
+#: part/models.py:2310 templates/js/translated/part.js:1355
+#: templates/js/translated/stock.js:828
msgid "Test Name"
msgstr ""
-#: part/models.py:2138
+#: part/models.py:2311
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2143
+#: part/models.py:2316
msgid "Test Description"
msgstr ""
-#: part/models.py:2144
+#: part/models.py:2317
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2149 templates/js/translated/part.js:1225
-#: templates/js/translated/table_filters.js:254
+#: part/models.py:2322 templates/js/translated/part.js:1364
+#: templates/js/translated/table_filters.js:270
msgid "Required"
msgstr ""
-#: part/models.py:2150
+#: part/models.py:2323
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2155 templates/js/translated/part.js:1233
+#: part/models.py:2328 templates/js/translated/part.js:1372
msgid "Requires Value"
msgstr ""
-#: part/models.py:2156
+#: part/models.py:2329
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2161 templates/js/translated/part.js:1240
+#: part/models.py:2334 templates/js/translated/part.js:1379
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2162
+#: part/models.py:2335
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2173
+#: part/models.py:2346
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2209
+#: part/models.py:2382
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2217
+#: part/models.py:2390
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2224
+#: part/models.py:2397
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2256 part/models.py:2305 part/models.py:2306
-#: templates/InvenTree/settings/settings.html:164
+#: part/models.py:2429 part/models.py:2478 part/models.py:2479
+#: templates/InvenTree/settings/settings.html:158
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Data"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2310 templates/InvenTree/settings/settings.html:173
+#: part/models.py:2483 templates/InvenTree/settings/settings.html:167
msgid "Default Value"
msgstr ""
-#: part/models.py:2311
+#: part/models.py:2484
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2561
msgid "Select parent part"
msgstr ""
-#: part/models.py:2370
+#: part/models.py:2569
msgid "Sub part"
msgstr ""
-#: part/models.py:2371
+#: part/models.py:2570
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2377
+#: part/models.py:2576
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2379 templates/js/translated/bom.js:275
-#: templates/js/translated/bom.js:335
+#: part/models.py:2578 templates/js/translated/bom.js:452
+#: templates/js/translated/bom.js:526
+#: templates/js/translated/table_filters.js:86
msgid "Optional"
msgstr ""
-#: part/models.py:2379
+#: part/models.py:2578
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2382
+#: part/models.py:2581
msgid "Overage"
msgstr ""
-#: part/models.py:2383
+#: part/models.py:2582
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2585
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2588
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "Checksum"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2395 templates/js/translated/bom.js:352
-#: templates/js/translated/bom.js:359
+#: part/models.py:2594 templates/js/translated/bom.js:543
+#: templates/js/translated/bom.js:550
#: templates/js/translated/table_filters.js:68
+#: templates/js/translated/table_filters.js:82
msgid "Inherited"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2595
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2401 templates/js/translated/bom.js:344
+#: part/models.py:2600 templates/js/translated/bom.js:535
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2402
+#: part/models.py:2601
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2487 stock/models.py:341
+#: part/models.py:2686 stock/models.py:371
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2496 part/models.py:2498
+#: part/models.py:2695 part/models.py:2697
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2620
+#: part/models.py:2826
+msgid "BOM Item Substitute"
+msgstr ""
+
+#: part/models.py:2848
+msgid "Substitute part cannot be the same as the master part"
+msgstr ""
+
+#: part/models.py:2860
+msgid "Parent BOM item"
+msgstr ""
+
+#: part/models.py:2868
+msgid "Substitute part"
+msgstr ""
+
+#: part/models.py:2879
msgid "Part 1"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Part 2"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2656
+#: part/models.py:2915
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
+#: part/tasks.py:53
+#, fuzzy
+#| msgid "Confirm stock allocation"
+msgid "Low stock notification"
+msgstr "Confirmar asignación de stock"
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
-#: part/templates/part/bom.html:14
+#: part/templates/part/bom.html:15
#, python-format
msgid "The BOM for %(part)s has changed, and must be validated.
"
msgstr ""
-#: part/templates/part/bom.html:16
+#: part/templates/part/bom.html:17
#, python-format
msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s"
msgstr ""
-#: part/templates/part/bom.html:20
+#: part/templates/part/bom.html:21
#, python-format
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:27
-msgid "Remove selected BOM items"
-msgstr ""
-
-#: part/templates/part/bom.html:30
-msgid "Import BOM data"
-msgstr ""
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:383
+#, fuzzy
+#| msgid "Options"
+msgid "BOM actions"
+msgstr "Opciones"
#: part/templates/part/bom.html:34
-msgid "Copy BOM from parent part"
-msgstr ""
-
-#: part/templates/part/bom.html:38
-msgid "New BOM Item"
-msgstr ""
-
-#: part/templates/part/bom.html:41
-msgid "Finish Editing"
-msgstr ""
-
-#: part/templates/part/bom.html:46
-msgid "Edit BOM"
-msgstr ""
-
-#: part/templates/part/bom.html:50
-msgid "Validate Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:56 part/views.py:1220
-msgid "Export Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:59
-msgid "Print BOM Report"
-msgstr ""
+#, fuzzy
+#| msgid "Delete Item"
+msgid "Delete Items"
+msgstr "Eliminar elemento"
#: part/templates/part/bom_duplicate.html:13
msgid "This part already has a Bill of Materials"
@@ -4360,28 +4208,23 @@ msgstr ""
msgid "Select Part"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:13
-#: part/templates/part/bom_upload/upload_file.html:16
-msgid "Return To BOM"
-msgstr ""
-
-#: part/templates/part/bom_upload/upload_file.html:27
+#: part/templates/part/bom_upload/upload_file.html:12
msgid "Upload Bill of Materials"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:46
+#: part/templates/part/bom_upload/upload_file.html:32
msgid "Requirements for BOM upload"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "The BOM file must contain the required named columns as provided in the "
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "BOM Upload Template"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:49
+#: part/templates/part/bom_upload/upload_file.html:35
msgid "Each part must already exist in the database"
msgstr ""
@@ -4394,93 +4237,113 @@ msgstr ""
msgid "This will validate each line in the BOM."
msgstr ""
-#: part/templates/part/category.html:33
-msgid "All parts"
+#: part/templates/part/category.html:24 part/templates/part/category.html:28
+msgid "You are subscribed to notifications for this category"
+msgstr ""
+
+#: part/templates/part/category.html:32
+msgid "Subscribe to notifications for this category"
msgstr ""
#: part/templates/part/category.html:38
+msgid "Category Actions"
+msgstr ""
+
+#: part/templates/part/category.html:43
+#, fuzzy
+#| msgid "Select Category"
+msgid "Edit category"
+msgstr "Seleccionar Categoría"
+
+#: part/templates/part/category.html:44
+#, fuzzy
+#| msgid "Select Category"
+msgid "Edit Category"
+msgstr "Seleccionar Categoría"
+
+#: part/templates/part/category.html:48
+#, fuzzy
+#| msgid "Select Category"
+msgid "Delete category"
+msgstr "Seleccionar Categoría"
+
+#: part/templates/part/category.html:49
+#, fuzzy
+#| msgid "Select Category"
+msgid "Delete Category"
+msgstr "Seleccionar Categoría"
+
+#: part/templates/part/category.html:57
msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:44
-msgid "Edit part category"
+#: part/templates/part/category.html:58
+#, fuzzy
+#| msgid "Select Category"
+msgid "New Category"
+msgstr "Seleccionar Categoría"
+
+#: part/templates/part/category.html:67
+msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:49
-msgid "Delete part category"
-msgstr ""
-
-#: part/templates/part/category.html:59 part/templates/part/category.html:98
-msgid "Category Details"
-msgstr ""
-
-#: part/templates/part/category.html:64
+#: part/templates/part/category.html:79
msgid "Category Path"
msgstr ""
-#: part/templates/part/category.html:69
+#: part/templates/part/category.html:84
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:175
-#: part/templates/part/category_navbar.html:14
-#: part/templates/part/category_navbar.html:17
+#: part/templates/part/category.html:103 part/templates/part/category.html:194
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:93
+#: part/templates/part/category.html:108
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:126
+#: part/templates/part/category.html:145
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:142
+#: part/templates/part/category.html:146 part/templates/part/category.html:170
msgid "Export"
msgstr "Exportar"
-#: part/templates/part/category.html:130
+#: part/templates/part/category.html:149
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 templates/js/translated/bom.js:39
+#: part/templates/part/category.html:150 templates/js/translated/bom.js:40
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:141
+#: part/templates/part/category.html:168
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:142
+#: part/templates/part/category.html:170
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:146
-msgid "View list display"
-msgstr ""
-
-#: part/templates/part/category.html:149
-msgid "View grid display"
-msgstr ""
-
-#: part/templates/part/category.html:165
+#: part/templates/part/category.html:184
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:254
+#: part/templates/part/category.html:261
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:281
+#: part/templates/part/category.html:288
msgid "Create Part"
msgstr ""
@@ -4519,12 +4382,7 @@ msgstr ""
msgid "If this category is deleted, these parts will be moved to the top-level category Teile"
msgstr ""
-#: part/templates/part/category_navbar.html:29
-#: part/templates/part/category_navbar.html:32
-msgid "Import Parts"
-msgstr ""
-
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365
msgid "Duplicate Part"
msgstr ""
@@ -4549,311 +4407,321 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)"
msgstr ""
#: part/templates/part/detail.html:16
+#, fuzzy
+#| msgid "Details"
+msgid "Part Details"
+msgstr "Detalles"
+
+#: part/templates/part/detail.html:66
+msgid "Minimum stock level"
+msgstr ""
+
+#: part/templates/part/detail.html:97
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/detail.html:124
msgid "Part Stock"
msgstr ""
-#: part/templates/part/detail.html:21
+#: part/templates/part/detail.html:136
#, python-format
msgid "Showing stock for all variants of %(full_name)s"
msgstr ""
-#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99
+#: part/templates/part/detail.html:146
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:36
+#: part/templates/part/detail.html:151
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:77
-msgid "New sales order"
-msgstr ""
-
-#: part/templates/part/detail.html:77
-msgid "New Order"
-msgstr ""
-
-#: part/templates/part/detail.html:90
+#: part/templates/part/detail.html:208
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27
+#: part/templates/part/detail.html:249
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:137
+#: part/templates/part/detail.html:253
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:138
+#: part/templates/part/detail.html:254
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:161
+#: part/templates/part/detail.html:281
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107
-#: part/templates/part/navbar.html:110
+#: part/templates/part/detail.html:315
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:188
+#: part/templates/part/detail.html:319 part/templates/part/detail.html:320
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43
-#: part/templates/part/navbar.html:46
+#: part/templates/part/detail.html:366
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:237
+#: part/templates/part/detail.html:371
+#, fuzzy
+#| msgid "Export"
+msgid "Export actions"
+msgstr "Exportar"
+
+#: part/templates/part/detail.html:375
+#, fuzzy
+#| msgid "Export"
+msgid "Export BOM"
+msgstr "Exportar"
+
+#: part/templates/part/detail.html:377
+msgid "Print BOM Report"
+msgstr ""
+
+#: part/templates/part/detail.html:387
+msgid "Upload BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:389 templates/js/translated/part.js:266
+msgid "Copy BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:391 part/views.py:820
+msgid "Validate BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:396
+msgid "New BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:397
+msgid "Add BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:410
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:253
+#: part/templates/part/detail.html:427
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:260
-msgid "Start New Build"
-msgstr ""
-
-#: part/templates/part/detail.html:274
+#: part/templates/part/detail.html:452
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:283
+#: part/templates/part/detail.html:462
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:305
+#: part/templates/part/detail.html:489
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:317
+#: part/templates/part/detail.html:505
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:502
+#: part/templates/part/detail.html:686
msgid "Delete selected BOM items?"
msgstr ""
-#: part/templates/part/detail.html:503
+#: part/templates/part/detail.html:687
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:554
+#: part/templates/part/detail.html:738
msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:699
+#: part/templates/part/detail.html:876
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:755
+#: part/templates/part/detail.html:933
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:907
+#: part/templates/part/detail.html:1085
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:919
+#: part/templates/part/detail.html:1097
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:931
+#: part/templates/part/detail.html:1109
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1020
+#: part/templates/part/detail.html:1198
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
#: part/templates/part/import_wizard/ajax_part_upload.html:29
-#: part/templates/part/import_wizard/part_upload.html:51
+#: part/templates/part/import_wizard/part_upload.html:52
msgid "Unsuffitient privileges."
msgstr ""
-#: part/templates/part/import_wizard/part_upload.html:14
+#: part/templates/part/import_wizard/part_upload.html:15
msgid "Import Parts from File"
msgstr ""
-#: part/templates/part/navbar.html:30
-msgid "Variants"
-msgstr ""
-
-#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/navbar.html:70
-msgid "Prices"
-msgstr ""
-
-#: part/templates/part/navbar.html:102
-msgid "Test Templates"
-msgstr ""
-
#: part/templates/part/part_app_base.html:12
msgid "Part List"
msgstr ""
+#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31
+msgid "You are subscribed to notifications for this part"
+msgstr ""
+
#: part/templates/part/part_base.html:35
-msgid "Part is a template part (variants can be made from this part)"
+msgid "Subscribe to notifications for this part"
msgstr ""
-#: part/templates/part/part_base.html:38
-msgid "Part can be assembled from other parts"
-msgstr ""
-
-#: part/templates/part/part_base.html:41
-msgid "Part can be used in assemblies"
-msgstr ""
-
-#: part/templates/part/part_base.html:44
-msgid "Part stock is tracked by serial number"
-msgstr ""
-
-#: part/templates/part/part_base.html:47
-msgid "Part can be purchased from external suppliers"
-msgstr ""
-
-#: part/templates/part/part_base.html:50
-msgid "Part can be sold to customers"
-msgstr ""
-
-#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504
-#: templates/js/translated/company.js:761 templates/js/translated/part.js:443
-#: templates/js/translated/part.js:520
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:73
-msgid "Star this part"
-msgstr ""
-
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:75
-#: stock/templates/stock/location.html:51
+#: part/templates/part/part_base.html:43
+#: stock/templates/stock/item_base.html:28
+#: stock/templates/stock/location.html:29
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:82
-#: stock/templates/stock/item_base.html:77
-#: stock/templates/stock/location.html:53 templates/qr_button.html:1
+#: part/templates/part/part_base.html:45
+#: stock/templates/stock/item_base.html:32
+#: stock/templates/stock/location.html:31 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:83
-#: stock/templates/stock/item_base.html:93
-#: stock/templates/stock/location.html:54
+#: part/templates/part/part_base.html:46
+#: stock/templates/stock/item_base.html:48
+#: stock/templates/stock/location.html:32
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:89
+#: part/templates/part/part_base.html:51
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:95
-#: stock/templates/stock/item_base.html:142
-#: stock/templates/stock/location.html:62
+#: part/templates/part/part_base.html:56
+#: stock/templates/stock/item_base.html:103
+#: stock/templates/stock/location.html:40
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:102
+#: part/templates/part/part_base.html:63
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:108
+#: part/templates/part/part_base.html:69
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:125
+#: part/templates/part/part_base.html:84
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:128
+#: part/templates/part/part_base.html:87
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:131
+#: part/templates/part/part_base.html:90
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:134
+#: part/templates/part/part_base.html:93
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:146
+#: part/templates/part/part_base.html:109
+msgid "Part is a template part (variants can be made from this part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:113
+msgid "Part can be assembled from other parts"
+msgstr ""
+
+#: part/templates/part/part_base.html:117
+msgid "Part can be used in assemblies"
+msgstr ""
+
+#: part/templates/part/part_base.html:121
+msgid "Part stock is tracked by serial number"
+msgstr ""
+
+#: part/templates/part/part_base.html:125
+msgid "Part can be purchased from external suppliers"
+msgstr ""
+
+#: part/templates/part/part_base.html:129
+msgid "Part can be sold to customers"
+msgstr ""
+
+#: part/templates/part/part_base.html:135
+#: part/templates/part/part_base.html:143
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:136
+#: templates/js/translated/company.js:504
+#: templates/js/translated/company.js:761
+#: templates/js/translated/model_renderers.js:175
+#: templates/js/translated/part.js:464 templates/js/translated/part.js:541
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:155
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:161
-#: templates/js/translated/model_renderers.js:169
-#: templates/js/translated/order.js:1503
-#: templates/js/translated/table_filters.js:166
+#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524
+#: templates/js/translated/table_filters.js:182
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960
+#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961
msgid "On Order"
msgstr ""
-#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:181
+#: part/templates/part/part_base.html:199
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:188
+#: part/templates/part/part_base.html:206
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373
+#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776
-#: templates/js/translated/part.js:964
+#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793
+#: templates/js/translated/part.js:965
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:223
-#: part/templates/part/part_base.html:531
-#: part/templates/part/part_base.html:557
-msgid "Show Part Details"
-msgstr ""
-
-#: part/templates/part/part_base.html:283
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144
+#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:445
+#: part/templates/part/part_base.html:363
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:526
-#: part/templates/part/part_base.html:551
-msgid "Hide Part Details"
-msgstr ""
-
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4877,7 +4745,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
-#: templates/js/translated/bom.js:327
+#: templates/js/translated/bom.js:518
msgid "No supplier pricing available"
msgstr ""
@@ -4911,13 +4779,14 @@ msgstr ""
msgid "No pricing information is available for this part."
msgstr ""
-#: part/templates/part/part_thumb.html:20
+#: part/templates/part/part_thumb.html:11
msgid "Select from existing images"
msgstr ""
#: part/templates/part/partial_delete.html:9
#, python-format
-msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
+msgid ""
+"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
"
Disable the \"Active\" part attribute and re-try.\n"
" "
msgstr ""
@@ -4980,7 +4849,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321
+#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512
msgid "Supplier Cost"
msgstr ""
@@ -5002,7 +4871,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:215 part/views.py:1801
+#: part/templates/part/prices.html:215 part/views.py:1853
msgid "Add Internal Price Break"
msgstr ""
@@ -5022,13 +4891,13 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297
-#: templates/js/translated/model_renderers.js:167
-#: templates/js/translated/part.js:766 templates/js/translated/part.js:968
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474
+#: templates/js/translated/part.js:428 templates/js/translated/part.js:783
+#: templates/js/translated/part.js:969
msgid "No Stock"
msgstr ""
-#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166
+#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158
msgid "Low Stock"
msgstr ""
@@ -5041,135 +4910,140 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:106
+#: part/templatetags/inventree_extras.py:113
msgid "Unknown database"
msgstr ""
-#: part/views.py:94
+#: part/views.py:95
msgid "Add Related Part"
msgstr ""
-#: part/views.py:149
+#: part/views.py:150
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:160
+#: part/views.py:161
msgid "Set Part Category"
msgstr ""
-#: part/views.py:210
+#: part/views.py:211
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:270
+#: part/views.py:283
msgid "Match References"
msgstr ""
-#: part/views.py:526
+#: part/views.py:567
msgid "None"
msgstr ""
-#: part/views.py:585
+#: part/views.py:626
msgid "Part QR Code"
msgstr ""
-#: part/views.py:687
+#: part/views.py:728
msgid "Select Part Image"
msgstr ""
-#: part/views.py:713
+#: part/views.py:754
msgid "Updated part image"
msgstr ""
-#: part/views.py:716
+#: part/views.py:757
msgid "Part image not found"
msgstr ""
-#: part/views.py:728
+#: part/views.py:769
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:758
+#: part/views.py:799
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:779
-msgid "Validate BOM"
-msgstr ""
-
-#: part/views.py:800
+#: part/views.py:841
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:811
+#: part/views.py:852
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:884
+#: part/views.py:925
msgid "Match Parts"
msgstr ""
-#: part/views.py:1272
+#: part/views.py:1261
+msgid "Export Bill of Materials"
+msgstr ""
+
+#: part/views.py:1313
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1279
+#: part/views.py:1320
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1288
+#: part/views.py:1329
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1437
+#: part/views.py:1478
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1447
+#: part/views.py:1488
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1454
+#: part/views.py:1495
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1502 templates/js/translated/part.js:308
+#: part/views.py:1554 templates/js/translated/part.js:309
msgid "Edit Part Category"
msgstr ""
-#: part/views.py:1540
+#: part/views.py:1592
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1546
+#: part/views.py:1598
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1555
+#: part/views.py:1607
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1656
+#: part/views.py:1708
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1712
+#: part/views.py:1764
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:1734
+#: part/views.py:1786
msgid "Added new price break"
msgstr ""
-#: part/views.py:1810
+#: part/views.py:1862
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:1818
+#: part/views.py:1870
msgid "Delete Internal Price Break"
msgstr ""
+#: report/api.py:234 report/api.py:278
+#, python-brace-format
+msgid "Template file '{filename}' is missing or does not exist"
+msgstr ""
+
#: report/models.py:182
msgid "Template name"
msgstr ""
@@ -5206,51 +5080,51 @@ msgstr ""
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:380
+#: report/models.py:382
msgid "Build Filters"
msgstr ""
-#: report/models.py:381
+#: report/models.py:383
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:423
+#: report/models.py:425
msgid "Part Filters"
msgstr ""
-#: report/models.py:424
+#: report/models.py:426
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:458
+#: report/models.py:460
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:496
+#: report/models.py:498
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:546
+#: report/models.py:548
msgid "Snippet"
msgstr ""
-#: report/models.py:547
+#: report/models.py:549
msgid "Report snippet file"
msgstr ""
-#: report/models.py:551
+#: report/models.py:553
msgid "Snippet file description"
msgstr ""
-#: report/models.py:586
+#: report/models.py:588
msgid "Asset"
msgstr ""
-#: report/models.py:587
+#: report/models.py:589
msgid "Report asset file"
msgstr ""
-#: report/models.py:590
+#: report/models.py:592
msgid "Asset file description"
msgstr ""
@@ -5267,543 +5141,586 @@ msgstr ""
msgid "Stock Item Test Report"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:83
+#: report/templates/report/inventree_test_report_base.html:79
+#: stock/models.py:530 stock/templates/stock/item_base.html:238
+#: templates/js/translated/build.js:233 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1013
+#: templates/js/translated/model_renderers.js:95
+#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355
+msgid "Serial Number"
+msgstr "Número de serie"
+
+#: report/templates/report/inventree_test_report_base.html:88
msgid "Test Results"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:1804
+#: report/templates/report/inventree_test_report_base.html:93
+#: stock/models.py:1855
msgid "Test"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:89
-#: stock/models.py:1810
+#: report/templates/report/inventree_test_report_base.html:94
+#: stock/models.py:1861
msgid "Result"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502
+#: report/templates/report/inventree_test_report_base.html:97
+#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887
msgid "Date"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:103
+#: report/templates/report/inventree_test_report_base.html:108
msgid "Pass"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:105
+#: report/templates/report/inventree_test_report_base.html:110
msgid "Fail"
msgstr ""
-#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556
-#: stock/templates/stock/item_base.html:395
-#: templates/js/translated/stock.js:946
+#: report/templates/report/inventree_test_report_base.html:123
+msgid "Installed Items"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:137
+#: templates/js/translated/stock.js:2147
+msgid "Serial"
+msgstr ""
+
+#: stock/api.py:422
+msgid "Quantity is required"
+msgstr ""
+
+#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587
+#: stock/templates/stock/item_base.html:382
+#: templates/js/translated/stock.js:1246
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:308
+#: stock/forms.py:92 stock/forms.py:266
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:83
+#: stock/forms.py:95
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:134
+#: stock/forms.py:150
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:138 stock/forms.py:282
+#: stock/forms.py:154 stock/forms.py:238
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:168 stock/forms.py:224
-msgid "Select test report template"
-msgstr ""
-
-#: stock/forms.py:240
+#: stock/forms.py:194
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:270
+#: stock/forms.py:224
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:280
+#: stock/forms.py:236
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm removal of installed stock items"
msgstr ""
-#: stock/models.py:57 stock/models.py:593
+#: stock/models.py:60 stock/models.py:624
+#: stock/templates/stock/item_base.html:422
msgid "Owner"
msgstr ""
-#: stock/models.py:58 stock/models.py:594
+#: stock/models.py:61 stock/models.py:625
msgid "Select Owner"
msgstr ""
-#: stock/models.py:322
+#: stock/models.py:352
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:358
+#: stock/models.py:388
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:368 stock/models.py:377
+#: stock/models.py:398 stock/models.py:407
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:369
+#: stock/models.py:399
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:391
+#: stock/models.py:421
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:397
+#: stock/models.py:427
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:404
+#: stock/models.py:434
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:446
+#: stock/models.py:476
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:455
+#: stock/models.py:485
msgid "Base part"
msgstr ""
-#: stock/models.py:464
+#: stock/models.py:493
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8
+#: stock/models.py:498 stock/templates/stock/location.html:12
+#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:472
+#: stock/models.py:501
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:479
+#: stock/models.py:508
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:484 stock/templates/stock/item_base.html:284
+#: stock/models.py:513 stock/templates/stock/item_base.html:271
msgid "Installed In"
msgstr ""
-#: stock/models.py:487
+#: stock/models.py:516
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:503
+#: stock/models.py:532
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:515
+#: stock/models.py:546
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:519
+#: stock/models.py:550
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:528
+#: stock/models.py:559
msgid "Source Build"
msgstr ""
-#: stock/models.py:530
+#: stock/models.py:561
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:541
+#: stock/models.py:572
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:544
+#: stock/models.py:575
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:550
+#: stock/models.py:581
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:557
+#: stock/models.py:588
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:580 stock/templates/stock/item.html:99
-#: stock/templates/stock/navbar.html:54
+#: stock/models.py:611 stock/templates/stock/item.html:111
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:589
+#: stock/models.py:620
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:599
+#: stock/models.py:630
msgid "Scheduled for deletion"
msgstr ""
-#: stock/models.py:600
+#: stock/models.py:631
msgid "This StockItem will be deleted by the background worker"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1094
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1069
+#: stock/models.py:1100
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1075
+#: stock/models.py:1106
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1078
+#: stock/models.py:1109
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1081
+#: stock/models.py:1112
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1088
+#: stock/models.py:1119
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1246
+#: stock/models.py:1277
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:1724
+#: stock/models.py:1775
msgid "Entry notes"
msgstr ""
-#: stock/models.py:1781
+#: stock/models.py:1832
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:1787
+#: stock/models.py:1838
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:1805
+#: stock/models.py:1856
msgid "Test name"
msgstr ""
-#: stock/models.py:1811 templates/js/translated/table_filters.js:244
+#: stock/models.py:1862 templates/js/translated/table_filters.js:260
msgid "Test result"
msgstr ""
-#: stock/models.py:1817
+#: stock/models.py:1868
msgid "Test output value"
msgstr ""
-#: stock/models.py:1824
+#: stock/models.py:1875
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:1830
+#: stock/models.py:1881
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:424
-msgid "StockItem primary key value"
+#: stock/serializers.py:166
+msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:452
-msgid "Stock transaction notes"
+#: stock/serializers.py:173
+msgid "Purchase currency of this stock item"
msgstr ""
-#: stock/serializers.py:462
-msgid "A list of stock items must be provided"
+#: stock/serializers.py:287
+#, fuzzy
+#| msgid "Number of stock items to build"
+msgid "Enter number of stock items to serialize"
+msgstr "Número de objetos existentes a construir"
+
+#: stock/serializers.py:302
+#, python-brace-format
+msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:554
+#: stock/serializers.py:308
+#, fuzzy
+#| msgid "Enter serial numbers for build outputs"
+msgid "Enter serial numbers for new items"
+msgstr "Introduzca los números de serie de salidas de construcción"
+
+#: stock/serializers.py:319 stock/serializers.py:687
msgid "Destination stock location"
msgstr ""
-#: stock/templates/stock/item.html:17
+#: stock/serializers.py:326
+msgid "Optional note field"
+msgstr ""
+
+#: stock/serializers.py:339
+msgid "Serial numbers cannot be assigned to this part"
+msgstr ""
+
+#: stock/serializers.py:557
+msgid "StockItem primary key value"
+msgstr ""
+
+#: stock/serializers.py:585
+msgid "Stock transaction notes"
+msgstr ""
+
+#: stock/serializers.py:595
+msgid "A list of stock items must be provided"
+msgstr ""
+
+#: stock/templates/stock/item.html:18
msgid "Stock Tracking Information"
msgstr ""
-#: stock/templates/stock/item.html:30
+#: stock/templates/stock/item.html:29
msgid "New Entry"
msgstr ""
-#: stock/templates/stock/item.html:43
+#: stock/templates/stock/item.html:48
msgid "Child Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:50
+#: stock/templates/stock/item.html:55
msgid "This stock item does not have any child items"
msgstr ""
-#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19
-#: stock/templates/stock/navbar.html:22
+#: stock/templates/stock/item.html:64
msgid "Test Data"
msgstr ""
-#: stock/templates/stock/item.html:66
-msgid "Delete Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:70
-msgid "Add Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95
+#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50
msgid "Test Report"
msgstr ""
-#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27
+#: stock/templates/stock/item.html:72
+msgid "Delete Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:76
+msgid "Add Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:133
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:125 stock/views.py:511
+#: stock/templates/stock/item.html:137 stock/views.py:515
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326
+#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:346
+#: stock/templates/stock/item.html:363
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:360
+#: stock/templates/stock/item.html:377
msgid "Delete Test Result"
msgstr ""
-#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:399
-#: templates/js/translated/table_filters.js:225
-msgid "Expired"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:401
-#: templates/js/translated/table_filters.js:231
-msgid "Stale"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:80
-#: templates/js/translated/barcode.js:331
-#: templates/js/translated/barcode.js:336
+#: stock/templates/stock/item_base.html:35
+#: templates/js/translated/barcode.js:330
+#: templates/js/translated/barcode.js:335
msgid "Unlink Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/item_base.html:37
msgid "Link Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31
+#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24
msgid "Scan to Location"
msgstr ""
-#: stock/templates/stock/item_base.html:91
+#: stock/templates/stock/item_base.html:46
msgid "Printing actions"
msgstr ""
-#: stock/templates/stock/item_base.html:104
+#: stock/templates/stock/item_base.html:65
msgid "Stock adjustment actions"
msgstr ""
-#: stock/templates/stock/item_base.html:108
-#: stock/templates/stock/location.html:69 templates/stock_table.html:57
+#: stock/templates/stock/item_base.html:69
+#: stock/templates/stock/location.html:47 templates/stock_table.html:50
msgid "Count stock"
msgstr ""
-#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55
+#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48
msgid "Add stock"
msgstr ""
-#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56
+#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49
msgid "Remove stock"
msgstr ""
-#: stock/templates/stock/item_base.html:117
+#: stock/templates/stock/item_base.html:78
msgid "Serialize stock"
msgstr ""
-#: stock/templates/stock/item_base.html:121
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/location.html:53
msgid "Transfer stock"
msgstr ""
-#: stock/templates/stock/item_base.html:124
+#: stock/templates/stock/item_base.html:85
msgid "Assign to customer"
msgstr ""
-#: stock/templates/stock/item_base.html:127
+#: stock/templates/stock/item_base.html:88
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install"
msgstr ""
-#: stock/templates/stock/item_base.html:145
+#: stock/templates/stock/item_base.html:106
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:109
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:150
+#: stock/templates/stock/item_base.html:111
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:153
+#: stock/templates/stock/item_base.html:114
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:173
+#: stock/templates/stock/item_base.html:136
+#: stock/templates/stock/item_base.html:386
+#: templates/js/translated/table_filters.js:241
+msgid "Expired"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/table_filters.js:247
+msgid "Stale"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:161
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:180
+#: stock/templates/stock/item_base.html:168
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:181
+#: stock/templates/stock/item_base.html:169
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:194
+#: stock/templates/stock/item_base.html:182
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:202
+#: stock/templates/stock/item_base.html:190
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:210
+#: stock/templates/stock/item_base.html:198
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:216
+#: stock/templates/stock/item_base.html:204
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:220
+#: stock/templates/stock/item_base.html:208
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:224
+#: stock/templates/stock/item_base.html:212
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:232
-msgid "Stock Item Details"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:241
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:260
+#: stock/templates/stock/item_base.html:247
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:303
-#: templates/js/translated/build.js:658
+#: stock/templates/stock/item_base.html:290
+#: templates/js/translated/build.js:1035
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:310
+#: stock/templates/stock/item_base.html:297
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:352
+#: stock/templates/stock/item_base.html:339
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:370
+#: stock/templates/stock/item_base.html:357
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:399
+#: stock/templates/stock/item_base.html:386
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:401
+#: stock/templates/stock/item_base.html:388
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:408
-#: templates/js/translated/stock.js:959
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1259
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:413
+#: stock/templates/stock/item_base.html:400
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:417
+#: stock/templates/stock/item_base.html:404
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:428
+#: stock/templates/stock/item_base.html:415
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:516
-msgid "Save"
-msgstr "Guardar"
-
-#: stock/templates/stock/item_base.html:528
+#: stock/templates/stock/item_base.html:504
msgid "Edit Stock Status"
msgstr ""
@@ -5857,106 +5774,70 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:20
-msgid "You are not in the list of owners of this location. This stock location cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/location.html:37
-msgid "All stock items"
-msgstr ""
-
-#: stock/templates/stock/location.html:42
-msgid "Create new stock location"
-msgstr ""
-
-#: stock/templates/stock/location.html:55
+#: stock/templates/stock/location.html:33
msgid "Check-in Items"
msgstr ""
-#: stock/templates/stock/location.html:83
+#: stock/templates/stock/location.html:61
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:85
+#: stock/templates/stock/location.html:63
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:87
+#: stock/templates/stock/location.html:65
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:99
-msgid "Location Details"
+#: stock/templates/stock/location.html:75
+msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:104
-msgid "Location Path"
+#: stock/templates/stock/location.html:76
+msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:109
-msgid "Location Description"
+#: stock/templates/stock/location.html:86
+#, fuzzy
+#| msgid "Confirm stock allocation"
+msgid "Top level stock location"
+msgstr "Confirmar asignación de stock"
+
+#: stock/templates/stock/location.html:95
+msgid "You are not in the list of owners of this location. This stock location cannot be edited."
msgstr ""
-#: stock/templates/stock/location.html:114
-#: stock/templates/stock/location.html:155
-#: stock/templates/stock/location_navbar.html:11
-#: stock/templates/stock/location_navbar.html:14
+#: stock/templates/stock/location.html:113
+#: stock/templates/stock/location.html:160
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:124
-msgid "Stock Details"
+#: stock/templates/stock/location.html:118
+#: stock/templates/stock/location.html:132
+#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158
+#: templates/js/translated/stock.js:1871 templates/stats.html:93
+#: templates/stats.html:102 users/models.py:43
+msgid "Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196
+#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170
#: templates/stats.html:97 users/models.py:42
msgid "Stock Locations"
msgstr ""
-#: stock/templates/stock/location.html:162 templates/stock_table.html:37
+#: stock/templates/stock/location.html:167 templates/stock_table.html:30
msgid "Printing Actions"
msgstr ""
-#: stock/templates/stock/location.html:166 templates/stock_table.html:41
+#: stock/templates/stock/location.html:171 templates/stock_table.html:34
msgid "Print labels"
msgstr ""
-#: stock/templates/stock/location.html:250
-msgid "New Location"
-msgstr ""
-
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
-msgstr ""
-
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: stock/templates/stock/navbar.html:11
-msgid "Stock Item Tracking"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:14
-msgid "History"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:30
-msgid "Installed Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:38
-msgid "Child Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:41
-msgid "Children"
-msgstr ""
-
-#: stock/templates/stock/stock_adjust.html:43
-msgid "Remove item"
-msgstr ""
-
#: stock/templates/stock/stock_app_base.html:16
msgid "Loading..."
msgstr ""
@@ -5965,7 +5846,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912
msgid "Convert Stock Item"
msgstr ""
@@ -5986,104 +5867,100 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:158
+#: stock/views.py:162
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:265 stock/views.py:888 stock/views.py:1010
-#: stock/views.py:1375
+#: stock/views.py:269 stock/views.py:891 stock/views.py:1017
+#: stock/views.py:1299
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:280
+#: stock/views.py:284
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:299
+#: stock/views.py:303
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:308
+#: stock/views.py:312
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:332
+#: stock/views.py:336
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:345
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:352
+#: stock/views.py:356
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:363
+#: stock/views.py:367
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:380
+#: stock/views.py:384
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:485
+#: stock/views.py:489
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:660
+#: stock/views.py:663
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:757 templates/js/translated/stock.js:321
+#: stock/views.py:760 templates/js/translated/stock.js:618
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:768
+#: stock/views.py:771
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:790
+#: stock/views.py:793 templates/js/translated/stock.js:288
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:936
+#: stock/views.py:943
msgid "Create new Stock Location"
msgstr ""
-#: stock/views.py:1027
-msgid "Serialize Stock"
-msgstr ""
-
-#: stock/views.py:1120
+#: stock/views.py:1044
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1262
+#: stock/views.py:1186 templates/js/translated/stock.js:268
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1344
+#: stock/views.py:1268
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1444
+#: stock/views.py:1368
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1457
+#: stock/views.py:1381
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1468
+#: stock/views.py:1392
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1475
+#: stock/views.py:1399
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1484
+#: stock/views.py:1408
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6107,63 +5984,67 @@ msgstr ""
msgid "Index"
msgstr ""
-#: templates/InvenTree/index.html:105
-msgid "Starred Parts"
+#: templates/InvenTree/index.html:88
+msgid "Subscribed Parts"
msgstr ""
-#: templates/InvenTree/index.html:115
+#: templates/InvenTree/index.html:98
+msgid "Subscribed Categories"
+msgstr ""
+
+#: templates/InvenTree/index.html:108
msgid "Latest Parts"
msgstr ""
-#: templates/InvenTree/index.html:126
+#: templates/InvenTree/index.html:119
msgid "BOM Waiting Validation"
msgstr ""
-#: templates/InvenTree/index.html:153
+#: templates/InvenTree/index.html:145
msgid "Recently Updated"
msgstr ""
-#: templates/InvenTree/index.html:176
+#: templates/InvenTree/index.html:168
msgid "Depleted Stock"
msgstr ""
-#: templates/InvenTree/index.html:199
+#: templates/InvenTree/index.html:191
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:202
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:232
+#: templates/InvenTree/index.html:224
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:243
+#: templates/InvenTree/index.html:235
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:263
+#: templates/InvenTree/index.html:255
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:274
+#: templates/InvenTree/index.html:266
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:294
+#: templates/InvenTree/index.html:286
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:305
+#: templates/InvenTree/index.html:297
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14
+#: templates/InvenTree/search.html:8
msgid "Search Results"
msgstr ""
-#: templates/InvenTree/search.html:24
+#: templates/InvenTree/search.html:22
msgid "Enter a search query"
msgstr ""
@@ -6183,23 +6064,23 @@ msgstr ""
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:23
+#: templates/InvenTree/settings/currencies.html:19
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:27
+#: templates/InvenTree/settings/currencies.html:24
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:37
+#: templates/InvenTree/settings/currencies.html:38
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:43
+#: templates/InvenTree/settings/currencies.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:48
+#: templates/InvenTree/settings/currencies.html:49
msgid "Update Now"
msgstr ""
@@ -6207,147 +6088,76 @@ msgstr ""
msgid "Server Settings"
msgstr ""
-#: templates/InvenTree/settings/header.html:7
-msgid "Setting"
-msgstr ""
-
#: templates/InvenTree/settings/login.html:9
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:12
-#: templates/InvenTree/settings/user_settings.html:9
-msgid "User Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:15
-#: templates/InvenTree/settings/navbar.html:17
-msgid "Account"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:21
-#: templates/InvenTree/settings/navbar.html:23
-msgid "Home Page"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29
-#: templates/js/translated/tables.js:375 templates/search_form.html:6
-#: templates/search_form.html:8
-msgid "Search"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:33
-#: templates/InvenTree/settings/navbar.html:35
-msgid "Labels"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:39
-#: templates/InvenTree/settings/navbar.html:41
-msgid "Reports"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:45
-#: templates/InvenTree/settings/navbar.html:47
-msgid "Forms"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:52
-#: templates/InvenTree/settings/navbar.html:54
-#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90
-msgid "Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:62
-msgid "InvenTree Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:65
-#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87
-msgid "Login"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:77
-#: templates/InvenTree/settings/navbar.html:79
-msgid "Barcodes"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85
-msgid "Currencies"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91
-msgid "Reporting"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103
-msgid "Categories"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:7
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:12
-msgid "Part Options"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:43
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:47
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:59
+#: templates/InvenTree/settings/part.html:61
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/po.html:9
+#: templates/InvenTree/settings/po.html:7
msgid "Purchase Order Settings"
msgstr ""
-#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:29
+#: templates/InvenTree/settings/setting.html:28
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:41
+#: templates/InvenTree/settings/setting.html:39
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:154
+#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93
+msgid "Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+msgid "Edit Global Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+#, fuzzy
+#| msgid "Edit User Information"
+msgid "Edit User Setting"
+msgstr "Editar datos del usuario"
+
+#: templates/InvenTree/settings/settings.html:148
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:176
-#: templates/InvenTree/settings/settings.html:275
+#: templates/InvenTree/settings/settings.html:170
+#: templates/InvenTree/settings/settings.html:269
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:177
-#: templates/InvenTree/settings/settings.html:276
+#: templates/InvenTree/settings/settings.html:171
+#: templates/InvenTree/settings/settings.html:270
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:255
+#: templates/InvenTree/settings/settings.html:249
msgid "No part parameter templates found"
msgstr ""
@@ -6363,134 +6173,160 @@ msgstr ""
msgid "Account Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:19
+#: templates/InvenTree/settings/user.html:18
#: templates/js/translated/helpers.js:26
msgid "Edit"
msgstr ""
-#: templates/InvenTree/settings/user.html:21
+#: templates/InvenTree/settings/user.html:20
#: templates/account/password_reset_from_key.html:4
#: templates/account/password_reset_from_key.html:7
msgid "Change Password"
msgstr ""
-#: templates/InvenTree/settings/user.html:28
+#: templates/InvenTree/settings/user.html:31
msgid "Username"
msgstr ""
-#: templates/InvenTree/settings/user.html:32
+#: templates/InvenTree/settings/user.html:35
msgid "First Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:36
+#: templates/InvenTree/settings/user.html:39
msgid "Last Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:42
-msgid "E-Mail"
+#: templates/InvenTree/settings/user.html:54
+msgid "The following email addresses are associated with your account:"
msgstr ""
-#: templates/InvenTree/settings/user.html:47
-msgid "The following e-mail addresses are associated with your account:"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:61
+#: templates/InvenTree/settings/user.html:74
msgid "Verified"
msgstr ""
-#: templates/InvenTree/settings/user.html:63
+#: templates/InvenTree/settings/user.html:76
msgid "Unverified"
msgstr ""
-#: templates/InvenTree/settings/user.html:65
+#: templates/InvenTree/settings/user.html:78
msgid "Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:71
+#: templates/InvenTree/settings/user.html:84
msgid "Make Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:72
+#: templates/InvenTree/settings/user.html:85
msgid "Re-send Verification"
msgstr ""
-#: templates/InvenTree/settings/user.html:73
-#: templates/InvenTree/settings/user.html:130
+#: templates/InvenTree/settings/user.html:86
+#: templates/InvenTree/settings/user.html:153
msgid "Remove"
msgstr ""
-#: templates/InvenTree/settings/user.html:80
+#: templates/InvenTree/settings/user.html:93
msgid "Warning:"
msgstr ""
-#: templates/InvenTree/settings/user.html:81
-msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc."
+#: templates/InvenTree/settings/user.html:94
+msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc."
msgstr ""
-#: templates/InvenTree/settings/user.html:88
-msgid "Add E-mail Address"
+#: templates/InvenTree/settings/user.html:101
+msgid "Add Email Address"
msgstr ""
-#: templates/InvenTree/settings/user.html:93
-msgid "Add E-mail"
+#: templates/InvenTree/settings/user.html:111
+msgid "Enter e-mail address"
msgstr ""
-#: templates/InvenTree/settings/user.html:100
+#: templates/InvenTree/settings/user.html:113
+#, fuzzy
+#| msgid "Email"
+msgid "Add Email"
+msgstr "Email"
+
+#: templates/InvenTree/settings/user.html:123
msgid "Social Accounts"
msgstr ""
-#: templates/InvenTree/settings/user.html:105
+#: templates/InvenTree/settings/user.html:128
msgid "You can sign in to your account using any of the following third party accounts:"
msgstr ""
-#: templates/InvenTree/settings/user.html:138
-msgid "You currently have no social network accounts connected to this account."
+#: templates/InvenTree/settings/user.html:162
+msgid "There are no social network accounts connected to your InvenTree account"
msgstr ""
-#: templates/InvenTree/settings/user.html:142
+#: templates/InvenTree/settings/user.html:167
msgid "Add a 3rd Party Account"
msgstr ""
-#: templates/InvenTree/settings/user.html:153
-msgid "Theme Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:174
-msgid "Set Theme"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:181
+#: templates/InvenTree/settings/user.html:177
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:200
+#: templates/InvenTree/settings/user.html:186
+#, fuzzy
+#| msgid "Select Category"
+msgid "Select language"
+msgstr "Seleccionar Categoría"
+
+#: templates/InvenTree/settings/user.html:202
#, python-format
msgid "%(lang_translated)s%% translated"
msgstr ""
-#: templates/InvenTree/settings/user.html:202
+#: templates/InvenTree/settings/user.html:204
msgid "No translations available"
msgstr ""
-#: templates/InvenTree/settings/user.html:209
+#: templates/InvenTree/settings/user.html:211
msgid "Set Language"
msgstr ""
-#: templates/InvenTree/settings/user.html:214
-msgid "Help the translation efforts!"
+#: templates/InvenTree/settings/user.html:213
+msgid "Some languages are not complete"
msgstr ""
#: templates/InvenTree/settings/user.html:215
+msgid "Show only sufficent"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:217
+msgid "Show them too"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:224
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:225
#, python-format
msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
msgstr ""
-#: templates/InvenTree/settings/user.html:223
-msgid "Do you really want to remove the selected e-mail address?"
+#: templates/InvenTree/settings/user.html:233
+msgid "Do you really want to remove the selected email address?"
msgstr ""
-#: templates/InvenTree/settings/user_forms.html:9
-msgid "Form Settings"
+#: templates/InvenTree/settings/user_display.html:9
+msgid "Display Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:25
+msgid "Theme Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:35
+#, fuzzy
+#| msgid "Select Category"
+msgid "Select theme"
+msgstr "Seleccionar Categoría"
+
+#: templates/InvenTree/settings/user_display.html:46
+msgid "Set Theme"
msgstr ""
#: templates/InvenTree/settings/user_homepage.html:9
@@ -6505,124 +6341,139 @@ msgstr ""
msgid "Search Settings"
msgstr ""
-#: templates/about.html:13
+#: templates/InvenTree/settings/user_settings.html:9
+msgid "User Settings"
+msgstr ""
+
+#: templates/about.html:10
msgid "InvenTree Version Information"
msgstr ""
-#: templates/about.html:22
+#: templates/about.html:11 templates/about.html:105
+#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:964 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
+msgid "Close"
+msgstr ""
+
+#: templates/about.html:20
msgid "InvenTree Version"
msgstr ""
-#: templates/about.html:27
+#: templates/about.html:25
msgid "Development Version"
msgstr ""
-#: templates/about.html:30
+#: templates/about.html:28
msgid "Up to Date"
msgstr ""
-#: templates/about.html:32
+#: templates/about.html:30
msgid "Update Available"
msgstr ""
-#: templates/about.html:42
+#: templates/about.html:40
msgid "Commit Hash"
msgstr ""
-#: templates/about.html:49
+#: templates/about.html:47
msgid "Commit Date"
msgstr ""
-#: templates/about.html:55
+#: templates/about.html:53
msgid "InvenTree Documentation"
msgstr ""
-#: templates/about.html:60
+#: templates/about.html:58
msgid "API Version"
msgstr ""
-#: templates/about.html:65
+#: templates/about.html:63
msgid "Python Version"
msgstr ""
-#: templates/about.html:70
+#: templates/about.html:68
msgid "Django Version"
msgstr ""
-#: templates/about.html:75
+#: templates/about.html:73
msgid "View Code on GitHub"
msgstr ""
-#: templates/about.html:80
+#: templates/about.html:78
msgid "Credits"
msgstr ""
-#: templates/about.html:85
+#: templates/about.html:83
msgid "Mobile App"
msgstr ""
-#: templates/about.html:90
+#: templates/about.html:88
msgid "Submit Bug Report"
msgstr ""
-#: templates/about.html:97 templates/clip.html:4
+#: templates/about.html:95 templates/clip.html:4
msgid "copy to clipboard"
msgstr ""
-#: templates/about.html:97
+#: templates/about.html:95
msgid "copy version information"
msgstr ""
-#: templates/about.html:107 templates/js/translated/modals.js:50
-#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678
-#: templates/js/translated/modals.js:982 templates/modals.html:29
-#: templates/modals.html:54
-msgid "Close"
-msgstr ""
-
#: templates/account/email_confirm.html:6
#: templates/account/email_confirm.html:10
-msgid "Confirm E-mail Address"
+msgid "Confirm Email Address"
msgstr ""
#: templates/account/email_confirm.html:16
#, python-format
-msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s."
+msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
#: templates/account/email_confirm.html:27
#, python-format
-msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request."
+msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:5 templates/account/login.html:14
-#: templates/account/login.html:36
+#: templates/account/login.html:6 templates/account/login.html:16
+#: templates/account/login.html:39
msgid "Sign In"
msgstr ""
-#: templates/account/login.html:19
+#: templates/account/login.html:21
#, python-format
-msgid "Please sign in with one\n"
+msgid ""
+"Please sign in with one\n"
"of your existing third party accounts or sign up\n"
"for a account and sign in below:"
msgstr ""
-#: templates/account/login.html:23
+#: templates/account/login.html:25
#, python-format
-msgid "If you have not created an account yet, then please\n"
+msgid ""
+"If you have not created an account yet, then please\n"
"sign up first."
msgstr ""
-#: templates/account/login.html:38
+#: templates/account/login.html:42
msgid "Forgot Password?"
msgstr ""
-#: templates/account/login.html:45
+#: templates/account/login.html:47
+msgid "InvenTree demo instance"
+msgstr ""
+
+#: templates/account/login.html:47
+msgid "Click here for login details"
+msgstr ""
+
+#: templates/account/login.html:55
msgid "or use SSO"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
-#: templates/account/logout.html:17
+#: templates/account/logout.html:20
msgid "Sign Out"
msgstr ""
@@ -6630,13 +6481,17 @@ msgstr ""
msgid "Are you sure you want to sign out?"
msgstr ""
+#: templates/account/logout.html:19
+msgid "Back to Site"
+msgstr ""
+
#: templates/account/password_reset.html:5
#: templates/account/password_reset.html:12
msgid "Password Reset"
msgstr ""
#: templates/account/password_reset.html:18
-msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it."
+msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it."
msgstr ""
#: templates/account/password_reset.html:23
@@ -6656,11 +6511,13 @@ msgstr ""
msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
msgstr ""
-#: templates/account/password_reset_from_key.html:17
-msgid "change password"
-msgstr ""
+#: templates/account/password_reset_from_key.html:18
+#, fuzzy
+#| msgid "Enter password"
+msgid "Change password"
+msgstr "Introduzca contraseña"
-#: templates/account/password_reset_from_key.html:20
+#: templates/account/password_reset_from_key.html:22
msgid "Your password is now changed."
msgstr ""
@@ -6677,6 +6534,83 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/admin_button.html:2
+msgid "View in administration panel"
+msgstr ""
+
+#: templates/base.html:96
+msgid "Server Restart Required"
+msgstr ""
+
+#: templates/base.html:99
+msgid "A configuration option has been changed which requires a server restart"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Contact your system administrator for further information"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:7
+#, fuzzy
+#| msgid "User responsible for this build order"
+msgid "Stock is required for the following build order"
+msgstr "Usuario responsable de esta orden"
+
+#: templates/email/build_order_required_stock.html:8
+#, python-format
+msgid "Build order %(build)s - building %(quantity)s x %(part)s"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:10
+msgid "Click on the following link to view this build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:14
+msgid "The following parts are low on required stock"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:18
+#: templates/js/translated/bom.js:989
+#, fuzzy
+#| msgid "Build Quantity"
+msgid "Required Quantity"
+msgstr "Cantidad a crear"
+
+#: templates/email/build_order_required_stock.html:19
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129
+#: templates/js/translated/build.js:1749
+msgid "Available"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:38
+#: templates/email/low_stock_notification.html:31
+msgid "You are receiving this email because you are subscribed to notifications for this part "
+msgstr ""
+
+#: templates/email/email.html:35
+msgid "InvenTree version"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:7
+#, python-format
+msgid " The available stock for %(part)s has fallen below the configured minimum level"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:9
+msgid "Click on the following link to view this part"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:17
+msgid "Total Stock"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:19
+#, fuzzy
+#| msgid "Build Quantity"
+msgid "Minimum Quantity"
+msgstr "Cantidad a crear"
+
#: templates/image_download.html:8
msgid "Specify URL for downloading image"
msgstr ""
@@ -6693,138 +6627,59 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/report.js:47 templates/js/translated/report.js:67
-msgid "items selected"
-msgstr ""
-
-#: templates/js/report.js:55 templates/js/translated/report.js:75
-msgid "Select Report Template"
-msgstr ""
-
-#: templates/js/report.js:70 templates/js/translated/report.js:90
-msgid "Select Test Report Template"
-msgstr ""
-
-#: templates/js/report.js:98 templates/js/translated/label.js:29
-#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/report.js:99 templates/js/translated/report.js:119
-msgid "Stock item(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:116 templates/js/report.js:169
-#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331 templates/js/translated/report.js:136
-#: templates/js/translated/report.js:189 templates/js/translated/report.js:243
-#: templates/js/translated/report.js:297 templates/js/translated/report.js:351
-msgid "No Reports Found"
-msgstr ""
-
-#: templates/js/report.js:117 templates/js/translated/report.js:137
-msgid "No report templates found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/report.js:152 templates/js/translated/report.js:172
-msgid "Select Builds"
-msgstr ""
-
-#: templates/js/report.js:153 templates/js/translated/report.js:173
-msgid "Build(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:170 templates/js/translated/report.js:190
-msgid "No report templates found which match selected build(s)"
-msgstr ""
-
-#: templates/js/report.js:205 templates/js/translated/build.js:948
-#: templates/js/translated/label.js:134 templates/js/translated/report.js:225
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/report.js:206 templates/js/translated/report.js:226
-msgid "Part(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:224 templates/js/translated/report.js:244
-msgid "No report templates found which match selected part(s)"
-msgstr ""
-
-#: templates/js/report.js:259 templates/js/translated/report.js:279
-msgid "Select Purchase Orders"
-msgstr ""
-
-#: templates/js/report.js:260 templates/js/translated/report.js:280
-msgid "Purchase Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/report.js:278 templates/js/report.js:332
-#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
-msgid "No report templates found which match selected orders"
-msgstr ""
-
-#: templates/js/report.js:313 templates/js/translated/report.js:333
-msgid "Select Sales Orders"
-msgstr ""
-
-#: templates/js/report.js:314 templates/js/translated/report.js:334
-msgid "Sales Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053
+#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035
msgid "No response from the InvenTree server"
msgstr ""
-#: templates/js/translated/api.js:181
+#: templates/js/translated/api.js:191
msgid "Error 400: Bad request"
msgstr ""
-#: templates/js/translated/api.js:182
+#: templates/js/translated/api.js:192
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063
+#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055
msgid "The requested resource could not be located on the server"
msgstr ""
-#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060
msgid "Connection timeout while requesting data from server"
msgstr ""
-#: templates/js/translated/api.js:205
+#: templates/js/translated/api.js:215
msgid "Unhandled Error Code"
msgstr ""
-#: templates/js/translated/api.js:206
+#: templates/js/translated/api.js:216
msgid "Error code"
msgstr ""
@@ -6832,292 +6687,375 @@ msgstr ""
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:91
+#: templates/js/translated/attachment.js:95
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:104
+#: templates/js/translated/attachment.js:108
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:115
msgid "Delete attachment"
msgstr ""
-#: templates/js/translated/barcode.js:30
+#: templates/js/translated/barcode.js:29
msgid "Scan barcode data here using wedge scanner"
msgstr ""
-#: templates/js/translated/barcode.js:32
+#: templates/js/translated/barcode.js:31
msgid "Enter barcode data"
msgstr ""
-#: templates/js/translated/barcode.js:36
+#: templates/js/translated/barcode.js:35
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:54
+#: templates/js/translated/barcode.js:53
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:55
+#: templates/js/translated/barcode.js:54
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:93
+#: templates/js/translated/barcode.js:92
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:114
+#: templates/js/translated/barcode.js:113
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:141
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/barcode.js:140
+#: templates/js/translated/modals.js:1024
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:234
+#: templates/js/translated/barcode.js:233
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:281 templates/navbar.html:65
+#: templates/js/translated/barcode.js:280 templates/navbar.html:69
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:292
+#: templates/js/translated/barcode.js:291
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:310
+#: templates/js/translated/barcode.js:309
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:333
+#: templates/js/translated/barcode.js:332
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:339
+#: templates/js/translated/barcode.js:338
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273
+#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:440
+#: templates/js/translated/barcode.js:439
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:444
-#: templates/js/translated/barcode.js:571
+#: templates/js/translated/barcode.js:443
+#: templates/js/translated/barcode.js:573
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:486
-#: templates/js/translated/barcode.js:610
+#: templates/js/translated/barcode.js:485
+#: templates/js/translated/barcode.js:612
msgid "Error transferring stock"
msgstr ""
-#: templates/js/translated/barcode.js:505
+#: templates/js/translated/barcode.js:507
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:509
+#: templates/js/translated/barcode.js:511
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:516
+#: templates/js/translated/barcode.js:518
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:523
+#: templates/js/translated/barcode.js:525
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:566
+#: templates/js/translated/barcode.js:568
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:629
+#: templates/js/translated/barcode.js:633
msgid "Barcode does not match a valid location"
msgstr ""
-#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495
+#: templates/js/translated/bom.js:184
+msgid "Remove substitute part"
+msgstr ""
+
+#: templates/js/translated/bom.js:226
+msgid "Select and add a new variant item using the input below"
+msgstr ""
+
+#: templates/js/translated/bom.js:237
+msgid "Are you sure you wish to remove this substitute part link?"
+msgstr ""
+
+#: templates/js/translated/bom.js:243
+msgid "Remove Substitute Part"
+msgstr ""
+
+#: templates/js/translated/bom.js:282
+msgid "Add Substitute"
+msgstr ""
+
+#: templates/js/translated/bom.js:283
+msgid "Edit BOM Item Substitutes"
+msgstr ""
+
+#: templates/js/translated/bom.js:402
+msgid "Substitutes Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111
+msgid "Variant stock allowed"
+msgstr ""
+
+#: templates/js/translated/bom.js:411
msgid "Open subassembly"
msgstr ""
-#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744
-#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522
-msgid "Available"
+#: templates/js/translated/bom.js:483
+msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:307
+#: templates/js/translated/bom.js:498
msgid "Purchase Price Range"
msgstr ""
-#: templates/js/translated/bom.js:314
+#: templates/js/translated/bom.js:505
msgid "Purchase Price Average"
msgstr ""
-#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449
+#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798
-#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285
+#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183
+#: templates/js/translated/order.js:1298
msgid "Actions"
msgstr ""
-#: templates/js/translated/bom.js:423
+#: templates/js/translated/bom.js:614
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:425
+#: templates/js/translated/bom.js:616
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590
+#: templates/js/translated/bom.js:618
+msgid "Edit substitute parts"
+msgstr ""
+
+#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575
+#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:1593
+#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/build.js:71
-msgid "Edit Build Order"
+#: templates/js/translated/bom.js:772
+msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/build.js:105
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/translated/build.js:138
-msgid "Allocate stock items to this build output"
-msgstr ""
-
-#: templates/js/translated/build.js:146
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/translated/build.js:155
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:164
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:265
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356
-#: templates/js/translated/order.js:1292
-msgid "Edit stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357
-#: templates/js/translated/order.js:1293
-msgid "Delete stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:695
-msgid "Edit Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:705
-msgid "Remove Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:718
+#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095
msgid "Required Part"
msgstr ""
-#: templates/js/translated/build.js:739
+#: templates/js/translated/bom.js:994
+#, fuzzy
+#| msgid "Split from parent item"
+msgid "Inherited from parent BOM"
+msgstr "Separar del elemento principal"
+
+#: templates/js/translated/build.js:78
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:112
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:133
+msgid "Allocate stock items to this build output"
+msgstr ""
+
+#: templates/js/translated/build.js:144
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:153
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:161
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:184
+msgid "Are you sure you wish to unallocate stock items from this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:202
+msgid "Unallocate Stock Items"
+msgstr ""
+
+#: templates/js/translated/build.js:220
+msgid "Select Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:221
+msgid "At least one build output must be selected"
+msgstr ""
+
+#: templates/js/translated/build.js:275
+msgid "Output"
+msgstr ""
+
+#: templates/js/translated/build.js:291
+#, fuzzy
+#| msgid "Completed items"
+msgid "Complete Build Outputs"
+msgstr "Elementos completados"
+
+#: templates/js/translated/build.js:386
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:603
+#, fuzzy
+#| msgid "No build output specified"
+msgid "No active build outputs found"
+msgstr "No se ha especificado salida de construcción"
+
+#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760
+#: templates/js/translated/order.js:1305
+msgid "Edit stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761
+#: templates/js/translated/order.js:1306
+msgid "Delete stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1072
+msgid "Edit Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1082
+msgid "Remove Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1107
+msgid "Substitute parts available"
+msgstr ""
+
+#: templates/js/translated/build.js:1124
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:749 templates/js/translated/build.js:975
-#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514
+#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360
+#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553
-#: templates/js/translated/order.js:1567
+#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557
-#: templates/stock_table.html:59
+#: templates/js/translated/build.js:1194 templates/stock_table.html:52
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560
+#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:880
+#: templates/js/translated/build.js:1262
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:949
+#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134
+#: templates/js/translated/report.js:225
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/translated/build.js:1334
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:963
+#: templates/js/translated/build.js:1348
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:992
+#: templates/js/translated/build.js:1377
msgid "Confirm stock allocation"
msgstr "Confirmar asignación de stock"
-#: templates/js/translated/build.js:993
+#: templates/js/translated/build.js:1378
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:1004
+#: templates/js/translated/build.js:1389
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:1048
+#: templates/js/translated/build.js:1451
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:1172
+#: templates/js/translated/build.js:1576
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856
-#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762
-#: templates/js/translated/stock.js:1456
+#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873
+#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064
+#: templates/js/translated/stock.js:1841
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:1209
+#: templates/js/translated/build.js:1613
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675
+#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:1282
+#: templates/js/translated/build.js:1686
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:1333
+#: templates/js/translated/build.js:1737
msgid "No parts allocated for"
msgstr ""
@@ -7137,7 +7075,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:164 templates/js/translated/order.js:89
+#: templates/js/translated/company.js:164 templates/js/translated/order.js:90
msgid "Add Supplier"
msgstr ""
@@ -7186,34 +7124,34 @@ msgid "No manufacturer parts found"
msgstr ""
#: templates/js/translated/company.js:496
-#: templates/js/translated/company.js:753 templates/js/translated/part.js:427
-#: templates/js/translated/part.js:512
+#: templates/js/translated/company.js:753 templates/js/translated/part.js:448
+#: templates/js/translated/part.js:533
msgid "Template part"
msgstr ""
#: templates/js/translated/company.js:500
-#: templates/js/translated/company.js:757 templates/js/translated/part.js:431
-#: templates/js/translated/part.js:516
+#: templates/js/translated/company.js:757 templates/js/translated/part.js:452
+#: templates/js/translated/part.js:537
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:627 templates/js/translated/part.js:604
+#: templates/js/translated/company.js:627 templates/js/translated/part.js:625
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:664 templates/js/translated/part.js:646
+#: templates/js/translated/company.js:664 templates/js/translated/part.js:667
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:665 templates/js/translated/part.js:647
+#: templates/js/translated/company.js:665 templates/js/translated/part.js:668
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:684 templates/js/translated/part.js:664
+#: templates/js/translated/company.js:684 templates/js/translated/part.js:685
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:695 templates/js/translated/part.js:676
+#: templates/js/translated/company.js:695 templates/js/translated/part.js:697
msgid "Delete Parameter"
msgstr ""
@@ -7222,12 +7160,12 @@ msgid "No supplier parts found"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:407
+#: templates/js/translated/filters.js:420
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:408
+#: templates/js/translated/filters.js:421
msgid "false"
msgstr ""
@@ -7235,57 +7173,63 @@ msgstr ""
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:284
+#: templates/js/translated/filters.js:286
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:286
+#: templates/js/translated/filters.js:290
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:289
+#: templates/js/translated/filters.js:293
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:317
+#: templates/js/translated/filters.js:329
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336
-#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360
+#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364
+#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:324
+#: templates/js/translated/forms.js:351
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:337
+#: templates/js/translated/forms.js:366
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:349
+#: templates/js/translated/forms.js:380
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:361
+#: templates/js/translated/forms.js:394
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:968 templates/modals.html:21
-#: templates/modals.html:47
+#: templates/js/translated/forms.js:679
+#, fuzzy
+#| msgid "Must be a valid number"
+msgid "Enter a valid number"
+msgstr "Debe ser un numero valido"
+
+#: templates/js/translated/forms.js:1071 templates/modals.html:19
+#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1323
+#: templates/js/translated/forms.js:1457
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1525
+#: templates/js/translated/forms.js:1661
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:1742
+#: templates/js/translated/forms.js:1878
msgid "Clear input"
msgstr ""
@@ -7297,6 +7241,11 @@ msgstr ""
msgid "NO"
msgstr ""
+#: templates/js/translated/label.js:29 templates/js/translated/report.js:118
+#: templates/js/translated/stock.js:594
+msgid "Select Stock Items"
+msgstr ""
+
#: templates/js/translated/label.js:30
msgid "Stock item(s) must be selected before printing labels"
msgstr ""
@@ -7342,62 +7291,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119
+#: templates/js/translated/modals.js:593
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981
-#: templates/modals.html:30 templates/modals.html:55
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963
+#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:117
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:397
+#: templates/js/translated/modals.js:380
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:556
+#: templates/js/translated/modals.js:539
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:592
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:649
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:945
+#: templates/js/translated/modals.js:927
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/modals.js:1024
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1057
+#: templates/js/translated/modals.js:1039
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1058
+#: templates/js/translated/modals.js:1040
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1081
+#: templates/js/translated/modals.js:1063
msgid "Error requesting form data"
msgstr ""
@@ -7405,35 +7354,35 @@ msgstr ""
msgid "Company ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:90
+#: templates/js/translated/model_renderers.js:77
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:125
+#: templates/js/translated/model_renderers.js:130
msgid "Location ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:142
+#: templates/js/translated/model_renderers.js:147
msgid "Build ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:177
+#: templates/js/translated/model_renderers.js:182
msgid "Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:231
+#: templates/js/translated/model_renderers.js:236
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:251
+#: templates/js/translated/model_renderers.js:256
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:288
+#: templates/js/translated/model_renderers.js:293
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:317
+#: templates/js/translated/model_renderers.js:322
msgid "Supplier Part ID"
msgstr ""
@@ -7445,565 +7394,698 @@ msgstr ""
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:207
+#: templates/js/translated/order.js:208
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96
+#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393
msgid "Format"
msgstr ""
-#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97
+#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394
msgid "Select file format"
msgstr ""
-#: templates/js/translated/order.js:299
+#: templates/js/translated/order.js:300
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:300
+#: templates/js/translated/order.js:301
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:325
+#: templates/js/translated/order.js:326
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343
+#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:426
+#: templates/js/translated/order.js:427
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:428
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:429
+#: templates/js/translated/order.js:430
msgid "Receive"
msgstr ""
-#: templates/js/translated/order.js:448
+#: templates/js/translated/order.js:449
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:449
+#: templates/js/translated/order.js:450
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:626
+#: templates/js/translated/order.js:627
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028
+#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602
+#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613
+#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:800
+#: templates/js/translated/order.js:801
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432
+#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457
-#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554
+#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470
+#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464
-msgid "Total price"
+#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486
+msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573
+#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:963
+#: templates/js/translated/order.js:976
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:967
+#: templates/js/translated/order.js:980
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1004
+#: templates/js/translated/order.js:1017
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1055
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1120
+#: templates/js/translated/order.js:1133
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:1213
+#: templates/js/translated/order.js:1226
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1231
+#: templates/js/translated/order.js:1244
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1273
+#: templates/js/translated/order.js:1286
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:1514
+#: templates/js/translated/order.js:1535
msgid "Fulfilled"
msgstr ""
-#: templates/js/translated/order.js:1557
+#: templates/js/translated/order.js:1579
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1585
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725
+#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1596
msgid "Delete line item "
msgstr ""
-#: templates/js/translated/order.js:1673
+#: templates/js/translated/order.js:1719
msgid "Allocate Stock Item"
msgstr ""
-#: templates/js/translated/order.js:1733
+#: templates/js/translated/order.js:1779
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1747
+#: templates/js/translated/order.js:1793
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/part.js:49
+#: templates/js/translated/part.js:50
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:53
+#: templates/js/translated/part.js:54
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:57
+#: templates/js/translated/part.js:58
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:61
+#: templates/js/translated/part.js:62
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:75
+#: templates/js/translated/part.js:76
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:164
+#: templates/js/translated/part.js:165
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:165
+#: templates/js/translated/part.js:166
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:172
+#: templates/js/translated/part.js:173
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:173
+#: templates/js/translated/part.js:174
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:180
+#: templates/js/translated/part.js:181
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:191
+#: templates/js/translated/part.js:192
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:192
+#: templates/js/translated/part.js:193
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:201
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:202
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:257
+#: templates/js/translated/part.js:258
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:258
+#: templates/js/translated/part.js:259
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:265
-msgid "Copy BOM"
-msgstr ""
-
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:267
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:273
+#: templates/js/translated/part.js:274
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:274
+#: templates/js/translated/part.js:275
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:287
+#: templates/js/translated/part.js:288
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:331
+#: templates/js/translated/part.js:332
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:419 templates/js/translated/part.js:504
+#: templates/js/translated/part.js:334
+msgid "Part edited"
+msgstr ""
+
+#: templates/js/translated/part.js:402
+msgid "You are subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:404
+msgid "You have subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:409
+msgid "Subscribe to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:411
+msgid "You have unsubscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:440 templates/js/translated/part.js:525
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:423 templates/js/translated/part.js:508
+#: templates/js/translated/part.js:444 templates/js/translated/part.js:529
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:435
-msgid "Starred part"
+#: templates/js/translated/part.js:456
+msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:439
+#: templates/js/translated/part.js:460
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:554
+#: templates/js/translated/part.js:575
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005
+#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:932
+#: templates/js/translated/part.js:933
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:955
-#: templates/js/translated/table_filters.js:359
+#: templates/js/translated/part.js:956
+#: templates/js/translated/table_filters.js:375
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480
+#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200
+#: templates/js/translated/stock.js:1802
+msgid "Display as list"
+msgstr ""
+
+#: templates/js/translated/part.js:1044
+msgid "Display as grid"
+msgstr ""
+
+#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821
+msgid "Display as tree"
+msgstr ""
+
+#: templates/js/translated/part.js:1283
+msgid "Subscribed category"
+msgstr ""
+
+#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1202
+#: templates/js/translated/part.js:1341
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493
+#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494
+#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1260
+#: templates/js/translated/part.js:1399
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1282
+#: templates/js/translated/part.js:1421
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1296
+#: templates/js/translated/part.js:1435
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1321
+#: templates/js/translated/part.js:1460
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1376
+#: templates/js/translated/part.js:1515
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1377
+#: templates/js/translated/part.js:1516
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1478
+#: templates/js/translated/part.js:1617
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1497
+#: templates/js/translated/part.js:1636
msgid "Single Price Difference"
msgstr ""
-#: templates/js/translated/stock.js:63
+#: templates/js/translated/report.js:67
+msgid "items selected"
+msgstr ""
+
+#: templates/js/translated/report.js:75
+msgid "Select Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:90
+msgid "Select Test Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:119
+msgid "Stock item(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:136 templates/js/translated/report.js:189
+#: templates/js/translated/report.js:243 templates/js/translated/report.js:297
+#: templates/js/translated/report.js:351
+msgid "No Reports Found"
+msgstr ""
+
+#: templates/js/translated/report.js:137
+msgid "No report templates found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:172
+msgid "Select Builds"
+msgstr ""
+
+#: templates/js/translated/report.js:173
+msgid "Build(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:190
+msgid "No report templates found which match selected build(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:226
+msgid "Part(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:244
+msgid "No report templates found which match selected part(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:279
+msgid "Select Purchase Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:280
+msgid "Purchase Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
+msgid "No report templates found which match selected orders"
+msgstr ""
+
+#: templates/js/translated/report.js:333
+msgid "Select Sales Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:334
+msgid "Sales Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/stock.js:70
+msgid "Serialize Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:90
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:126
+#, fuzzy
+#| msgid "Source Location"
+msgid "New Stock Location"
+msgstr "Ubicación de la fuente"
+
+#: templates/js/translated/stock.js:189
+#, fuzzy
+#| msgid "Enter quantity for build output"
+msgid "Enter initial quantity for this stock item"
+msgstr "Ingrese la cantidad para la producción de la construcción"
+
+#: templates/js/translated/stock.js:195
+#, fuzzy
+#| msgid "Enter serial numbers for build outputs"
+msgid "Enter serial numbers for new stock (or leave blank)"
+msgstr "Introduzca los números de serie de salidas de construcción"
+
+#: templates/js/translated/stock.js:338
+#, fuzzy
+#| msgid "Edited stock item"
+msgid "Created new stock item"
+msgstr "Elemento de stock editado"
+
+#: templates/js/translated/stock.js:351
+#, fuzzy
+#| msgid "Edited stock item"
+msgid "Created multiple stock items"
+msgstr "Elemento de stock editado"
+
+#: templates/js/translated/stock.js:390
msgid "Export Stock"
msgstr ""
-#: templates/js/translated/stock.js:104
+#: templates/js/translated/stock.js:401
msgid "Include Sublocations"
msgstr ""
-#: templates/js/translated/stock.js:105
+#: templates/js/translated/stock.js:402
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:444
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:148
+#: templates/js/translated/stock.js:445
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:154
+#: templates/js/translated/stock.js:451
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:155
+#: templates/js/translated/stock.js:452
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:159
+#: templates/js/translated/stock.js:456
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:160
+#: templates/js/translated/stock.js:457
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:164
+#: templates/js/translated/stock.js:461
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:165 users/models.py:195
+#: templates/js/translated/stock.js:462 users/models.py:200
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:169 templates/stock_table.html:63
+#: templates/js/translated/stock.js:466 templates/stock_table.html:56
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:298
+#: templates/js/translated/stock.js:595
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:456
+#: templates/js/translated/stock.js:753
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:458
+#: templates/js/translated/stock.js:755
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:463
+#: templates/js/translated/stock.js:760
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:489
+#: templates/js/translated/stock.js:782
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:515
+#: templates/js/translated/stock.js:808
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:563
+#: templates/js/translated/stock.js:865
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:670
+#: templates/js/translated/stock.js:972
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:674
+#: templates/js/translated/stock.js:976
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:678
+#: templates/js/translated/stock.js:980
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:984
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:688
+#: templates/js/translated/stock.js:990
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:844
+#: templates/js/translated/stock.js:1148
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:849
+#: templates/js/translated/stock.js:1153
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:852
+#: templates/js/translated/stock.js:1156
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:856
+#: templates/js/translated/stock.js:1160
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:858
+#: templates/js/translated/stock.js:1162
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:1166
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:866
+#: templates/js/translated/stock.js:1170
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:873
+#: templates/js/translated/stock.js:1177
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:1179
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:877
+#: templates/js/translated/stock.js:1181
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:881
-#: templates/js/translated/table_filters.js:161
+#: templates/js/translated/stock.js:1185
+#: templates/js/translated/table_filters.js:177
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:935
+#: templates/js/translated/stock.js:1235
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1308
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1046
+#: templates/js/translated/stock.js:1346
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115
+#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415
msgid "items"
msgstr ""
-#: templates/js/translated/stock.js:1155
+#: templates/js/translated/stock.js:1455
msgid "batches"
msgstr ""
-#: templates/js/translated/stock.js:1182
+#: templates/js/translated/stock.js:1482
msgid "locations"
msgstr ""
-#: templates/js/translated/stock.js:1184
+#: templates/js/translated/stock.js:1484
msgid "Undefined location"
msgstr ""
-#: templates/js/translated/stock.js:1358
+#: templates/js/translated/stock.js:1658
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:1372
+#: templates/js/translated/stock.js:1672
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:1373
+#: templates/js/translated/stock.js:1673
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:1512
+#: templates/js/translated/stock.js:1897
msgid "Invalid date"
msgstr ""
-#: templates/js/translated/stock.js:1559
+#: templates/js/translated/stock.js:1919
+msgid "Details"
+msgstr "Detalles"
+
+#: templates/js/translated/stock.js:1944
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1578
+#: templates/js/translated/stock.js:1963
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1597
+#: templates/js/translated/stock.js:1982
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1615
+#: templates/js/translated/stock.js:2000
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1638
+#: templates/js/translated/stock.js:2023
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:1646
+#: templates/js/translated/stock.js:2031
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:1687
+#: templates/js/translated/stock.js:2072
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1688
+#: templates/js/translated/stock.js:2073
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:2124
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:1835
-msgid "Serial"
-msgstr ""
-
-#: templates/js/translated/stock.js:1863
+#: templates/js/translated/stock.js:2175
msgid "Uninstall Stock Item"
msgstr ""
@@ -8023,254 +8105,264 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:156
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:172
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:93
+#: templates/js/translated/table_filters.js:105
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:103
-#: templates/js/translated/table_filters.js:104
-#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:115
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:352
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:114
-#: templates/js/translated/table_filters.js:191
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:117
-#: templates/js/translated/table_filters.js:198
-msgid "Serial number GTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:118
-#: templates/js/translated/table_filters.js:199
-msgid "Serial number greater than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:121
-#: templates/js/translated/table_filters.js:202
-msgid "Serial number LTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:122
-#: templates/js/translated/table_filters.js:203
-msgid "Serial number less than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:125
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:195
-msgid "Serial number"
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:387
+msgid "Subscribed"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:212
-msgid "Batch code"
+#: templates/js/translated/table_filters.js:207
+msgid "Is Serialized"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:214
+msgid "Serial number GTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:134
+#: templates/js/translated/table_filters.js:215
+msgid "Serial number greater than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:137
+#: templates/js/translated/table_filters.js:218
+msgid "Serial number LTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:138
+#: templates/js/translated/table_filters.js:219
+msgid "Serial number less than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:141
-#: templates/js/translated/table_filters.js:326
-msgid "Active parts"
-msgstr ""
-
#: templates/js/translated/table_filters.js:142
-msgid "Show stock for active parts"
+#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:211
+msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:147
-msgid "Part is an assembly"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:151
-msgid "Is allocated"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:152
-msgid "Item has been allocated"
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:228
+msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:157
-msgid "Include stock in sublocations"
+#: templates/js/translated/table_filters.js:342
+msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:162
-msgid "Show stock items which are depleted"
+#: templates/js/translated/table_filters.js:158
+msgid "Show stock for active parts"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:163
+msgid "Part is an assembly"
msgstr ""
#: templates/js/translated/table_filters.js:167
+msgid "Is allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:168
+msgid "Item has been allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:173
+msgid "Include stock in sublocations"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:178
+msgid "Show stock items which are depleted"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:183
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:187
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:188
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:176
+#: templates/js/translated/table_filters.js:192
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:177
+#: templates/js/translated/table_filters.js:193
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:197
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:182
+#: templates/js/translated/table_filters.js:198
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:187
+#: templates/js/translated/table_filters.js:203
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:207
-#: templates/js/translated/table_filters.js:208
+#: templates/js/translated/table_filters.js:223
+#: templates/js/translated/table_filters.js:224
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/table_filters.js:232
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:233
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:242
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:248
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:279
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:291
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:307
+#: templates/js/translated/table_filters.js:324
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:296
-#: templates/js/translated/table_filters.js:313
+#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:329
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:337
+#: templates/js/translated/table_filters.js:353
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:341
+#: templates/js/translated/table_filters.js:357
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:342
+#: templates/js/translated/table_filters.js:358
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:347
+#: templates/js/translated/table_filters.js:363
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:355
+#: templates/js/translated/table_filters.js:371
msgid "Stock available"
msgstr ""
-#: templates/js/translated/table_filters.js:371
-msgid "Starred"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:383
+#: templates/js/translated/table_filters.js:399
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/tables.js:366
+#: templates/js/translated/tables.js:368
msgid "Loading data"
msgstr ""
-#: templates/js/translated/tables.js:369
+#: templates/js/translated/tables.js:371
msgid "rows per page"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "Showing"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "to"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "of"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "rows"
msgstr ""
-#: templates/js/translated/tables.js:378
+#: templates/js/translated/tables.js:377 templates/search_form.html:6
+#: templates/search_form.html:7
+msgid "Search"
+msgstr ""
+
+#: templates/js/translated/tables.js:380
msgid "No matching results"
msgstr ""
-#: templates/js/translated/tables.js:381
+#: templates/js/translated/tables.js:383
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/translated/tables.js:384
+#: templates/js/translated/tables.js:386
msgid "Refresh"
msgstr ""
-#: templates/js/translated/tables.js:387
+#: templates/js/translated/tables.js:389
msgid "Toggle"
msgstr ""
-#: templates/js/translated/tables.js:390
+#: templates/js/translated/tables.js:392
msgid "Columns"
msgstr ""
-#: templates/js/translated/tables.js:393
+#: templates/js/translated/tables.js:395
msgid "All"
msgstr ""
-#: templates/navbar.html:19
-msgid "Toggle navigation"
-msgstr ""
-
-#: templates/navbar.html:39
+#: templates/navbar.html:40
msgid "Buy"
msgstr ""
-#: templates/navbar.html:51
+#: templates/navbar.html:52
msgid "Sell"
msgstr ""
-#: templates/navbar.html:83 users/models.py:39
+#: templates/navbar.html:86 users/models.py:39
msgid "Admin"
msgstr ""
-#: templates/navbar.html:85
+#: templates/navbar.html:88
msgid "Logout"
msgstr ""
-#: templates/navbar.html:106
+#: templates/navbar.html:90
+msgid "Login"
+msgstr ""
+
+#: templates/navbar.html:111
msgid "About InvenTree"
msgstr ""
+#: templates/navbar_demo.html:5
+msgid "InvenTree demo mode"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -8283,6 +8375,10 @@ msgstr ""
msgid "Log in again"
msgstr ""
+#: templates/stats.html:9
+msgid "Server"
+msgstr ""
+
#: templates/stats.html:13
msgid "Instance Name"
msgstr ""
@@ -8336,54 +8432,50 @@ msgid "Export Stock Information"
msgstr ""
#: templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/stock_table.html:27
msgid "Barcode Actions"
msgstr ""
-#: templates/stock_table.html:43
+#: templates/stock_table.html:36
msgid "Print test reports"
msgstr ""
-#: templates/stock_table.html:50
+#: templates/stock_table.html:43
msgid "Stock Options"
msgstr ""
-#: templates/stock_table.html:55
+#: templates/stock_table.html:48
msgid "Add to selected stock items"
msgstr ""
-#: templates/stock_table.html:56
+#: templates/stock_table.html:49
msgid "Remove from selected stock items"
msgstr ""
-#: templates/stock_table.html:57
+#: templates/stock_table.html:50
msgid "Stocktake selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move stock"
msgstr ""
-#: templates/stock_table.html:59
+#: templates/stock_table.html:52
msgid "Order selected items"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change status"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change stock status"
msgstr ""
-#: templates/stock_table.html:63
+#: templates/stock_table.html:56
msgid "Delete selected items"
msgstr ""
@@ -8419,35 +8511,64 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:182
+#: users/models.py:187
msgid "Permission set"
msgstr ""
-#: users/models.py:190
+#: users/models.py:195
msgid "Group"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "View"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "Permission to view items"
msgstr ""
-#: users/models.py:195
+#: users/models.py:200
msgid "Permission to add items"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Change"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:199
+#: users/models.py:204
msgid "Permission to delete items"
msgstr ""
+#~ msgid "Build Order reference"
+#~ msgstr "Número de orden de construcción"
+
+#~ msgid "Order target date"
+#~ msgstr "Fecha objetivo de pedido"
+
+#~ msgid "Number of items to build"
+#~ msgstr "Número de elementos para construir"
+
+#~ msgid "Confirm unallocation of stock"
+#~ msgstr "Confirmar la desasignación de stock"
+
+#~ msgid "Build output stock status"
+#~ msgstr "Generar estado de stock de salida"
+
+#~ msgid "Confirm incomplete"
+#~ msgstr "Confirmar incompleta"
+
+#~ msgid "Confirm completion with incomplete stock allocation"
+#~ msgstr "Confirmar la finalización con una asignación de stock incompleta"
+
+#~ msgid "Confirm build completion"
+#~ msgstr "Confirmar la terminación de construcción"
+
+#~ msgid "Progress"
+#~ msgstr "Progreso"
+
+#~ msgid "Save"
+#~ msgstr "Guardar"
diff --git a/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/InvenTree/locale/es_MX/LC_MESSAGES/django.po
index c44418473a..5162bf6bc2 100644
--- a/InvenTree/locale/es_MX/LC_MESSAGES/django.po
+++ b/InvenTree/locale/es_MX/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-11-19 07:42+1100\n"
+"POT-Creation-Date: 2021-11-22 22:08+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -131,8 +131,8 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1170
-#: common/models.py:1171 part/models.py:2205 part/models.py:2225
+#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185
+#: common/models.py:1186 part/models.py:2205 part/models.py:2225
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2054
msgid "User"
@@ -234,7 +234,7 @@ msgid "Spanish"
msgstr ""
#: InvenTree/settings.py:667
-msgid "Spanish (Mexican"
+msgid "Spanish (Mexican)"
msgstr ""
#: InvenTree/settings.py:668
@@ -544,7 +544,7 @@ msgstr ""
#: build/forms.py:36 build/models.py:1283
#: build/templates/build/build_base.html:124
-#: build/templates/build/detail.html:35 common/models.py:1210
+#: build/templates/build/detail.html:35 common/models.py:1225
#: company/forms.py:42 company/templates/company/supplier_part.html:251
#: order/forms.py:102 order/models.py:729 order/models.py:991
#: order/templates/order/order_wizard/match_parts.html:30
@@ -1454,688 +1454,688 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:338 common/models.py:955 common/models.py:1163
+#: common/models.py:340 common/models.py:970 common/models.py:1178
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:340
+#: common/models.py:342
msgid "Settings value"
msgstr ""
-#: common/models.py:375
+#: common/models.py:377
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:380
+#: common/models.py:382
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:403
+#: common/models.py:405
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:414
+#: common/models.py:416
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:437
+#: common/models.py:439
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:544
+#: common/models.py:559
msgid "No group"
msgstr ""
-#: common/models.py:586
+#: common/models.py:601
msgid "Restart required"
msgstr ""
-#: common/models.py:587
+#: common/models.py:602
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:594
+#: common/models.py:609
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:596
+#: common/models.py:611
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:600
+#: common/models.py:615
msgid "Use instance name"
msgstr ""
-#: common/models.py:601
+#: common/models.py:616
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:607 company/models.py:100 company/models.py:101
+#: common/models.py:622 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr ""
-#: common/models.py:608
+#: common/models.py:623
msgid "Internal company name"
msgstr ""
-#: common/models.py:613
+#: common/models.py:628
msgid "Base URL"
msgstr ""
-#: common/models.py:614
+#: common/models.py:629
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:620
+#: common/models.py:635
msgid "Default Currency"
msgstr ""
-#: common/models.py:621
+#: common/models.py:636
msgid "Default currency"
msgstr ""
-#: common/models.py:627
+#: common/models.py:642
msgid "Download from URL"
msgstr ""
-#: common/models.py:628
+#: common/models.py:643
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:634
+#: common/models.py:649
msgid "Barcode Support"
msgstr ""
-#: common/models.py:635
+#: common/models.py:650
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:641
+#: common/models.py:656
msgid "IPN Regex"
msgstr ""
-#: common/models.py:642
+#: common/models.py:657
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:646
+#: common/models.py:661
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:647
+#: common/models.py:662
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:653
+#: common/models.py:668
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:654
+#: common/models.py:669
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:660
+#: common/models.py:675
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:661
+#: common/models.py:676
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:667
+#: common/models.py:682
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:668
+#: common/models.py:683
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:674
+#: common/models.py:689
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:675
+#: common/models.py:690
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:681
+#: common/models.py:696
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:682
+#: common/models.py:697
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:688 part/models.py:2429 report/models.py:187
+#: common/models.py:703 part/models.py:2429 report/models.py:187
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:367
msgid "Template"
msgstr ""
-#: common/models.py:689
+#: common/models.py:704
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:695 part/models.py:888 templates/js/translated/bom.js:954
+#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954
#: templates/js/translated/table_filters.js:162
#: templates/js/translated/table_filters.js:379
msgid "Assembly"
msgstr ""
-#: common/models.py:696
+#: common/models.py:711
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:702 part/models.py:894
+#: common/models.py:717 part/models.py:894
#: templates/js/translated/table_filters.js:383
msgid "Component"
msgstr ""
-#: common/models.py:703
+#: common/models.py:718
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:709 part/models.py:905
+#: common/models.py:724 part/models.py:905
msgid "Purchaseable"
msgstr ""
-#: common/models.py:710
+#: common/models.py:725
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:716 part/models.py:910
+#: common/models.py:731 part/models.py:910
#: templates/js/translated/table_filters.js:391
msgid "Salable"
msgstr ""
-#: common/models.py:717
+#: common/models.py:732
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:723 part/models.py:900
+#: common/models.py:738 part/models.py:900
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:94
#: templates/js/translated/table_filters.js:395
msgid "Trackable"
msgstr ""
-#: common/models.py:724
+#: common/models.py:739
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:730 part/models.py:920
+#: common/models.py:745 part/models.py:920
#: part/templates/part/part_base.html:144
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:731
+#: common/models.py:746
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:737
+#: common/models.py:752
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:738
+#: common/models.py:753
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:744
+#: common/models.py:759
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:745
+#: common/models.py:760
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:756
+#: common/models.py:771
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:757
+#: common/models.py:772
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:763
+#: common/models.py:778
msgid "Show related parts"
msgstr ""
-#: common/models.py:764
+#: common/models.py:779
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:770
+#: common/models.py:785
msgid "Create initial stock"
msgstr ""
-#: common/models.py:771
+#: common/models.py:786
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:777
+#: common/models.py:792
msgid "Internal Prices"
msgstr ""
-#: common/models.py:778
+#: common/models.py:793
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:784
+#: common/models.py:799
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:785
+#: common/models.py:800
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:791
+#: common/models.py:806
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:792
+#: common/models.py:807
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:799
+#: common/models.py:814
msgid "Enable Reports"
msgstr ""
-#: common/models.py:800
+#: common/models.py:815
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:806 templates/stats.html:25
+#: common/models.py:821 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:807
+#: common/models.py:822
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:813
+#: common/models.py:828
msgid "Page Size"
msgstr ""
-#: common/models.py:814
+#: common/models.py:829
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:824
+#: common/models.py:839
msgid "Test Reports"
msgstr ""
-#: common/models.py:825
+#: common/models.py:840
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:831
+#: common/models.py:846
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:832
+#: common/models.py:847
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:838
+#: common/models.py:853
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:839
+#: common/models.py:854
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:845
+#: common/models.py:860
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:846
+#: common/models.py:861
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:848
+#: common/models.py:863
msgid "days"
msgstr ""
-#: common/models.py:853
+#: common/models.py:868
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:854
+#: common/models.py:869
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:860
+#: common/models.py:875
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:861
+#: common/models.py:876
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:867
+#: common/models.py:882
msgid "Group by Part"
msgstr ""
-#: common/models.py:868
+#: common/models.py:883
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:874
+#: common/models.py:889
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:875
+#: common/models.py:890
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:880
+#: common/models.py:895
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:881
+#: common/models.py:896
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:885
+#: common/models.py:900
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:886
+#: common/models.py:901
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:891
+#: common/models.py:906
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:892
+#: common/models.py:907
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:898
+#: common/models.py:913
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:899
+#: common/models.py:914
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:904
+#: common/models.py:919
msgid "Enable registration"
msgstr ""
-#: common/models.py:905
+#: common/models.py:920
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:910
+#: common/models.py:925
msgid "Enable SSO"
msgstr ""
-#: common/models.py:911
+#: common/models.py:926
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:916
+#: common/models.py:931
msgid "Email required"
msgstr ""
-#: common/models.py:917
+#: common/models.py:932
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:922
+#: common/models.py:937
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:923
+#: common/models.py:938
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:928
+#: common/models.py:943
msgid "Mail twice"
msgstr ""
-#: common/models.py:929
+#: common/models.py:944
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:934
+#: common/models.py:949
msgid "Password twice"
msgstr ""
-#: common/models.py:935
+#: common/models.py:950
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:940
+#: common/models.py:955
msgid "Group on signup"
msgstr ""
-#: common/models.py:941
+#: common/models.py:956
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:986
+#: common/models.py:1001
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:987
+#: common/models.py:1002
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:992
+#: common/models.py:1007
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:993
+#: common/models.py:1008
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:998
+#: common/models.py:1013
msgid "Show latest parts"
msgstr ""
-#: common/models.py:999
+#: common/models.py:1014
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1004
+#: common/models.py:1019
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1005
+#: common/models.py:1020
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1011
+#: common/models.py:1026
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1012
+#: common/models.py:1027
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1032
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1018
+#: common/models.py:1033
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1023
+#: common/models.py:1038
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1024
+#: common/models.py:1039
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1029
+#: common/models.py:1044
msgid "Show low stock"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1045
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1050
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1036
+#: common/models.py:1051
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1056
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1057
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1047
+#: common/models.py:1062
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1063
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1053
+#: common/models.py:1068
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1054
+#: common/models.py:1069
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1059
+#: common/models.py:1074
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1060
+#: common/models.py:1075
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1065
+#: common/models.py:1080
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1066
+#: common/models.py:1081
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1086
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1072
+#: common/models.py:1087
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1092
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1078
+#: common/models.py:1093
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1098
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1099
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1089
+#: common/models.py:1104
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1105
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1111
msgid "Inline label display"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1112
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1103
+#: common/models.py:1118
msgid "Inline report display"
msgstr ""
-#: common/models.py:1104
+#: common/models.py:1119
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1110
+#: common/models.py:1125
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1111
+#: common/models.py:1126
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:1117
+#: common/models.py:1132
msgid "Search Show Stock"
msgstr ""
-#: common/models.py:1118
+#: common/models.py:1133
msgid "Display stock levels in search preview window"
msgstr ""
-#: common/models.py:1124
+#: common/models.py:1139
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1125
+#: common/models.py:1140
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1131
+#: common/models.py:1146
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1132
+#: common/models.py:1147
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1138
+#: common/models.py:1153
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1139
+#: common/models.py:1154
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1145
+#: common/models.py:1160
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1146
+#: common/models.py:1161
msgid "InvenTree navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1211 company/forms.py:43
+#: common/models.py:1226 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1218 company/serializers.py:264
+#: common/models.py:1233 company/serializers.py:264
#: company/templates/company/supplier_part.html:256
#: templates/js/translated/part.js:1508
msgid "Price"
msgstr ""
-#: common/models.py:1219
+#: common/models.py:1234
msgid "Unit price at specified quantity"
msgstr ""
diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.mo b/InvenTree/locale/fr/LC_MESSAGES/django.mo
index 71c5e16916..a3751f6c99 100644
Binary files a/InvenTree/locale/fr/LC_MESSAGES/django.mo and b/InvenTree/locale/fr/LC_MESSAGES/django.mo differ
diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po
index 6a73b7e40a..80493f50de 100644
--- a/InvenTree/locale/fr/LC_MESSAGES/django.po
+++ b/InvenTree/locale/fr/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-11 06:21+0000\n"
+"POT-Creation-Date: 2021-11-22 22:08+0000\n"
"PO-Revision-Date: 2021-10-11 06:28\n"
"Last-Translator: \n"
"Language-Team: French\n"
@@ -33,260 +33,266 @@ msgstr "Aucune action correspondante trouvée"
msgid "Enter date"
msgstr "Entrer la date"
-#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123
-#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27
-#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71
-#: part/forms.py:108 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:564
+#: InvenTree/forms.py:120 build/forms.py:48 build/forms.py:69 build/forms.py:93
+#: order/forms.py:26 order/forms.py:37 order/forms.py:48 order/forms.py:59
+#: order/forms.py:70 part/forms.py:108 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:594
msgid "Confirm"
msgstr "Confirmer"
-#: InvenTree/forms.py:132
+#: InvenTree/forms.py:136
msgid "Confirm delete"
msgstr "Confirmer la suppression"
-#: InvenTree/forms.py:133
+#: InvenTree/forms.py:137
msgid "Confirm item deletion"
msgstr "Confirmer la suppression de cet élément"
-#: InvenTree/forms.py:164
+#: InvenTree/forms.py:168
msgid "Enter password"
msgstr "Entrer le mot de passe"
-#: InvenTree/forms.py:165
+#: InvenTree/forms.py:169
msgid "Enter new password"
msgstr "Entrer le nouveau mot de passe"
-#: InvenTree/forms.py:172
+#: InvenTree/forms.py:176
msgid "Confirm password"
msgstr "Confirmez le mot de passe"
-#: InvenTree/forms.py:173
+#: InvenTree/forms.py:177
msgid "Confirm new password"
msgstr "Confirmer le nouveau mot de passe"
-#: InvenTree/forms.py:205
+#: InvenTree/forms.py:209
msgid "Select Category"
msgstr "Sélectionnez une catégorie"
-#: InvenTree/forms.py:226
-msgid "E-mail (again)"
-msgstr ""
-
#: InvenTree/forms.py:230
-msgid "E-mail address confirmation"
+msgid "Email (again)"
msgstr ""
-#: InvenTree/forms.py:250
+#: InvenTree/forms.py:234
+msgid "Email address confirmation"
+msgstr ""
+
+#: InvenTree/forms.py:254
msgid "You must type the same email each time."
msgstr ""
-#: InvenTree/helpers.py:401
+#: InvenTree/helpers.py:430
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr "Dupliquer le numéro de série: {n}"
-#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437
-#: stock/views.py:1340
+#: InvenTree/helpers.py:437 order/models.py:318 order/models.py:440
+#: stock/views.py:1264
msgid "Invalid quantity provided"
msgstr "Quantité fournie invalide"
-#: InvenTree/helpers.py:411
+#: InvenTree/helpers.py:440
msgid "Empty serial number string"
msgstr "Chaîne de numéro de série vide"
-#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:462 InvenTree/helpers.py:465 InvenTree/helpers.py:468
+#: InvenTree/helpers.py:493
#, python-brace-format
msgid "Invalid group: {g}"
msgstr "Groupe invalide : {g}"
-#: InvenTree/helpers.py:469
+#: InvenTree/helpers.py:498
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr "Numéro de série dupliqué: {g}"
-#: InvenTree/helpers.py:477
+#: InvenTree/helpers.py:506
msgid "No serial numbers found"
msgstr "Aucun numéro de série trouvé"
-#: InvenTree/helpers.py:481
+#: InvenTree/helpers.py:510
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr "Le nombre de numéros de série uniques ({s}) doit correspondre à la quantité ({q})"
-#: InvenTree/models.py:66 stock/models.py:1823
+#: InvenTree/models.py:109 stock/models.py:1874
msgid "Attachment"
msgstr "Pièce jointe"
-#: InvenTree/models.py:67
+#: InvenTree/models.py:110
msgid "Select file to attach"
msgstr "Sélectionnez un fichier à joindre"
-#: InvenTree/models.py:69 templates/js/translated/attachment.js:87
+#: InvenTree/models.py:112 templates/js/translated/attachment.js:91
msgid "Comment"
msgstr "Commentaire"
-#: InvenTree/models.py:69
+#: InvenTree/models.py:112
msgid "File comment"
msgstr "Commentaire du fichier"
-#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055
-#: common/models.py:1056 part/models.py:2055
-#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/translated/stock.js:1669
+#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185
+#: common/models.py:1186 part/models.py:2205 part/models.py:2225
+#: report/templates/report/inventree_test_report_base.html:96
+#: templates/js/translated/stock.js:2054
msgid "User"
msgstr "Utilisateur"
-#: InvenTree/models.py:79
+#: InvenTree/models.py:122
msgid "upload date"
msgstr "date de chargement"
-#: InvenTree/models.py:99
+#: InvenTree/models.py:142
msgid "Filename must not be empty"
msgstr ""
-#: InvenTree/models.py:122
+#: InvenTree/models.py:165
msgid "Invalid attachment directory"
msgstr ""
-#: InvenTree/models.py:132
+#: InvenTree/models.py:175
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr ""
-#: InvenTree/models.py:135
+#: InvenTree/models.py:178
msgid "Filename missing extension"
msgstr ""
-#: InvenTree/models.py:142
+#: InvenTree/models.py:185
msgid "Attachment with this filename already exists"
msgstr ""
-#: InvenTree/models.py:149
+#: InvenTree/models.py:192
msgid "Error renaming file"
msgstr ""
-#: InvenTree/models.py:184
+#: InvenTree/models.py:227
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415
-#: label/models.py:112 part/models.py:659 part/models.py:2216
-#: part/templates/part/part_base.html:241 report/models.py:181
-#: templates/js/translated/company.js:637 templates/js/translated/part.js:477
-#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141
-#: templates/js/translated/stock.js:1462
+#: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415
+#: label/models.py:112 part/models.py:741 part/models.py:2389
+#: part/templates/part/detail.html:25 report/models.py:181
+#: templates/js/translated/company.js:637 templates/js/translated/part.js:498
+#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272
+#: templates/js/translated/stock.js:1847
msgid "Name"
msgstr "Nom"
-#: InvenTree/models.py:207 build/models.py:189
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/manufacturer_part.html:76
-#: company/templates/company/supplier_part.html:75 label/models.py:119
-#: order/models.py:158 part/models.py:682
-#: part/templates/part/part_base.html:246
+#: InvenTree/models.py:250 build/models.py:207
+#: build/templates/build/detail.html:25 company/models.py:354
+#: company/models.py:570 company/templates/company/manufacturer_part.html:80
+#: company/templates/company/supplier_part.html:81 label/models.py:119
+#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30
#: part/templates/part/set_category.html:14 report/models.py:194
-#: report/models.py:551 report/models.py:590
+#: report/models.py:553 report/models.py:592
#: report/templates/report/inventree_build_order_base.html:118
-#: templates/InvenTree/settings/header.html:9
-#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217
-#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344
+#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214
+#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621
+#: templates/js/translated/company.js:344
#: templates/js/translated/company.js:547
-#: templates/js/translated/company.js:836 templates/js/translated/order.js:672
-#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056
-#: templates/js/translated/part.js:536 templates/js/translated/part.js:724
-#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153
-#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819
-#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519
+#: templates/js/translated/company.js:836 templates/js/translated/order.js:673
+#: templates/js/translated/order.js:833 templates/js/translated/order.js:1069
+#: templates/js/translated/part.js:557 templates/js/translated/part.js:745
+#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291
+#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121
+#: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904
msgid "Description"
msgstr "Description"
-#: InvenTree/models.py:208
+#: InvenTree/models.py:251
msgid "Description (optional)"
msgstr "Description (facultative)"
-#: InvenTree/models.py:216
+#: InvenTree/models.py:259
msgid "parent"
msgstr "parent"
-#: InvenTree/serializers.py:55 part/models.py:2475
+#: InvenTree/serializers.py:62 part/models.py:2674
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:244
+#: InvenTree/serializers.py:251
msgid "Filename"
msgstr ""
-#: InvenTree/settings.py:529
+#: InvenTree/settings.py:663
msgid "German"
msgstr "Allemand"
-#: InvenTree/settings.py:530
+#: InvenTree/settings.py:664
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:531
+#: InvenTree/settings.py:665
msgid "English"
msgstr "Anglais"
-#: InvenTree/settings.py:532
+#: InvenTree/settings.py:666
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:533
+#: InvenTree/settings.py:667
+msgid "Spanish (Mexican)"
+msgstr ""
+
+#: InvenTree/settings.py:668
msgid "French"
msgstr "Français"
-#: InvenTree/settings.py:534
+#: InvenTree/settings.py:669
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:535
+#: InvenTree/settings.py:670
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:536
+#: InvenTree/settings.py:671
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:537
+#: InvenTree/settings.py:672
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:538
+#: InvenTree/settings.py:673
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:539
+#: InvenTree/settings.py:674
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:540
+#: InvenTree/settings.py:675
msgid "Polish"
msgstr "Polonais"
-#: InvenTree/settings.py:541
+#: InvenTree/settings.py:676
+msgid "Portugese"
+msgstr ""
+
+#: InvenTree/settings.py:677
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:542
+#: InvenTree/settings.py:678
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:543
+#: InvenTree/settings.py:679
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:544
+#: InvenTree/settings.py:680
msgid "Turkish"
msgstr "Turc"
-#: InvenTree/settings.py:545
+#: InvenTree/settings.py:681
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:546
+#: InvenTree/settings.py:682
msgid "Chinese"
msgstr ""
@@ -302,196 +308,196 @@ msgstr "Backend d'email non configuré"
msgid "InvenTree system health checks failed"
msgstr "Échec des contrôles de santé du système"
-#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145
-#: InvenTree/status_codes.py:314
+#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142
+#: InvenTree/status_codes.py:311
msgid "Pending"
msgstr "En attente"
-#: InvenTree/status_codes.py:105
+#: InvenTree/status_codes.py:102
msgid "Placed"
msgstr ""
-#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317
+#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:314
msgid "Complete"
msgstr "Terminé"
-#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147
-#: InvenTree/status_codes.py:316
+#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144
+#: InvenTree/status_codes.py:313
msgid "Cancelled"
msgstr "Annulé"
-#: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148
-#: InvenTree/status_codes.py:190
+#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145
+#: InvenTree/status_codes.py:187
msgid "Lost"
msgstr "Perdu"
-#: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149
-#: InvenTree/status_codes.py:192
+#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146
+#: InvenTree/status_codes.py:189
msgid "Returned"
msgstr "Retourné"
-#: InvenTree/status_codes.py:146
-#: order/templates/order/sales_order_base.html:131
+#: InvenTree/status_codes.py:143
+#: order/templates/order/sales_order_base.html:147
msgid "Shipped"
msgstr "Expédié"
-#: InvenTree/status_codes.py:186
+#: InvenTree/status_codes.py:183
msgid "OK"
msgstr "OK"
-#: InvenTree/status_codes.py:187
+#: InvenTree/status_codes.py:184
msgid "Attention needed"
msgstr "Attention requise"
-#: InvenTree/status_codes.py:188
+#: InvenTree/status_codes.py:185
msgid "Damaged"
msgstr "Endommagé"
-#: InvenTree/status_codes.py:189
+#: InvenTree/status_codes.py:186
msgid "Destroyed"
msgstr "Détruit"
-#: InvenTree/status_codes.py:191
+#: InvenTree/status_codes.py:188
msgid "Rejected"
msgstr "Rejeté"
-#: InvenTree/status_codes.py:272
+#: InvenTree/status_codes.py:269
msgid "Legacy stock tracking entry"
msgstr "Ancienne entrée de suivi de stock"
-#: InvenTree/status_codes.py:274
+#: InvenTree/status_codes.py:271
msgid "Stock item created"
msgstr "Article en stock créé"
-#: InvenTree/status_codes.py:276
+#: InvenTree/status_codes.py:273
msgid "Edited stock item"
msgstr "Article de stock modifié"
-#: InvenTree/status_codes.py:277
+#: InvenTree/status_codes.py:274
msgid "Assigned serial number"
msgstr "Numéro de série attribué"
-#: InvenTree/status_codes.py:279
+#: InvenTree/status_codes.py:276
msgid "Stock counted"
msgstr "Stock comptabilisé"
-#: InvenTree/status_codes.py:280
+#: InvenTree/status_codes.py:277
msgid "Stock manually added"
msgstr "Stock ajouté manuellement"
-#: InvenTree/status_codes.py:281
+#: InvenTree/status_codes.py:278
msgid "Stock manually removed"
msgstr "Stock supprimé manuellement"
-#: InvenTree/status_codes.py:283
+#: InvenTree/status_codes.py:280
msgid "Location changed"
msgstr "Emplacement modifié"
-#: InvenTree/status_codes.py:285
+#: InvenTree/status_codes.py:282
msgid "Installed into assembly"
msgstr "Installé dans l'assemblage"
-#: InvenTree/status_codes.py:286
+#: InvenTree/status_codes.py:283
msgid "Removed from assembly"
msgstr "Retiré de l'assemblage"
-#: InvenTree/status_codes.py:288
+#: InvenTree/status_codes.py:285
msgid "Installed component item"
msgstr "Composant installé"
-#: InvenTree/status_codes.py:289
+#: InvenTree/status_codes.py:286
msgid "Removed component item"
msgstr "Composant retiré"
-#: InvenTree/status_codes.py:291
+#: InvenTree/status_codes.py:288
msgid "Split from parent item"
msgstr "Séparer de l'élément parent"
-#: InvenTree/status_codes.py:292
+#: InvenTree/status_codes.py:289
msgid "Split child item"
msgstr "Fractionner l'élément enfant"
-#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186
+#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202
msgid "Sent to customer"
msgstr "Envoyé au client"
-#: InvenTree/status_codes.py:295
+#: InvenTree/status_codes.py:292
msgid "Returned from customer"
msgstr "Retourné par le client"
-#: InvenTree/status_codes.py:297
+#: InvenTree/status_codes.py:294
msgid "Build order output created"
msgstr "La sortie de l'ordre de construction a été créée"
-#: InvenTree/status_codes.py:298
+#: InvenTree/status_codes.py:295
msgid "Build order output completed"
msgstr "Sortie de l'ordre de construction terminée"
-#: InvenTree/status_codes.py:300
+#: InvenTree/status_codes.py:297
msgid "Received against purchase order"
msgstr "Reçu contre bon de commande"
-#: InvenTree/status_codes.py:315
+#: InvenTree/status_codes.py:312
msgid "Production"
msgstr "Fabrication"
-#: InvenTree/validators.py:22
+#: InvenTree/validators.py:23
msgid "Not a valid currency code"
msgstr "Code de devise invalide"
-#: InvenTree/validators.py:50
+#: InvenTree/validators.py:51
msgid "Invalid character in part name"
msgstr "Caractère invalide dans le nom de la pièce"
-#: InvenTree/validators.py:63
+#: InvenTree/validators.py:64
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "L'IPN doit correspondre au modèle de regex {pat}"
-#: InvenTree/validators.py:77 InvenTree/validators.py:91
-#: InvenTree/validators.py:105
+#: InvenTree/validators.py:78 InvenTree/validators.py:92
+#: InvenTree/validators.py:106
#, python-brace-format
msgid "Reference must match pattern {pattern}"
msgstr "La référence doit correspondre au modèle {pattern}"
-#: InvenTree/validators.py:113
+#: InvenTree/validators.py:114
#, python-brace-format
msgid "Illegal character in name ({x})"
msgstr "Caractère invalide dans le nom ({x})"
-#: InvenTree/validators.py:132 InvenTree/validators.py:148
+#: InvenTree/validators.py:133 InvenTree/validators.py:149
msgid "Overage value must not be negative"
msgstr ""
-#: InvenTree/validators.py:150
+#: InvenTree/validators.py:151
msgid "Overage must not exceed 100%"
msgstr ""
-#: InvenTree/validators.py:157
+#: InvenTree/validators.py:158
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:616
+#: InvenTree/views.py:536
msgid "Delete Item"
msgstr "Supprimer cet élément"
-#: InvenTree/views.py:665
+#: InvenTree/views.py:585
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17
msgid "Edit User Information"
msgstr "Modifier les informations utilisateur"
-#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:710
+#: InvenTree/views.py:630
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:954 templates/navbar.html:97
+#: InvenTree/views.py:863 templates/navbar.html:101
msgid "System Information"
msgstr "Informations système"
@@ -535,599 +541,570 @@ msgstr ""
msgid "Barcode associated with StockItem"
msgstr ""
-#: build/api.py:213
-msgid "Matching build order does not exist"
-msgstr ""
-
-#: build/forms.py:37
-msgid "Build Order reference"
-msgstr ""
-
-#: build/forms.py:38
-msgid "Order target date"
-msgstr ""
-
-#: build/forms.py:42 build/templates/build/build_base.html:146
-#: build/templates/build/detail.html:124
-#: order/templates/order/order_base.html:124
-#: order/templates/order/sales_order_base.html:124
-#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689
-#: templates/js/translated/order.js:1074
-msgid "Target Date"
-msgstr ""
-
-#: build/forms.py:43 build/models.py:279
-msgid "Target date for build completion. Build will be overdue after this date."
-msgstr ""
-
-#: build/forms.py:48 build/forms.py:90 build/models.py:1281
-#: build/templates/build/allocation_card.html:23
-#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:1087
-#: company/forms.py:42 company/templates/company/supplier_part.html:226
-#: order/forms.py:101 order/forms.py:123 order/models.py:720
-#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249
-#: part/forms.py:265 part/forms.py:281 part/models.py:2377
+#: build/forms.py:36 build/models.py:1283
+#: build/templates/build/build_base.html:124
+#: build/templates/build/detail.html:35 common/models.py:1225
+#: company/forms.py:42 company/templates/company/supplier_part.html:251
+#: order/forms.py:102 order/models.py:729 order/models.py:991
+#: order/templates/order/order_wizard/match_parts.html:30
+#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237
+#: part/forms.py:253 part/forms.py:269 part/models.py:2576
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030
+#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
-#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:140 stock/templates/stock/item_base.html:269
-#: stock/templates/stock/stock_adjust.html:18
-#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264
-#: templates/js/translated/build.js:314 templates/js/translated/build.js:638
-#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515
-#: templates/js/translated/model_renderers.js:74
-#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170
-#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444
-#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487
-#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654
-#: templates/js/translated/stock.js:1829
+#: report/templates/report/inventree_test_report_base.html:81
+#: report/templates/report/inventree_test_report_base.html:139
+#: stock/forms.py:156 stock/serializers.py:286
+#: stock/templates/stock/item_base.html:256
+#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441
+#: templates/js/translated/build.js:235 templates/js/translated/build.js:435
+#: templates/js/translated/build.js:629 templates/js/translated/build.js:639
+#: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362
+#: templates/js/translated/model_renderers.js:99
+#: templates/js/translated/order.js:870 templates/js/translated/order.js:1183
+#: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268
+#: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457
+#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626
+#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347
+#: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141
msgid "Quantity"
msgstr "Quantité"
-#: build/forms.py:49
-msgid "Number of items to build"
-msgstr ""
-
-#: build/forms.py:91
+#: build/forms.py:37
msgid "Enter quantity for build output"
msgstr ""
-#: build/forms.py:95 order/forms.py:95 stock/forms.py:83
+#: build/forms.py:41 order/forms.py:96 stock/forms.py:95
+#: stock/serializers.py:307 templates/js/translated/stock.js:194
+#: templates/js/translated/stock.js:348
msgid "Serial Numbers"
msgstr "Numéros de série"
-#: build/forms.py:97
+#: build/forms.py:43
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/forms.py:103
+#: build/forms.py:49
msgid "Confirm creation of build output"
msgstr ""
-#: build/forms.py:124
+#: build/forms.py:70
msgid "Confirm deletion of build output"
msgstr ""
-#: build/forms.py:145
-msgid "Confirm unallocation of stock"
-msgstr ""
-
-#: build/forms.py:174
+#: build/forms.py:94
msgid "Mark build as complete"
msgstr ""
-#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284
-#: stock/forms.py:280 stock/serializers.py:553
-#: stock/templates/stock/item_base.html:299
-#: stock/templates/stock/stock_adjust.html:17
-#: templates/js/translated/barcode.js:385
-#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299
-#: templates/js/translated/build.js:650 templates/js/translated/order.js:347
-#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263
-#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179
-#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921
-#: templates/js/translated/stock.js:1546
-msgid "Location"
-msgstr ""
-
-#: build/forms.py:199
-msgid "Location of completed parts"
-msgstr "Emplacement des pièces terminées"
-
-#: build/forms.py:203 build/templates/build/build_base.html:138
-#: build/templates/build/detail.html:62 order/models.py:563
-#: order/serializers.py:238 stock/templates/stock/item_base.html:422
-#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251
-#: templates/js/translated/order.js:430 templates/js/translated/order.js:676
-#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896
-#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845
-msgid "Status"
-msgstr ""
-
-#: build/forms.py:204
-msgid "Build output stock status"
-msgstr ""
-
-#: build/forms.py:211
-msgid "Confirm incomplete"
-msgstr ""
-
-#: build/forms.py:212
-msgid "Confirm completion with incomplete stock allocation"
-msgstr ""
-
-#: build/forms.py:215
-msgid "Confirm build completion"
-msgstr ""
-
-#: build/forms.py:240
+#: build/forms.py:107
msgid "Confirm cancel"
msgstr ""
-#: build/forms.py:240 build/views.py:65
+#: build/forms.py:107 build/views.py:65
msgid "Confirm build cancellation"
msgstr ""
-#: build/models.py:115
+#: build/models.py:133
msgid "Invalid choice for parent build"
msgstr ""
-#: build/models.py:119 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:73
+#: build/models.py:137 build/templates/build/build_base.html:9
+#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:276
+#: templates/js/translated/build.js:397
msgid "Build Order"
msgstr ""
-#: build/models.py:120 build/templates/build/index.html:8
-#: build/templates/build/index.html:15
-#: order/templates/order/sales_order_detail.html:34
-#: order/templates/order/so_navbar.html:19
-#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50
-#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229
-#: templates/InvenTree/search.html:171
-#: templates/InvenTree/settings/navbar.html:113
-#: templates/InvenTree/settings/navbar.html:115 users/models.py:44
+#: build/models.py:138 build/templates/build/build_base.html:13
+#: build/templates/build/index.html:8 build/templates/build/index.html:12
+#: order/templates/order/sales_order_detail.html:42
+#: templates/InvenTree/index.html:221 templates/InvenTree/search.html:145
+#: users/models.py:44
msgid "Build Orders"
msgstr ""
-#: build/models.py:180
+#: build/models.py:198
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:181 order/models.py:246 order/models.py:547
-#: order/models.py:727 part/models.py:2386
+#: build/models.py:199 order/models.py:249 order/models.py:556
+#: order/models.py:736 part/models.py:2585
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734
-#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863
-#: templates/js/translated/order.js:1438
+#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119
+#: templates/js/translated/order.js:864 templates/js/translated/order.js:1451
msgid "Reference"
msgstr "Référence"
-#: build/models.py:192
+#: build/models.py:210
msgid "Brief description of the build"
msgstr ""
-#: build/models.py:201 build/templates/build/build_base.html:163
-#: build/templates/build/detail.html:80
+#: build/models.py:219 build/templates/build/build_base.html:156
+#: build/templates/build/detail.html:88
msgid "Parent Build"
msgstr ""
-#: build/models.py:202
+#: build/models.py:220
msgid "BuildOrder to which this build is allocated"
msgstr ""
-#: build/models.py:207 build/templates/build/build_base.html:128
-#: build/templates/build/detail.html:29 company/models.py:705
-#: order/models.py:780 order/models.py:851
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298
-#: part/models.py:2000 part/models.py:2016 part/models.py:2035
-#: part/models.py:2053 part/models.py:2132 part/models.py:2254
-#: part/models.py:2361 part/templates/part/detail.html:199
+#: build/models.py:225 build/templates/build/build_base.html:119
+#: build/templates/build/detail.html:30 company/models.py:705
+#: order/models.py:789 order/models.py:860
+#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357
+#: part/models.py:2151 part/models.py:2167 part/models.py:2186
+#: part/models.py:2203 part/models.py:2305 part/models.py:2427
+#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
-#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384
-#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611
-#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222
-#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488
-#: templates/js/translated/company.js:745 templates/js/translated/order.js:425
-#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422
-#: templates/js/translated/part.js:705 templates/js/translated/part.js:875
-#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776
-#: templates/js/translated/stock.js:1817
+#: templates/InvenTree/search.html:86
+#: templates/email/build_order_required_stock.html:17
+#: templates/email/low_stock_notification.html:16
+#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213
+#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620
+#: templates/js/translated/build.js:988 templates/js/translated/build.js:1359
+#: templates/js/translated/build.js:1626 templates/js/translated/company.js:488
+#: templates/js/translated/company.js:745 templates/js/translated/order.js:426
+#: templates/js/translated/order.js:818 templates/js/translated/order.js:1435
+#: templates/js/translated/part.js:726 templates/js/translated/part.js:892
+#: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:2129
msgid "Part"
msgstr "Pièce"
-#: build/models.py:215
+#: build/models.py:233
msgid "Select part to build"
msgstr "Sélectionnez la pièce à construire"
-#: build/models.py:220
+#: build/models.py:238
msgid "Sales Order Reference"
msgstr ""
-#: build/models.py:224
+#: build/models.py:242
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:229 templates/js/translated/build.js:962
+#: build/models.py:247 templates/js/translated/build.js:1347
msgid "Source Location"
msgstr ""
-#: build/models.py:233
+#: build/models.py:251
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr ""
-#: build/models.py:238
+#: build/models.py:256
msgid "Destination Location"
msgstr ""
-#: build/models.py:242
+#: build/models.py:260
msgid "Select location where the completed items will be stored"
msgstr ""
-#: build/models.py:246
+#: build/models.py:264
msgid "Build Quantity"
msgstr ""
-#: build/models.py:249
+#: build/models.py:267
msgid "Number of stock items to build"
msgstr ""
-#: build/models.py:253
+#: build/models.py:271
msgid "Completed items"
msgstr ""
-#: build/models.py:255
+#: build/models.py:273
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:259 part/templates/part/part_base.html:198
+#: build/models.py:277 part/templates/part/part_base.html:216
msgid "Build Status"
msgstr ""
-#: build/models.py:263
+#: build/models.py:281
msgid "Build status code"
msgstr ""
-#: build/models.py:267 stock/models.py:513
+#: build/models.py:285 stock/models.py:544
msgid "Batch Code"
msgstr ""
-#: build/models.py:271
+#: build/models.py:289
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:274 order/models.py:162 part/models.py:854
-#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069
+#: build/models.py:292 order/models.py:165 part/models.py:936
+#: part/templates/part/detail.html:86 templates/js/translated/order.js:1082
msgid "Creation Date"
msgstr "Date de création"
-#: build/models.py:278 order/models.py:569
+#: build/models.py:296 order/models.py:578
msgid "Target completion date"
msgstr ""
-#: build/models.py:282 order/models.py:288
-#: templates/js/translated/build.js:1293
+#: build/models.py:297
+msgid "Target date for build completion. Build will be overdue after this date."
+msgstr ""
+
+#: build/models.py:300 order/models.py:291
+#: templates/js/translated/build.js:1697
msgid "Completion Date"
msgstr ""
-#: build/models.py:288
+#: build/models.py:306
msgid "completed by"
msgstr ""
-#: build/models.py:296 templates/js/translated/build.js:1264
+#: build/models.py:314 templates/js/translated/build.js:1668
msgid "Issued by"
msgstr ""
-#: build/models.py:297
+#: build/models.py:315
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:305 build/templates/build/build_base.html:184
-#: build/templates/build/detail.html:108 order/models.py:176
-#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:145 part/models.py:858
+#: build/models.py:323 build/templates/build/build_base.html:177
+#: build/templates/build/detail.html:116 order/models.py:179
+#: order/templates/order/order_base.html:154
+#: order/templates/order/sales_order_base.html:161 part/models.py:940
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1680
msgid "Responsible"
msgstr ""
-#: build/models.py:306
+#: build/models.py:324
msgid "User responsible for this build order"
msgstr ""
-#: build/models.py:311 build/templates/build/detail.html:94
-#: company/templates/company/manufacturer_part.html:83
-#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:266 stock/models.py:507
-#: stock/templates/stock/item_base.html:359
+#: build/models.py:329 build/templates/build/detail.html:102
+#: company/templates/company/manufacturer_part.html:87
+#: company/templates/company/supplier_part.html:88
+#: part/templates/part/detail.html:80 stock/models.py:538
+#: stock/templates/stock/item_base.html:346
msgid "External Link"
msgstr "Lien Externe"
-#: build/models.py:312 part/models.py:716 stock/models.py:509
+#: build/models.py:330 part/models.py:798 stock/models.py:540
msgid "Link to external URL"
msgstr ""
-#: build/models.py:316 build/templates/build/navbar.html:52
-#: company/models.py:142 company/models.py:577
-#: company/templates/company/navbar.html:69
-#: company/templates/company/navbar.html:72 order/models.py:180
-#: order/models.py:729 order/templates/order/po_navbar.html:38
-#: order/templates/order/po_navbar.html:41
-#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:843
-#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120
-#: part/templates/part/navbar.html:123
+#: build/models.py:334 build/serializers.py:201 company/models.py:142
+#: company/models.py:577 order/models.py:183 order/models.py:738
+#: part/models.py:925 part/templates/part/detail.html:223
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579
-#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451
-#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59
-#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841
-#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540
-#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040
+#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610
+#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325
+#: stock/serializers.py:584 templates/js/translated/barcode.js:58
+#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841
+#: templates/js/translated/order.js:963 templates/js/translated/order.js:1561
+#: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340
msgid "Notes"
msgstr "Notes"
-#: build/models.py:317
+#: build/models.py:335
msgid "Extra build notes"
msgstr ""
-#: build/models.py:714
+#: build/models.py:710
msgid "No build output specified"
msgstr ""
-#: build/models.py:717
+#: build/models.py:713
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:720
+#: build/models.py:716
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1102
+#: build/models.py:1108
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "L'élément de construction doit spécifier une sortie de construction, la pièce maîtresse étant marquée comme objet traçable"
-#: build/models.py:1111
+#: build/models.py:1117
#, python-brace-format
msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1121
+#: build/models.py:1127
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1127 order/models.py:955
+#: build/models.py:1133 order/models.py:964
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1133
+#: build/models.py:1139
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1191
+#: build/models.py:1193
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1251 stock/templates/stock/item_base.html:331
-#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195
-#: templates/navbar.html:35
+#: build/models.py:1253 stock/templates/stock/item_base.html:318
+#: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599
+#: templates/navbar.html:33
msgid "Build"
msgstr ""
-#: build/models.py:1252
+#: build/models.py:1254
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1268 build/serializers.py:151
+#: build/models.py:1270 build/serializers.py:328
#: stock/templates/stock/item_base.html:8
-#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:353
-#: stock/templates/stock/stock_adjust.html:16
-#: templates/js/translated/build.js:287 templates/js/translated/build.js:292
-#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148
-#: templates/js/translated/stock.js:1605
+#: stock/templates/stock/item_base.html:16
+#: stock/templates/stock/item_base.html:340
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:413
+#: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742
+#: templates/js/translated/order.js:1156 templates/js/translated/order.js:1161
+#: templates/js/translated/stock.js:1990
msgid "Stock Item"
msgstr ""
-#: build/models.py:1269
+#: build/models.py:1271
msgid "Source stock item"
msgstr ""
-#: build/models.py:1282
+#: build/models.py:1284
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1290
+#: build/models.py:1292
msgid "Install into"
msgstr ""
-#: build/models.py:1291
+#: build/models.py:1293
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:133 part/models.py:2501
-msgid "BOM Item"
-msgstr ""
-
-#: build/serializers.py:142
-msgid "bom_item.part must point to the same part as the build order"
-msgstr ""
-
-#: build/serializers.py:157
-msgid "Item must be in stock"
-msgstr ""
-
-#: build/serializers.py:171 order/models.py:313 order/serializers.py:231
-#: stock/models.py:351 stock/models.py:1072
-msgid "Quantity must be greater than zero"
-msgstr ""
-
-#: build/serializers.py:180
+#: build/serializers.py:137 build/serializers.py:357
msgid "Build Output"
msgstr ""
+#: build/serializers.py:146
+msgid "Build output does not match the parent build"
+msgstr ""
+
+#: build/serializers.py:150
+msgid "Output part does not match BuildOrder part"
+msgstr ""
+
+#: build/serializers.py:154
+msgid "This build output has already been completed"
+msgstr ""
+
+#: build/serializers.py:158
+msgid "This build output is not fully allocated"
+msgstr ""
+
+#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285
+#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686
+#: stock/templates/stock/item_base.html:286
+#: templates/js/translated/barcode.js:384
+#: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420
+#: templates/js/translated/build.js:1027 templates/js/translated/order.js:348
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1276
+#: templates/js/translated/order.js:1282 templates/js/translated/part.js:180
+#: templates/js/translated/stock.js:480 templates/js/translated/stock.js:1221
+#: templates/js/translated/stock.js:1931
+msgid "Location"
+msgstr ""
+
+#: build/serializers.py:191
+#, fuzzy
+#| msgid "Location of completed parts"
+msgid "Location for completed build outputs"
+msgstr "Emplacement des pièces terminées"
+
+#: build/serializers.py:197 build/templates/build/build_base.html:129
+#: build/templates/build/detail.html:63 order/models.py:572
+#: order/serializers.py:238 stock/templates/stock/item_base.html:409
+#: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655
+#: templates/js/translated/order.js:431 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196
+#: templates/js/translated/stock.js:2008 templates/js/translated/stock.js:2157
+msgid "Status"
+msgstr ""
+
#: build/serializers.py:213
+msgid "A list of build outputs must be provided"
+msgstr ""
+
+#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700
+#: part/models.py:2859
+msgid "BOM Item"
+msgstr ""
+
+#: build/serializers.py:269
+#, fuzzy
+#| msgid "Build order output created"
+msgid "Build output"
+msgstr "La sortie de l'ordre de construction a été créée"
+
+#: build/serializers.py:278
+msgid "Build output must point to the same build"
+msgstr ""
+
+#: build/serializers.py:319
+msgid "bom_item.part must point to the same part as the build order"
+msgstr ""
+
+#: build/serializers.py:334
+msgid "Item must be in stock"
+msgstr ""
+
+#: build/serializers.py:348 order/models.py:316 order/serializers.py:231
+#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298
+msgid "Quantity must be greater than zero"
+msgstr ""
+
+#: build/serializers.py:390
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:219
+#: build/serializers.py:396
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:226
+#: build/serializers.py:403
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:254
+#: build/serializers.py:431
msgid "Allocation items must be provided"
msgstr ""
-#: build/templates/build/allocation_card.html:21
-#: build/templates/build/complete_output.html:46
-#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:501 stock/templates/stock/item_base.html:251
-#: templates/js/translated/build.js:636
-#: templates/js/translated/model_renderers.js:72
-#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342
-msgid "Serial Number"
+#: build/tasks.py:92
+msgid "Stock required for build order"
msgstr ""
-#: build/templates/build/build_base.html:18
+#: build/templates/build/build_base.html:39
+#: order/templates/order/order_base.html:28
+#: order/templates/order/sales_order_base.html:38
+msgid "Print actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:43
+msgid "Print build order report"
+msgstr ""
+
+#: build/templates/build/build_base.html:50
+msgid "Build actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:54
+msgid "Edit Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:56
+#: build/templates/build/build_base.html:207 build/views.py:56
+msgid "Cancel Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:59
+msgid "Delete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:64
+#: build/templates/build/build_base.html:65
+#: build/templates/build/build_base.html:223
+msgid "Complete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:79
#, python-format
msgid "This Build Order is allocated to Sales Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:25
+#: build/templates/build/build_base.html:86
#, python-format
msgid "This Build Order is a child of Build Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:32
+#: build/templates/build/build_base.html:93
msgid "Build Order is ready to mark as completed"
msgstr ""
-#: build/templates/build/build_base.html:37
+#: build/templates/build/build_base.html:98
msgid "Build Order cannot be completed as outstanding outputs remain"
msgstr ""
-#: build/templates/build/build_base.html:42
+#: build/templates/build/build_base.html:103
msgid "Required build quantity has not yet been completed"
msgstr ""
-#: build/templates/build/build_base.html:47
+#: build/templates/build/build_base.html:108
msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
-#: build/templates/build/build_base.html:75
-#: company/templates/company/company_base.html:40
-#: company/templates/company/manufacturer_part.html:29
-#: company/templates/company/supplier_part.html:30
-#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:30
-#: stock/templates/stock/item_base.html:62
-#: stock/templates/stock/location.html:31
-msgid "Admin view"
+#: build/templates/build/build_base.html:138
+#: build/templates/build/detail.html:132
+#: order/templates/order/order_base.html:140
+#: order/templates/order/sales_order_base.html:140
+#: report/templates/report/inventree_build_order_base.html:126
+#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690
+#: templates/js/translated/order.js:1087
+msgid "Target Date"
msgstr ""
-#: build/templates/build/build_base.html:81
-#: build/templates/build/build_base.html:150
-#: order/templates/order/order_base.html:32
-#: order/templates/order/order_base.html:86
-#: order/templates/order/sales_order_base.html:43
-#: order/templates/order/sales_order_base.html:93
-#: templates/js/translated/table_filters.js:272
-#: templates/js/translated/table_filters.js:300
-#: templates/js/translated/table_filters.js:317
-msgid "Overdue"
-msgstr ""
-
-#: build/templates/build/build_base.html:90
-msgid "Print actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:94
-msgid "Print Build Order"
-msgstr ""
-
-#: build/templates/build/build_base.html:100
-#: build/templates/build/build_base.html:222
-msgid "Complete Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:105
-msgid "Build actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:109
-msgid "Edit Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:111
-#: build/templates/build/build_base.html:206 build/views.py:56
-msgid "Cancel Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:114
-msgid "Delete Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:124
-#: build/templates/build/detail.html:15
-msgid "Build Details"
-msgstr ""
-
-#: build/templates/build/build_base.html:150
+#: build/templates/build/build_base.html:143
#, python-format
msgid "This build was due on %(target)s"
msgstr ""
-#: build/templates/build/build_base.html:157
-#: build/templates/build/detail.html:67
-msgid "Progress"
+#: build/templates/build/build_base.html:143
+#: build/templates/build/build_base.html:188
+#: order/templates/order/order_base.html:81
+#: order/templates/order/order_base.html:102
+#: order/templates/order/sales_order_base.html:78
+#: order/templates/order/sales_order_base.html:107
+#: templates/js/translated/table_filters.js:288
+#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:333
+msgid "Overdue"
msgstr ""
-#: build/templates/build/build_base.html:170
-#: build/templates/build/detail.html:87 order/models.py:848
+#: build/templates/build/build_base.html:150
+#: build/templates/build/detail.html:68 build/templates/build/detail.html:143
+#: templates/js/translated/build.js:1641
+#: templates/js/translated/table_filters.js:298
+msgid "Completed"
+msgstr ""
+
+#: build/templates/build/build_base.html:163
+#: build/templates/build/detail.html:95 order/models.py:857
#: order/templates/order/sales_order_base.html:9
-#: order/templates/order/sales_order_base.html:35
+#: order/templates/order/sales_order_base.html:28
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:293
-#: templates/js/translated/order.js:1016
+#: stock/templates/stock/item_base.html:280
+#: templates/js/translated/order.js:1029
msgid "Sales Order"
msgstr ""
-#: build/templates/build/build_base.html:177
-#: build/templates/build/detail.html:101
+#: build/templates/build/build_base.html:170
+#: build/templates/build/detail.html:109
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:214
+#: build/templates/build/build_base.html:215
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:215
+#: build/templates/build/build_base.html:216
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
@@ -1175,220 +1152,197 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/templates/build/complete_output.html:10
-msgid "Stock allocation is complete for this output"
+#: build/templates/build/detail.html:16
+msgid "Build Details"
msgstr ""
-#: build/templates/build/complete_output.html:14
-msgid "Stock allocation is incomplete"
-msgstr ""
-
-#: build/templates/build/complete_output.html:20
-msgid "tracked parts have not been fully allocated"
-msgstr ""
-
-#: build/templates/build/complete_output.html:41
-msgid "The following items will be created"
-msgstr ""
-
-#: build/templates/build/detail.html:38
+#: build/templates/build/detail.html:39
msgid "Stock Source"
msgstr ""
-#: build/templates/build/detail.html:43
+#: build/templates/build/detail.html:44
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134
-#: templates/js/translated/order.js:431 templates/js/translated/order.js:939
+#: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150
+#: templates/js/translated/order.js:432 templates/js/translated/order.js:952
msgid "Destination"
msgstr ""
-#: build/templates/build/detail.html:56
+#: build/templates/build/detail.html:57
msgid "Destination location not specified"
msgstr ""
-#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:317
-#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852
-#: templates/js/translated/table_filters.js:129
-#: templates/js/translated/table_filters.js:211
+#: build/templates/build/detail.html:74 templates/js/translated/build.js:647
+msgid "Allocated Parts"
+msgstr ""
+
+#: build/templates/build/detail.html:81
+#: stock/templates/stock/item_base.html:304
+#: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164
+#: templates/js/translated/table_filters.js:145
+#: templates/js/translated/table_filters.js:227
msgid "Batch"
msgstr ""
-#: build/templates/build/detail.html:119
-#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:118
-#: templates/js/translated/build.js:1259
+#: build/templates/build/detail.html:127
+#: order/templates/order/order_base.html:127
+#: order/templates/order/sales_order_base.html:134
+#: templates/js/translated/build.js:1663
msgid "Created"
msgstr ""
-#: build/templates/build/detail.html:130
+#: build/templates/build/detail.html:138
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237
-#: templates/js/translated/table_filters.js:282
-msgid "Completed"
-msgstr ""
-
-#: build/templates/build/detail.html:139
+#: build/templates/build/detail.html:147
msgid "Build not complete"
msgstr ""
-#: build/templates/build/detail.html:150 build/templates/build/navbar.html:35
+#: build/templates/build/detail.html:158
msgid "Child Build Orders"
msgstr ""
-#: build/templates/build/detail.html:166
+#: build/templates/build/detail.html:173
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:172
-msgid "Allocate stock to build"
-msgstr ""
-
-#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20
-#: build/templates/build/navbar.html:23
-msgid "Allocate Stock"
-msgstr ""
-
-#: build/templates/build/detail.html:175 templates/js/translated/build.js:817
+#: build/templates/build/detail.html:177 templates/js/translated/build.js:1202
msgid "Unallocate stock"
msgstr ""
-#: build/templates/build/detail.html:176 build/views.py:257
+#: build/templates/build/detail.html:178
msgid "Unallocate Stock"
msgstr ""
-#: build/templates/build/detail.html:179
+#: build/templates/build/detail.html:180
+msgid "Allocate stock to build"
+msgstr ""
+
+#: build/templates/build/detail.html:181
+msgid "Allocate Stock"
+msgstr ""
+
+#: build/templates/build/detail.html:184
msgid "Order required parts"
msgstr "Commander les pièces requises"
-#: build/templates/build/detail.html:180
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72 order/views.py:509
-#: part/templates/part/category.html:140
+#: build/templates/build/detail.html:185
+#: company/templates/company/detail.html:38
+#: company/templates/company/detail.html:85 order/views.py:509
+#: part/templates/part/category.html:166
msgid "Order Parts"
msgstr "Commander des pièces"
-#: build/templates/build/detail.html:186
+#: build/templates/build/detail.html:197
msgid "Untracked stock has been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:190
+#: build/templates/build/detail.html:201
msgid "Untracked stock has not been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:197
+#: build/templates/build/detail.html:208
msgid "Allocate selected items"
msgstr ""
-#: build/templates/build/detail.html:209
+#: build/templates/build/detail.html:218
msgid "This Build Order does not have any associated untracked BOM items"
msgstr ""
-#: build/templates/build/detail.html:218
+#: build/templates/build/detail.html:227
msgid "Incomplete Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:223
+#: build/templates/build/detail.html:231
msgid "Create new build output"
msgstr ""
-#: build/templates/build/detail.html:224
-msgid "Create New Output"
+#: build/templates/build/detail.html:232
+msgid "New Build Output"
msgstr ""
-#: build/templates/build/detail.html:237
-msgid "Create a new build output"
+#: build/templates/build/detail.html:246
+msgid "Output Actions"
msgstr ""
-#: build/templates/build/detail.html:238
-msgid "No incomplete build outputs remain."
+#: build/templates/build/detail.html:250
+msgid "Complete selected items"
msgstr ""
-#: build/templates/build/detail.html:239
-msgid "Create a new build output using the button above"
-msgstr ""
+#: build/templates/build/detail.html:251
+#, fuzzy
+#| msgid "Complete"
+msgid "Complete outputs"
+msgstr "Terminé"
-#: build/templates/build/detail.html:247
+#: build/templates/build/detail.html:266
msgid "Completed Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42
-#: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35
-#: order/templates/order/sales_order_detail.html:43
-#: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173
-#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117
-#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47
-#: stock/templates/stock/navbar.html:50
+#: build/templates/build/detail.html:278
+#: order/templates/order/purchase_order_detail.html:60
+#: order/templates/order/sales_order_detail.html:52
+#: part/templates/part/detail.html:300 stock/templates/stock/item.html:95
msgid "Attachments"
msgstr "Pieces jointes"
-#: build/templates/build/detail.html:269
+#: build/templates/build/detail.html:294
msgid "Build Notes"
msgstr ""
-#: build/templates/build/detail.html:273 build/templates/build/detail.html:414
-#: company/templates/company/detail.html:169
-#: company/templates/company/detail.html:196
-#: order/templates/order/purchase_order_detail.html:71
-#: order/templates/order/purchase_order_detail.html:104
-#: order/templates/order/sales_order_detail.html:58
-#: order/templates/order/sales_order_detail.html:85
-#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103
-#: stock/templates/stock/item.html:188
+#: build/templates/build/detail.html:298 build/templates/build/detail.html:489
+#: company/templates/company/detail.html:188
+#: company/templates/company/detail.html:215
+#: order/templates/order/purchase_order_detail.html:80
+#: order/templates/order/purchase_order_detail.html:108
+#: order/templates/order/sales_order_detail.html:72
+#: order/templates/order/sales_order_detail.html:99
+#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115
+#: stock/templates/stock/item.html:205
msgid "Edit Notes"
msgstr ""
-#: build/templates/build/detail.html:373
-#: order/templates/order/po_attachments.html:79
-#: order/templates/order/purchase_order_detail.html:166
-#: order/templates/order/sales_order_detail.html:146
-#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253
-#: templates/attachment_table.html:6
+#: build/templates/build/detail.html:448
+#: order/templates/order/purchase_order_detail.html:170
+#: order/templates/order/sales_order_detail.html:160
+#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270
+#: templates/attachment_button.html:4
msgid "Add Attachment"
msgstr ""
-#: build/templates/build/detail.html:392
-#: order/templates/order/po_attachments.html:51
-#: order/templates/order/purchase_order_detail.html:138
-#: order/templates/order/sales_order_detail.html:119
-#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221
+#: build/templates/build/detail.html:467
+#: order/templates/order/purchase_order_detail.html:142
+#: order/templates/order/sales_order_detail.html:133
+#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238
msgid "Edit Attachment"
msgstr ""
-#: build/templates/build/detail.html:399
-#: order/templates/order/po_attachments.html:58
-#: order/templates/order/purchase_order_detail.html:145
-#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230
-#: templates/js/translated/order.js:1230
+#: build/templates/build/detail.html:474
+#: order/templates/order/purchase_order_detail.html:149
+#: order/templates/order/sales_order_detail.html:139
+#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247
+#: templates/js/translated/order.js:1243
msgid "Confirm Delete Operation"
msgstr ""
-#: build/templates/build/detail.html:400
-#: order/templates/order/po_attachments.html:59
-#: order/templates/order/purchase_order_detail.html:146
-#: order/templates/order/sales_order_detail.html:126
-#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231
+#: build/templates/build/detail.html:475
+#: order/templates/order/purchase_order_detail.html:150
+#: order/templates/order/sales_order_detail.html:140
+#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248
msgid "Delete Attachment"
msgstr ""
-#: build/templates/build/detail.html:443
+#: build/templates/build/detail.html:513
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:444
+#: build/templates/build/detail.html:514
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/edit_build_item.html:7
-msgid "Alter the quantity of stock allocated to the build output"
-msgstr ""
-
-#: build/templates/build/index.html:28
+#: build/templates/build/index.html:18 part/templates/part/detail.html:433
msgid "New Build Order"
msgstr ""
@@ -1396,47 +1350,18 @@ msgstr ""
msgid "Print Build Orders"
msgstr ""
-#: build/templates/build/index.html:43
-#: order/templates/order/purchase_orders.html:27
-#: order/templates/order/sales_orders.html:27
+#: build/templates/build/index.html:44
+#: order/templates/order/purchase_orders.html:34
+#: order/templates/order/sales_orders.html:37
msgid "Display calendar view"
msgstr ""
-#: build/templates/build/index.html:46
-#: order/templates/order/purchase_orders.html:30
-#: order/templates/order/sales_orders.html:30
+#: build/templates/build/index.html:47
+#: order/templates/order/purchase_orders.html:37
+#: order/templates/order/sales_orders.html:40
msgid "Display list view"
msgstr ""
-#: build/templates/build/navbar.html:12
-msgid "Build Order Details"
-msgstr ""
-
-#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/translated/stock.js:1534
-msgid "Details"
-msgstr "Détails"
-
-#: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31
-msgid "Build Outputs"
-msgstr ""
-
-#: build/templates/build/navbar.html:38
-msgid "Child Builds"
-msgstr ""
-
-#: build/templates/build/navbar.html:49
-msgid "Build Order Notes"
-msgstr ""
-
-#: build/templates/build/unallocate.html:10
-msgid "Are you sure you wish to unallocate all stock for this build?"
-msgstr ""
-
-#: build/templates/build/unallocate.html:12
-msgid "All incomplete stock allocations will be removed from the build"
-msgstr ""
-
#: build/views.py:76
msgid "Build was cancelled"
msgstr ""
@@ -1449,7 +1374,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:122 stock/views.py:1366
+#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290
msgid "Serial numbers already exist"
msgstr ""
@@ -1461,11 +1386,11 @@ msgstr ""
msgid "Delete Build Output"
msgstr ""
-#: build/views.py:218 build/views.py:308
+#: build/views.py:218
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:219 build/views.py:309 stock/views.py:381
+#: build/views.py:219 stock/views.py:385
msgid "Check the confirmation box"
msgstr ""
@@ -1473,7 +1398,7 @@ msgstr ""
msgid "Build output does not match build"
msgstr ""
-#: build/views.py:233 build/views.py:434
+#: build/views.py:233
msgid "Build output must be specified"
msgstr ""
@@ -1481,39 +1406,19 @@ msgstr ""
msgid "Build output deleted"
msgstr ""
-#: build/views.py:343
+#: build/views.py:261
msgid "Complete Build Order"
msgstr ""
-#: build/views.py:349
+#: build/views.py:267
msgid "Build order cannot be completed - incomplete outputs remain"
msgstr ""
-#: build/views.py:360
+#: build/views.py:278
msgid "Completed build order"
msgstr ""
-#: build/views.py:376
-msgid "Complete Build Output"
-msgstr ""
-
-#: build/views.py:418
-msgid "Invalid stock status value selected"
-msgstr ""
-
-#: build/views.py:425
-msgid "Quantity to complete cannot exceed build output quantity"
-msgstr ""
-
-#: build/views.py:431
-msgid "Confirm completion of incomplete build"
-msgstr ""
-
-#: build/views.py:530
-msgid "Build output completed"
-msgstr ""
-
-#: build/views.py:567
+#: build/views.py:319
msgid "Delete Build Order"
msgstr ""
@@ -1554,728 +1459,730 @@ msgstr "{name.title()} Fichier"
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:308 common/models.py:887 common/models.py:1048
+#: common/models.py:340 common/models.py:970 common/models.py:1178
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:310
+#: common/models.py:342
msgid "Settings value"
msgstr ""
-#: common/models.py:345
+#: common/models.py:377
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:368
+#: common/models.py:382
+msgid "Chosen value is not a valid option"
+msgstr ""
+
+#: common/models.py:405
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:379
+#: common/models.py:416
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:402
+#: common/models.py:439
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:509
+#: common/models.py:559
+msgid "No group"
+msgstr ""
+
+#: common/models.py:601
+#, fuzzy
+#| msgid "Order required parts"
+msgid "Restart required"
+msgstr "Commander les pièces requises"
+
+#: common/models.py:602
+msgid "A setting has been changed which requires a server restart"
+msgstr ""
+
+#: common/models.py:609
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:511
+#: common/models.py:611
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:515
+#: common/models.py:615
msgid "Use instance name"
msgstr ""
-#: common/models.py:516
+#: common/models.py:616
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:522 company/models.py:100 company/models.py:101
+#: common/models.py:622 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr ""
-#: common/models.py:523
+#: common/models.py:623
msgid "Internal company name"
msgstr ""
-#: common/models.py:528
+#: common/models.py:628
msgid "Base URL"
msgstr ""
-#: common/models.py:529
+#: common/models.py:629
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:535
+#: common/models.py:635
msgid "Default Currency"
msgstr ""
-#: common/models.py:536
+#: common/models.py:636
msgid "Default currency"
msgstr ""
-#: common/models.py:542
+#: common/models.py:642
msgid "Download from URL"
msgstr "Télécharger depuis l'URL"
-#: common/models.py:543
+#: common/models.py:643
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:549
+#: common/models.py:649
msgid "Barcode Support"
msgstr ""
-#: common/models.py:550
+#: common/models.py:650
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:556
+#: common/models.py:656
msgid "IPN Regex"
msgstr "Regex IPN"
-#: common/models.py:557
+#: common/models.py:657
msgid "Regular expression pattern for matching Part IPN"
msgstr "Expression régulière pour la correspondance avec l'IPN de la Pièce"
-#: common/models.py:561
+#: common/models.py:661
msgid "Allow Duplicate IPN"
msgstr "Autoriser les IPN dupliqués"
-#: common/models.py:562
+#: common/models.py:662
msgid "Allow multiple parts to share the same IPN"
msgstr "Permettre à plusieurs pièces de partager le même IPN"
-#: common/models.py:568
+#: common/models.py:668
msgid "Allow Editing IPN"
msgstr "Autoriser l'édition de l'IPN"
-#: common/models.py:569
+#: common/models.py:669
msgid "Allow changing the IPN value while editing a part"
msgstr "Permettre de modifier la valeur de l'IPN lors de l'édition d'une pièce"
-#: common/models.py:575
+#: common/models.py:675
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:576
+#: common/models.py:676
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:582
+#: common/models.py:682
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:583
+#: common/models.py:683
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:589
+#: common/models.py:689
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:590
+#: common/models.py:690
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:596
+#: common/models.py:696
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:597
+#: common/models.py:697
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:603 part/models.py:2256 report/models.py:187
-#: stock/forms.py:224 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:351
+#: common/models.py:703 part/models.py:2429 report/models.py:187
+#: templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:367
msgid "Template"
msgstr ""
-#: common/models.py:604
+#: common/models.py:704
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:610 part/models.py:806
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:363
+#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954
+#: templates/js/translated/table_filters.js:162
+#: templates/js/translated/table_filters.js:379
msgid "Assembly"
msgstr ""
-#: common/models.py:611
+#: common/models.py:711
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:617 part/models.py:812
-#: templates/js/translated/table_filters.js:367
+#: common/models.py:717 part/models.py:894
+#: templates/js/translated/table_filters.js:383
msgid "Component"
msgstr ""
-#: common/models.py:618
+#: common/models.py:718
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:624 part/models.py:823
+#: common/models.py:724 part/models.py:905
msgid "Purchaseable"
msgstr ""
-#: common/models.py:625
+#: common/models.py:725
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:631 part/models.py:828
-#: templates/js/translated/table_filters.js:375
+#: common/models.py:731 part/models.py:910
+#: templates/js/translated/table_filters.js:391
msgid "Salable"
msgstr ""
-#: common/models.py:632
+#: common/models.py:732
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:638 part/models.py:818
+#: common/models.py:738 part/models.py:900
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:379
+#: templates/js/translated/table_filters.js:94
+#: templates/js/translated/table_filters.js:395
msgid "Trackable"
msgstr ""
-#: common/models.py:639
+#: common/models.py:739
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:645 part/models.py:838
-#: part/templates/part/part_base.html:66
+#: common/models.py:745 part/models.py:920
+#: part/templates/part/part_base.html:144
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:646
+#: common/models.py:746
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:652
+#: common/models.py:752
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:653
+#: common/models.py:753
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:659
+#: common/models.py:759
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:660
+#: common/models.py:760
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:671
+#: common/models.py:771
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:672
+#: common/models.py:772
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:678
+#: common/models.py:778
msgid "Show related parts"
msgstr ""
-#: common/models.py:679
+#: common/models.py:779
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:685
+#: common/models.py:785
msgid "Create initial stock"
msgstr ""
-#: common/models.py:686
+#: common/models.py:786
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:692
+#: common/models.py:792
msgid "Internal Prices"
msgstr ""
-#: common/models.py:693
+#: common/models.py:793
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:699
+#: common/models.py:799
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:700
+#: common/models.py:800
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:706 templates/stats.html:25
+#: common/models.py:806
+msgid "Part Name Display Format"
+msgstr ""
+
+#: common/models.py:807
+msgid "Format to display the part name"
+msgstr ""
+
+#: common/models.py:814
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:815
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:821 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:707
+#: common/models.py:822
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:713
+#: common/models.py:828
msgid "Page Size"
msgstr ""
-#: common/models.py:714
+#: common/models.py:829
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:724
+#: common/models.py:839
msgid "Test Reports"
msgstr ""
-#: common/models.py:725
+#: common/models.py:840
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:731
+#: common/models.py:846
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:732
+#: common/models.py:847
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:738
+#: common/models.py:853
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:739
+#: common/models.py:854
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:745
+#: common/models.py:860
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:746
+#: common/models.py:861
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:748
+#: common/models.py:863
msgid "days"
msgstr "jours"
-#: common/models.py:753
+#: common/models.py:868
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:754
+#: common/models.py:869
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:760
+#: common/models.py:875
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:761
+#: common/models.py:876
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:767
+#: common/models.py:882
msgid "Group by Part"
msgstr ""
-#: common/models.py:768
+#: common/models.py:883
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:774
+#: common/models.py:889
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:775
+#: common/models.py:890
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:780
+#: common/models.py:895
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:781
+#: common/models.py:896
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:785
+#: common/models.py:900
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:786
+#: common/models.py:901
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:791
+#: common/models.py:906
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:792
+#: common/models.py:907
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:798
-msgid "Enable build"
-msgstr ""
-
-#: common/models.py:799
-msgid "Enable build functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:804
-msgid "Enable buy"
-msgstr ""
-
-#: common/models.py:805
-msgid "Enable buy functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:810
-msgid "Enable sell"
-msgstr ""
-
-#: common/models.py:811
-msgid "Enable sell functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:816
-msgid "Enable stock"
-msgstr ""
-
-#: common/models.py:817
-msgid "Enable stock functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:822
-msgid "Enable SO"
-msgstr ""
-
-#: common/models.py:823
-msgid "Enable SO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:828
-msgid "Enable PO"
-msgstr ""
-
-#: common/models.py:829
-msgid "Enable PO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:836
+#: common/models.py:913
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:837
-msgid "Enable password forgot function on the login-pages"
+#: common/models.py:914
+msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:842
+#: common/models.py:919
msgid "Enable registration"
msgstr ""
-#: common/models.py:843
-msgid "Enable self-registration for users on the login-pages"
+#: common/models.py:920
+msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:848
+#: common/models.py:925
msgid "Enable SSO"
msgstr ""
-#: common/models.py:849
-msgid "Enable SSO on the login-pages"
+#: common/models.py:926
+msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:854
-msgid "E-Mail required"
+#: common/models.py:931
+msgid "Email required"
msgstr ""
-#: common/models.py:855
+#: common/models.py:932
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:860
+#: common/models.py:937
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:861
+#: common/models.py:938
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:943
msgid "Mail twice"
msgstr ""
-#: common/models.py:867
+#: common/models.py:944
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:872
+#: common/models.py:949
msgid "Password twice"
msgstr ""
-#: common/models.py:873
+#: common/models.py:950
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:898
-msgid "Show starred parts"
+#: common/models.py:955
+msgid "Group on signup"
msgstr ""
-#: common/models.py:899
-msgid "Show starred parts on the homepage"
+#: common/models.py:956
+msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:904
-msgid "Show latest parts"
-msgstr ""
-
-#: common/models.py:905
-msgid "Show latest parts on the homepage"
-msgstr ""
-
-#: common/models.py:910
-msgid "Recent Part Count"
-msgstr ""
-
-#: common/models.py:911
-msgid "Number of recent parts to display on index page"
-msgstr ""
-
-#: common/models.py:917
-msgid "Show unvalidated BOMs"
-msgstr ""
-
-#: common/models.py:918
-msgid "Show BOMs that await validation on the homepage"
-msgstr ""
-
-#: common/models.py:923
-msgid "Show recent stock changes"
-msgstr ""
-
-#: common/models.py:924
-msgid "Show recently changed stock items on the homepage"
-msgstr ""
-
-#: common/models.py:929
-msgid "Recent Stock Count"
-msgstr ""
-
-#: common/models.py:930
-msgid "Number of recent stock items to display on index page"
-msgstr ""
-
-#: common/models.py:935
-msgid "Show low stock"
-msgstr ""
-
-#: common/models.py:936
-msgid "Show low stock items on the homepage"
-msgstr ""
-
-#: common/models.py:941
-msgid "Show depleted stock"
-msgstr ""
-
-#: common/models.py:942
-msgid "Show depleted stock items on the homepage"
-msgstr ""
-
-#: common/models.py:947
-msgid "Show needed stock"
-msgstr ""
-
-#: common/models.py:948
-msgid "Show stock items needed for builds on the homepage"
-msgstr ""
-
-#: common/models.py:953
-msgid "Show expired stock"
-msgstr ""
-
-#: common/models.py:954
-msgid "Show expired stock items on the homepage"
-msgstr ""
-
-#: common/models.py:959
-msgid "Show stale stock"
-msgstr ""
-
-#: common/models.py:960
-msgid "Show stale stock items on the homepage"
-msgstr ""
-
-#: common/models.py:965
-msgid "Show pending builds"
-msgstr ""
-
-#: common/models.py:966
-msgid "Show pending builds on the homepage"
-msgstr ""
-
-#: common/models.py:971
-msgid "Show overdue builds"
-msgstr ""
-
-#: common/models.py:972
-msgid "Show overdue builds on the homepage"
-msgstr ""
-
-#: common/models.py:977
-msgid "Show outstanding POs"
-msgstr ""
-
-#: common/models.py:978
-msgid "Show outstanding POs on the homepage"
-msgstr ""
-
-#: common/models.py:983
-msgid "Show overdue POs"
-msgstr ""
-
-#: common/models.py:984
-msgid "Show overdue POs on the homepage"
-msgstr ""
-
-#: common/models.py:989
-msgid "Show outstanding SOs"
-msgstr ""
-
-#: common/models.py:990
-msgid "Show outstanding SOs on the homepage"
-msgstr ""
-
-#: common/models.py:995
-msgid "Show overdue SOs"
-msgstr ""
-
-#: common/models.py:996
-msgid "Show overdue SOs on the homepage"
+#: common/models.py:1001
+msgid "Show subscribed parts"
msgstr ""
#: common/models.py:1002
+msgid "Show subscribed parts on the homepage"
+msgstr ""
+
+#: common/models.py:1007
+msgid "Show subscribed categories"
+msgstr ""
+
+#: common/models.py:1008
+msgid "Show subscribed part categories on the homepage"
+msgstr ""
+
+#: common/models.py:1013
+msgid "Show latest parts"
+msgstr ""
+
+#: common/models.py:1014
+msgid "Show latest parts on the homepage"
+msgstr ""
+
+#: common/models.py:1019
+msgid "Recent Part Count"
+msgstr ""
+
+#: common/models.py:1020
+msgid "Number of recent parts to display on index page"
+msgstr ""
+
+#: common/models.py:1026
+msgid "Show unvalidated BOMs"
+msgstr ""
+
+#: common/models.py:1027
+msgid "Show BOMs that await validation on the homepage"
+msgstr ""
+
+#: common/models.py:1032
+msgid "Show recent stock changes"
+msgstr ""
+
+#: common/models.py:1033
+msgid "Show recently changed stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1038
+msgid "Recent Stock Count"
+msgstr ""
+
+#: common/models.py:1039
+msgid "Number of recent stock items to display on index page"
+msgstr ""
+
+#: common/models.py:1044
+msgid "Show low stock"
+msgstr ""
+
+#: common/models.py:1045
+msgid "Show low stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1050
+msgid "Show depleted stock"
+msgstr ""
+
+#: common/models.py:1051
+msgid "Show depleted stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1056
+msgid "Show needed stock"
+msgstr ""
+
+#: common/models.py:1057
+msgid "Show stock items needed for builds on the homepage"
+msgstr ""
+
+#: common/models.py:1062
+msgid "Show expired stock"
+msgstr ""
+
+#: common/models.py:1063
+msgid "Show expired stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1068
+msgid "Show stale stock"
+msgstr ""
+
+#: common/models.py:1069
+msgid "Show stale stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1074
+msgid "Show pending builds"
+msgstr ""
+
+#: common/models.py:1075
+msgid "Show pending builds on the homepage"
+msgstr ""
+
+#: common/models.py:1080
+msgid "Show overdue builds"
+msgstr ""
+
+#: common/models.py:1081
+msgid "Show overdue builds on the homepage"
+msgstr ""
+
+#: common/models.py:1086
+msgid "Show outstanding POs"
+msgstr ""
+
+#: common/models.py:1087
+msgid "Show outstanding POs on the homepage"
+msgstr ""
+
+#: common/models.py:1092
+msgid "Show overdue POs"
+msgstr ""
+
+#: common/models.py:1093
+msgid "Show overdue POs on the homepage"
+msgstr ""
+
+#: common/models.py:1098
+msgid "Show outstanding SOs"
+msgstr ""
+
+#: common/models.py:1099
+msgid "Show outstanding SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Show overdue SOs"
+msgstr ""
+
+#: common/models.py:1105
+msgid "Show overdue SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1111
msgid "Inline label display"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1112
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1118
msgid "Inline report display"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1119
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1125
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1126
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:1023
+#: common/models.py:1132
+msgid "Search Show Stock"
+msgstr ""
+
+#: common/models.py:1133
+msgid "Display stock levels in search preview window"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Hide Inactive Parts"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Hide inactive parts in search preview window"
+msgstr ""
+
+#: common/models.py:1146
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1024
+#: common/models.py:1147
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1153
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1154
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1088 company/forms.py:43
+#: common/models.py:1160
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1161
+msgid "InvenTree navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1226 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1095 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1369
+#: common/models.py:1233 company/serializers.py:264
+#: company/templates/company/supplier_part.html:256
+#: templates/js/translated/part.js:1508
msgid "Price"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1234
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1189
-msgid "Default"
-msgstr ""
-
-#: common/templates/common/edit_setting.html:11
-msgid "Current value"
-msgstr ""
-
-#: common/views.py:33
-msgid "Change Setting"
-msgstr ""
-
-#: common/views.py:119
-msgid "Supplied value is not allowed"
-msgstr ""
-
-#: common/views.py:128
-msgid "Supplied value must be a boolean"
-msgstr ""
-
-#: common/views.py:138
-msgid "Change User Setting"
-msgstr ""
-
-#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42
-#: order/templates/order/po_navbar.html:19
-#: order/templates/order/po_navbar.html:22
-#: order/templates/order/purchase_order_detail.html:27 order/views.py:289
-#: part/templates/part/bom_upload/upload_file.html:65
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
-#: part/views.py:882
+#: common/views.py:93 order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:289
+#: part/templates/part/bom_upload/upload_file.html:51
+#: part/templates/part/import_wizard/part_upload.html:46 part/views.py:281
+#: part/views.py:923
msgid "Upload File"
msgstr ""
-#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
+#: common/views.py:94 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
-#: part/views.py:883
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:282
+#: part/views.py:924
msgid "Match Fields"
msgstr ""
-#: common/views.py:215
+#: common/views.py:95
msgid "Match Items"
msgstr ""
-#: common/views.py:560
+#: common/views.py:440
msgid "Fields matching failed"
msgstr ""
-#: common/views.py:615
+#: common/views.py:495
msgid "Parts imported"
msgstr ""
-#: common/views.py:637 order/templates/order/order_wizard/match_fields.html:27
+#: common/views.py:517 order/templates/order/order_wizard/match_fields.html:27
#: order/templates/order/order_wizard/match_parts.html:19
-#: order/templates/order/order_wizard/po_upload.html:40
+#: order/templates/order/order_wizard/po_upload.html:46
#: part/templates/part/bom_upload/match_fields.html:27
#: part/templates/part/bom_upload/match_parts.html:19
-#: part/templates/part/bom_upload/upload_file.html:63
+#: part/templates/part/bom_upload/upload_file.html:49
#: part/templates/part/import_wizard/match_fields.html:27
#: part/templates/part/import_wizard/match_references.html:19
-#: part/templates/part/import_wizard/part_upload.html:43
+#: part/templates/part/import_wizard/part_upload.html:44
msgid "Previous Step"
msgstr ""
@@ -2321,6 +2228,7 @@ msgid "Contact phone number"
msgstr ""
#: company/models.py:125 company/templates/company/company_base.html:102
+#: templates/InvenTree/settings/user.html:46
msgid "Email"
msgstr ""
@@ -2337,10 +2245,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:131 company/models.py:348 company/models.py:564
-#: order/models.py:160 part/models.py:715
+#: order/models.py:163 part/models.py:797
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:536
-#: templates/js/translated/company.js:825 templates/js/translated/part.js:983
+#: templates/js/translated/company.js:825 templates/js/translated/part.js:984
msgid "Link"
msgstr ""
@@ -2348,7 +2256,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:725
+#: company/models.py:139 part/models.py:807
msgid "Image"
msgstr ""
@@ -2376,8 +2284,8 @@ msgstr ""
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:152 company/serializers.py:264
-#: company/templates/company/company_base.html:76 stock/serializers.py:158
+#: company/models.py:152 company/serializers.py:270
+#: company/templates/company/company_base.html:76 stock/serializers.py:172
msgid "Currency"
msgstr ""
@@ -2385,8 +2293,8 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:454
-#: stock/templates/stock/item_base.html:237
+#: company/models.py:320 company/models.py:535 stock/models.py:484
+#: stock/templates/stock/item_base.html:224
msgid "Base Part"
msgstr ""
@@ -2395,28 +2303,28 @@ msgid "Select part"
msgstr ""
#: company/models.py:335 company/templates/company/company_base.html:116
-#: company/templates/company/manufacturer_part.html:89
-#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:247 stock/templates/stock/item_base.html:366
+#: company/templates/company/manufacturer_part.html:93
+#: company/templates/company/supplier_part.html:104
+#: stock/templates/stock/item_base.html:353
#: templates/js/translated/company.js:332
#: templates/js/translated/company.js:513
-#: templates/js/translated/company.js:796 templates/js/translated/part.js:227
+#: templates/js/translated/company.js:796 templates/js/translated/part.js:228
msgid "Manufacturer"
msgstr ""
-#: company/models.py:336 templates/js/translated/part.js:228
+#: company/models.py:336 templates/js/translated/part.js:229
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:342 company/templates/company/manufacturer_part.html:93
-#: company/templates/company/supplier_part.html:106 part/bom.py:171
-#: part/bom.py:248 templates/js/translated/company.js:529
-#: templates/js/translated/company.js:814 templates/js/translated/order.js:851
-#: templates/js/translated/part.js:238
+#: company/models.py:342 company/templates/company/manufacturer_part.html:97
+#: company/templates/company/supplier_part.html:112
+#: templates/js/translated/company.js:529
+#: templates/js/translated/company.js:814 templates/js/translated/order.js:852
+#: templates/js/translated/part.js:239
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:239
+#: company/models.py:343 templates/js/translated/part.js:240
msgid "Manufacturer Part Number"
msgstr ""
@@ -2431,7 +2339,7 @@ msgstr ""
#: company/models.py:409 company/models.py:558
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:376
+#: stock/templates/stock/item_base.html:363
msgid "Manufacturer Part"
msgstr ""
@@ -2440,10 +2348,9 @@ msgid "Parameter name"
msgstr ""
#: company/models.py:422
-#: report/templates/report/inventree_test_report_base.html:90
-#: stock/models.py:1816 templates/InvenTree/settings/header.html:8
-#: templates/js/translated/company.js:643 templates/js/translated/part.js:623
-#: templates/js/translated/stock.js:555
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:1867 templates/js/translated/company.js:643
+#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848
msgid "Value"
msgstr ""
@@ -2451,8 +2358,9 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:800 part/models.py:2224
-#: templates/js/translated/company.js:649 templates/js/translated/part.js:629
+#: company/models.py:429 part/models.py:882 part/models.py:2397
+#: part/templates/part/detail.html:59 templates/js/translated/company.js:649
+#: templates/js/translated/part.js:650
msgid "Units"
msgstr ""
@@ -2465,27 +2373,27 @@ msgid "Linked manufacturer part must reference the same base part"
msgstr ""
#: company/models.py:545 company/templates/company/company_base.html:121
-#: company/templates/company/supplier_part.html:88 order/models.py:260
-#: order/templates/order/order_base.html:92
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:292 stock/templates/stock/item_base.html:383
+#: company/templates/company/supplier_part.html:94 order/models.py:263
+#: order/templates/order/order_base.html:108
+#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219
+#: part/bom.py:247 stock/templates/stock/item_base.html:370
#: templates/js/translated/company.js:336
-#: templates/js/translated/company.js:770 templates/js/translated/order.js:659
-#: templates/js/translated/part.js:208
+#: templates/js/translated/company.js:770 templates/js/translated/order.js:660
+#: templates/js/translated/part.js:209
msgid "Supplier"
msgstr ""
-#: company/models.py:546 templates/js/translated/part.js:209
+#: company/models.py:546 templates/js/translated/part.js:210
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:92
-#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838
-#: templates/js/translated/part.js:219
+#: company/models.py:551 company/templates/company/supplier_part.html:98
+#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:839
+#: templates/js/translated/part.js:220
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:220
+#: company/models.py:552 templates/js/translated/part.js:221
msgid "Supplier stock keeping unit"
msgstr ""
@@ -2501,23 +2409,23 @@ msgstr ""
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:120
-#: part/models.py:2389 report/templates/report/inventree_po_report.html:93
+#: company/models.py:576 company/templates/company/supplier_part.html:126
+#: part/models.py:2588 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:113
-#: stock/models.py:478 stock/templates/stock/item_base.html:324
-#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036
+#: company/models.py:582 company/templates/company/supplier_part.html:119
+#: stock/models.py:507 stock/templates/stock/item_base.html:311
+#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336
msgid "Packaging"
msgstr ""
@@ -2525,7 +2433,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1605
+#: company/models.py:584 part/models.py:1750
msgid "multiple"
msgstr ""
@@ -2533,46 +2441,42 @@ msgstr ""
msgid "Order multiple"
msgstr ""
-#: company/serializers.py:68
+#: company/serializers.py:70
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:69
+#: company/serializers.py:71
msgid "Currency Code"
msgstr ""
-#: company/templates/company/company_base.html:9
-#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321
+#: company/templates/company/company_base.html:8
+#: company/templates/company/company_base.html:12
+#: templates/InvenTree/search.html:182 templates/js/translated/company.js:321
msgid "Company"
msgstr ""
-#: company/templates/company/company_base.html:25
-#: part/templates/part/part_thumb.html:21
-msgid "Upload new image"
-msgstr ""
-
-#: company/templates/company/company_base.html:27
-#: part/templates/part/part_thumb.html:23
-msgid "Download image from URL"
-msgstr ""
-
-#: company/templates/company/company_base.html:46
-#: templates/js/translated/order.js:120
+#: company/templates/company/company_base.html:22
+#: templates/js/translated/order.js:121
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:51
+#: company/templates/company/company_base.html:27
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:56
-#: company/templates/company/company_base.html:153
+#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:148
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:64
-msgid "Company Details"
+#: company/templates/company/company_base.html:48
+#: part/templates/part/part_thumb.html:12
+msgid "Upload new image"
+msgstr ""
+
+#: company/templates/company/company_base.html:51
+#: part/templates/part/part_thumb.html:14
+msgid "Download image from URL"
msgstr ""
#: company/templates/company/company_base.html:81
@@ -2583,145 +2487,133 @@ msgstr ""
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:126 order/models.py:558
-#: order/templates/order/sales_order_base.html:99 stock/models.py:496
-#: stock/models.py:497 stock/templates/stock/item_base.html:276
-#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038
-#: templates/js/translated/stock.js:1587
+#: company/templates/company/company_base.html:126 order/models.py:567
+#: order/templates/order/sales_order_base.html:114 stock/models.py:525
+#: stock/models.py:526 stock/templates/stock/item_base.html:263
+#: templates/js/translated/company.js:328 templates/js/translated/order.js:1051
+#: templates/js/translated/stock.js:1972
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:199
-#: part/templates/part/part_base.html:424
+#: company/templates/company/company_base.html:194
+#: part/templates/part/part_base.html:342
msgid "Upload Image"
msgstr ""
-#: company/templates/company/detail.html:14
-#: company/templates/company/manufacturer_part_navbar.html:18
-#: templates/InvenTree/search.html:150
+#: company/templates/company/detail.html:15 templates/InvenTree/search.html:124
msgid "Supplier Parts"
msgstr ""
-#: company/templates/company/detail.html:22
+#: company/templates/company/detail.html:19
#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr ""
-#: company/templates/company/detail.html:23
-#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289
+#: company/templates/company/detail.html:20
+#: company/templates/company/manufacturer_part.html:112
+#: part/templates/part/detail.html:466
msgid "New Supplier Part"
msgstr ""
-#: company/templates/company/detail.html:27
-#: company/templates/company/detail.html:67
-#: company/templates/company/manufacturer_part.html:112
-#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/category.html:135 part/templates/part/detail.html:292
-#: part/templates/part/detail.html:315
+#: company/templates/company/detail.html:32
+#: company/templates/company/detail.html:79
+#: company/templates/company/manufacturer_part.html:121
+#: company/templates/company/manufacturer_part.html:150
+#: part/templates/part/category.html:160 part/templates/part/detail.html:475
+#: part/templates/part/detail.html:503
msgid "Options"
msgstr ""
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72
-#: part/templates/part/category.html:140
+#: company/templates/company/detail.html:37
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:166
msgid "Order parts"
msgstr ""
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:42
+#: company/templates/company/detail.html:89
msgid "Delete parts"
msgstr ""
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:43
+#: company/templates/company/detail.html:90
msgid "Delete Parts"
msgstr ""
-#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135
+#: company/templates/company/detail.html:62 templates/InvenTree/search.html:109
msgid "Manufacturer Parts"
msgstr ""
-#: company/templates/company/detail.html:62
+#: company/templates/company/detail.html:66
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:63 part/templates/part/detail.html:312
+#: company/templates/company/detail.html:67 part/templates/part/detail.html:493
msgid "New Manufacturer Part"
msgstr ""
-#: company/templates/company/detail.html:93
+#: company/templates/company/detail.html:107
msgid "Supplier Stock"
msgstr ""
-#: company/templates/company/detail.html:102
-#: company/templates/company/navbar.html:46
-#: company/templates/company/navbar.html:49
+#: company/templates/company/detail.html:117
+#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
-#: order/templates/order/purchase_orders.html:13
-#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82
-#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260
-#: templates/InvenTree/search.html:229
-#: templates/InvenTree/settings/navbar.html:119
-#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44
+#: order/templates/order/purchase_orders.html:12
+#: part/templates/part/detail.html:171 templates/InvenTree/index.html:252
+#: templates/InvenTree/search.html:203 templates/navbar.html:45
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
-#: company/templates/company/detail.html:108
-#: order/templates/order/purchase_orders.html:20
+#: company/templates/company/detail.html:121
+#: order/templates/order/purchase_orders.html:17
msgid "Create new purchase order"
msgstr ""
-#: company/templates/company/detail.html:109
-#: order/templates/order/purchase_orders.html:21
+#: company/templates/company/detail.html:122
+#: order/templates/order/purchase_orders.html:18
msgid "New Purchase Order"
msgstr ""
-#: company/templates/company/detail.html:124
-#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58
+#: company/templates/company/detail.html:143
+#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
-#: order/templates/order/sales_orders.html:13
-#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91
-#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291
-#: templates/InvenTree/search.html:249
-#: templates/InvenTree/settings/navbar.html:125
-#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55
+#: order/templates/order/sales_orders.html:15
+#: part/templates/part/detail.html:194 templates/InvenTree/index.html:283
+#: templates/InvenTree/search.html:223 templates/navbar.html:56
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
-#: company/templates/company/detail.html:130
+#: company/templates/company/detail.html:147
#: order/templates/order/sales_orders.html:20
msgid "Create new sales order"
msgstr ""
-#: company/templates/company/detail.html:131
+#: company/templates/company/detail.html:148
#: order/templates/order/sales_orders.html:21
msgid "New Sales Order"
msgstr ""
-#: company/templates/company/detail.html:147
-#: company/templates/company/navbar.html:61
-#: company/templates/company/navbar.html:64
-#: templates/js/translated/build.js:622
+#: company/templates/company/detail.html:168
+#: templates/js/translated/build.js:999
msgid "Assigned Stock"
msgstr ""
-#: company/templates/company/detail.html:165
+#: company/templates/company/detail.html:184
msgid "Company Notes"
msgstr ""
-#: company/templates/company/detail.html:364
-#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:357
+#: company/templates/company/detail.html:383
+#: company/templates/company/manufacturer_part.html:209
+#: part/templates/part/detail.html:546
msgid "Delete Supplier Parts?"
msgstr ""
-#: company/templates/company/detail.html:365
-#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:358
+#: company/templates/company/detail.html:384
+#: company/templates/company/manufacturer_part.html:210
+#: part/templates/part/detail.html:547
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2729,204 +2621,174 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:40
-#: company/templates/company/supplier_part.html:40
-#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116
+#: company/templates/company/manufacturer_part.html:14 company/views.py:55
+#: part/templates/part/prices.html:167 templates/InvenTree/search.html:184
+#: templates/navbar.html:44
+msgid "Manufacturers"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:35
+#: company/templates/company/supplier_part.html:34
+#: company/templates/company/supplier_part.html:159
+#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:40
#: templates/js/translated/company.js:561
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:49
+#: company/templates/company/manufacturer_part.html:44
#: templates/js/translated/company.js:562
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:61
-msgid "Manufacturer Part Details"
-msgstr ""
-
-#: company/templates/company/manufacturer_part.html:66
-#: company/templates/company/supplier_part.html:65
+#: company/templates/company/manufacturer_part.html:70
+#: company/templates/company/supplier_part.html:71
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/manufacturer_part_navbar.html:21
-#: company/views.py:49 part/templates/part/navbar.html:75
-#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163
-#: templates/InvenTree/search.html:220 templates/navbar.html:41
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: part/templates/part/prices.html:163 templates/InvenTree/search.html:194
+#: templates/navbar.html:43
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: part/templates/part/detail.html:294
+#: company/templates/company/manufacturer_part.html:123
+#: part/templates/part/detail.html:477
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: company/templates/company/manufacturer_part.html:138
-#: company/templates/company/manufacturer_part.html:239
-#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/translated/company.js:424
-#: templates/js/translated/helpers.js:31 users/models.py:199
+#: company/templates/company/manufacturer_part.html:123
+#: company/templates/company/manufacturer_part.html:152
+#: company/templates/company/manufacturer_part.html:248
+#: part/templates/part/detail.html:351 part/templates/part/detail.html:477
+#: part/templates/part/detail.html:505 templates/js/translated/company.js:424
+#: templates/js/translated/helpers.js:31 users/models.py:204
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:127
-#: company/templates/company/manufacturer_part_navbar.html:11
-#: company/templates/company/manufacturer_part_navbar.html:14
-#: part/templates/part/category_navbar.html:38
-#: part/templates/part/category_navbar.html:41
-#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20
-#: part/templates/part/navbar.html:23
+#: company/templates/company/manufacturer_part.html:137
+#: part/templates/part/detail.html:277
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:133
-#: part/templates/part/detail.html:162
-#: templates/InvenTree/settings/category.html:26
-#: templates/InvenTree/settings/part.html:63
+#: company/templates/company/manufacturer_part.html:141
+#: part/templates/part/detail.html:282
+#: templates/InvenTree/settings/category.html:12
+#: templates/InvenTree/settings/part.html:65
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:138
+#: company/templates/company/manufacturer_part.html:152
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:805
+#: company/templates/company/manufacturer_part.html:185
+#: part/templates/part/detail.html:983
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:224
+#: company/templates/company/manufacturer_part.html:233
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:236
+#: company/templates/company/manufacturer_part.html:245
msgid "Delete Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part_navbar.html:26
-msgid "Manufacturer Part Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:29
-#: company/templates/company/navbar.html:39
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/navbar.html:38 stock/api.py:52
-#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182
-#: templates/InvenTree/settings/navbar.html:107
-#: templates/InvenTree/settings/navbar.html:109
-#: templates/js/translated/part.js:540 templates/js/translated/part.js:769
-#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182
-#: templates/js/translated/stock.js:829 templates/navbar.html:32
-msgid "Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:33
-msgid "Manufacturer Part Orders"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:36
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr ""
-
-#: company/templates/company/navbar.html:17
-#: company/templates/company/navbar.html:20
-msgid "Manufactured Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:26
-#: company/templates/company/navbar.html:29
-msgid "Supplied Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35
-#: stock/templates/stock/location.html:119
-#: stock/templates/stock/location.html:134
-#: stock/templates/stock/location.html:148
-#: stock/templates/stock/location_navbar.html:18
-#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486
-#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
-msgid "Stock Items"
-msgstr ""
-
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:463
-#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993
+#: company/templates/company/supplier_part.html:24 stock/models.py:492
+#: stock/templates/stock/item_base.html:375
+#: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44
+#: company/templates/company/supplier_part.html:38
#: templates/js/translated/company.js:859
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48
+#: company/templates/company/supplier_part.html:42
#: templates/js/translated/company.js:860
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:60
-msgid "Supplier Part Details"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:131
+#: company/templates/company/supplier_part.html:138
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:140
+#: company/templates/company/supplier_part.html:141
+#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147
+#, fuzzy
+#| msgid "Edited stock item"
+msgid "Create new stock item"
+msgstr "Article de stock modifié"
+
+#: company/templates/company/supplier_part.html:142
+#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148
+#: templates/js/translated/stock.js:324
+msgid "New Stock Item"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:155
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:147
-#: part/templates/part/detail.html:56
+#: company/templates/company/supplier_part.html:160
+#: part/templates/part/detail.html:175
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:158
-#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7
+#: company/templates/company/supplier_part.html:179
+#: part/templates/part/prices.html:7
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:164
-#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:271 part/views.py:1730
+#: company/templates/company/supplier_part.html:184
+#: company/templates/company/supplier_part.html:290
+#: part/templates/part/prices.html:271 part/views.py:1782
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:185
+#: company/templates/company/supplier_part.html:210
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:1792
+#: company/templates/company/supplier_part.html:224 part/views.py:1844
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:1778
+#: company/templates/company/supplier_part.html:238 part/views.py:1830
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
+#: company/templates/company/supplier_part.html:263
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:239
+#: company/templates/company/supplier_part.html:264
msgid "Delete price break"
msgstr ""
+#: company/templates/company/supplier_part_navbar.html:15
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426
+#: templates/js/translated/part.js:561 templates/js/translated/part.js:786
+#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479
+#: templates/js/translated/stock.js:1132 templates/navbar.html:26
+msgid "Stock"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:22
+msgid "Orders"
+msgstr ""
+
#: company/templates/company/supplier_part_navbar.html:26
msgid "Supplier Part Pricing"
msgstr ""
@@ -2939,17 +2801,12 @@ msgstr ""
msgid "New Supplier"
msgstr ""
-#: company/views.py:55 part/templates/part/prices.html:167
-#: templates/InvenTree/search.html:210 templates/navbar.html:42
-msgid "Manufacturers"
-msgstr ""
-
#: company/views.py:56
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:240
-#: templates/navbar.html:53
+#: company/views.py:61 templates/InvenTree/search.html:214
+#: templates/navbar.html:55
msgid "Customers"
msgstr ""
@@ -2965,24 +2822,24 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:608
+#: company/views.py:129 part/views.py:649
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:640
+#: company/views.py:158 part/views.py:681
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:647
+#: company/views.py:165 part/views.py:688
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:656
+#: company/views.py:174 part/views.py:697
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:57 report/api.py:201
+#: label/api.py:57 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -2994,7 +2851,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:167
+#: label/models.py:127
msgid "Label"
msgstr ""
@@ -3039,7 +2896,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:259 label/models.py:319 label/models.py:366
-#: report/models.py:322 report/models.py:457 report/models.py:495
+#: report/models.py:322 report/models.py:459 report/models.py:497
msgid "Filters"
msgstr ""
@@ -3051,240 +2908,236 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:250
-msgid "Matching purchase order does not exist"
-msgstr ""
-
-#: order/forms.py:27 order/templates/order/order_base.html:50
+#: order/forms.py:26 order/templates/order/order_base.html:52
msgid "Place order"
msgstr ""
-#: order/forms.py:38 order/templates/order/order_base.html:57
+#: order/forms.py:37 order/templates/order/order_base.html:59
msgid "Mark order as complete"
msgstr ""
-#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:64
+#: order/forms.py:48 order/forms.py:59 order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
msgid "Cancel order"
msgstr ""
-#: order/forms.py:71 order/templates/order/sales_order_base.html:61
+#: order/forms.py:70
msgid "Ship order"
msgstr ""
-#: order/forms.py:97
+#: order/forms.py:98
msgid "Enter stock item serial numbers"
msgstr ""
-#: order/forms.py:103
+#: order/forms.py:104
msgid "Enter quantity of stock items"
msgstr ""
-#: order/models.py:158
+#: order/models.py:161
msgid "Order description"
msgstr ""
-#: order/models.py:160
+#: order/models.py:163
msgid "Link to external page"
msgstr ""
-#: order/models.py:168
+#: order/models.py:171
msgid "Created By"
msgstr ""
-#: order/models.py:175
+#: order/models.py:178
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:180
+#: order/models.py:183
msgid "Order notes"
msgstr ""
-#: order/models.py:247 order/models.py:548
+#: order/models.py:250 order/models.py:557
msgid "Order reference"
msgstr ""
-#: order/models.py:252 order/models.py:563
+#: order/models.py:255 order/models.py:572
msgid "Purchase order status"
msgstr ""
-#: order/models.py:261
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/translated/order.js:668
+#: order/models.py:267 order/templates/order/order_base.html:114
+#: templates/js/translated/order.js:669
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:264
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:271
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:276
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:277
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:282
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:283
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:289
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:318
+#: order/models.py:321
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:428
+#: order/models.py:431
msgid "Quantity must be an integer"
msgstr ""
-#: order/models.py:432
+#: order/models.py:435
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:559
+#: order/models.py:568
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer Reference "
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:570
+#: order/models.py:579
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:573 templates/js/translated/order.js:1079
+#: order/models.py:582 templates/js/translated/order.js:1092
msgid "Shipment Date"
msgstr ""
-#: order/models.py:580
+#: order/models.py:589
msgid "shipped by"
msgstr ""
-#: order/models.py:624
+#: order/models.py:633
msgid "SalesOrder cannot be shipped as it is not currently pending"
msgstr ""
-#: order/models.py:721
+#: order/models.py:730
msgid "Item quantity"
msgstr ""
-#: order/models.py:727
+#: order/models.py:736
msgid "Line item reference"
msgstr ""
-#: order/models.py:729
+#: order/models.py:738
msgid "Line item notes"
msgstr ""
-#: order/models.py:759 order/models.py:847
-#: templates/js/translated/order.js:1131
+#: order/models.py:768 order/models.py:856
+#: templates/js/translated/order.js:1144
msgid "Order"
msgstr ""
-#: order/models.py:760 order/templates/order/order_base.html:9
-#: order/templates/order/order_base.html:24
+#: order/models.py:769 order/templates/order/order_base.html:9
+#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:338
-#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970
-#: templates/js/translated/stock.js:1568
+#: stock/templates/stock/item_base.html:325
+#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1270
+#: templates/js/translated/stock.js:1953
msgid "Purchase Order"
msgstr ""
-#: order/models.py:781
+#: order/models.py:790
msgid "Supplier part"
msgstr ""
-#: order/models.py:788 order/templates/order/order_base.html:131
-#: order/templates/order/sales_order_base.html:138
-#: templates/js/translated/order.js:428 templates/js/translated/order.js:919
+#: order/models.py:797 order/templates/order/order_base.html:147
+#: order/templates/order/sales_order_base.html:154
+#: templates/js/translated/order.js:429 templates/js/translated/order.js:932
msgid "Received"
msgstr ""
-#: order/models.py:789
+#: order/models.py:798
msgid "Number of items received"
msgstr ""
-#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588
-#: stock/serializers.py:150 stock/templates/stock/item_base.html:345
-#: templates/js/translated/stock.js:1024
+#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619
+#: stock/serializers.py:163 stock/templates/stock/item_base.html:332
+#: templates/js/translated/stock.js:1324
msgid "Purchase Price"
msgstr ""
-#: order/models.py:797
+#: order/models.py:806
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:805
+#: order/models.py:814
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:857 part/templates/part/part_pricing.html:112
+#: order/models.py:866 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:116 part/templates/part/prices.html:284
msgid "Sale Price"
msgstr ""
-#: order/models.py:858
+#: order/models.py:867
msgid "Unit sale price"
msgstr ""
-#: order/models.py:937 order/models.py:939
+#: order/models.py:946 order/models.py:948
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:943
+#: order/models.py:952
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:945
+#: order/models.py:954
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:948
+#: order/models.py:957
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:952
+#: order/models.py:961
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:958
+#: order/models.py:967
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:966
+#: order/models.py:975
msgid "Line"
msgstr ""
-#: order/models.py:978
+#: order/models.py:987
msgid "Item"
msgstr ""
-#: order/models.py:979
+#: order/models.py:988
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:982
+#: order/models.py:991
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3300,7 +3153,7 @@ msgstr ""
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:218 order/serializers.py:285
+#: order/serializers.py:218 order/serializers.py:286
msgid "Select destination location for received items"
msgstr ""
@@ -3312,72 +3165,74 @@ msgstr ""
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:259
+#: order/serializers.py:260
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:297
+#: order/serializers.py:298
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:314
+#: order/serializers.py:315
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:325
+#: order/serializers.py:326
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:569
+#: order/serializers.py:568
msgid "Sale price currency"
msgstr ""
#: order/templates/order/delete_attachment.html:5
#: stock/templates/stock/attachment_delete.html:5
-#: templates/attachment_delete.html:5
msgid "Are you sure you want to delete this attachment?"
msgstr ""
-#: order/templates/order/order_base.html:39
-#: order/templates/order/sales_order_base.html:50
-msgid "Print"
-msgstr ""
+#: order/templates/order/order_base.html:33
+#, fuzzy
+#| msgid "Received against purchase order"
+msgid "Print purchase order report"
+msgstr "Reçu contre bon de commande"
-#: order/templates/order/order_base.html:42
-#: order/templates/order/sales_order_base.html:53
+#: order/templates/order/order_base.html:35
+#: order/templates/order/sales_order_base.html:45
msgid "Export order to file"
msgstr ""
-#: order/templates/order/order_base.html:46
-#: order/templates/order/sales_order_base.html:57
-msgid "Edit order information"
+#: order/templates/order/order_base.html:41
+#: order/templates/order/sales_order_base.html:54
+#, fuzzy
+#| msgid "Order Parts"
+msgid "Order actions"
+msgstr "Commander des pièces"
+
+#: order/templates/order/order_base.html:45
+#: order/templates/order/sales_order_base.html:58
+msgid "Edit order"
msgstr ""
-#: order/templates/order/order_base.html:54
+#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
-#: order/templates/order/order_base.html:72
-#: order/templates/order/po_navbar.html:12
-msgid "Purchase Order Details"
-msgstr ""
-
-#: order/templates/order/order_base.html:77
-#: order/templates/order/sales_order_base.html:84
+#: order/templates/order/order_base.html:93
+#: order/templates/order/sales_order_base.html:98
msgid "Order Reference"
msgstr ""
-#: order/templates/order/order_base.html:82
-#: order/templates/order/sales_order_base.html:89
+#: order/templates/order/order_base.html:98
+#: order/templates/order/sales_order_base.html:103
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:117
+#: order/templates/order/order_base.html:133
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:185
+#: order/templates/order/order_base.html:203
msgid "Edit Purchase Order"
msgstr ""
@@ -3453,7 +3308,8 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/build.js:869 templates/js/translated/order.js:376
+#: templates/js/translated/build.js:240 templates/js/translated/build.js:1251
+#: templates/js/translated/order.js:377
msgid "Remove row"
msgstr ""
@@ -3475,19 +3331,19 @@ msgstr ""
msgid "Select Supplier Part"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:11
+#: order/templates/order/order_wizard/po_upload.html:16
msgid "Upload File for Purchase Order"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:18
-#: part/templates/part/bom_upload/upload_file.html:34
+#: order/templates/order/order_wizard/po_upload.html:24
+#: part/templates/part/bom_upload/upload_file.html:20
#: part/templates/part/import_wizard/ajax_part_upload.html:10
-#: part/templates/part/import_wizard/part_upload.html:21
+#: part/templates/part/import_wizard/part_upload.html:22
#, python-format
msgid "Step %(step)s of %(count)s"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/order_wizard/po_upload.html:54
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
@@ -3530,7 +3386,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084
+#: templates/js/translated/order.js:695 templates/js/translated/order.js:1097
msgid "Items"
msgstr ""
@@ -3548,30 +3404,14 @@ msgstr ""
msgid "Select a purchase order for %(name)s"
msgstr ""
-#: order/templates/order/po_attachments.html:12
-#: order/templates/order/po_navbar.html:32
-#: order/templates/order/purchase_order_detail.html:56
-msgid "Purchase Order Attachments"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:26
-msgid "Received Stock Items"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:29
-#: order/templates/order/po_received_items.html:12
-#: order/templates/order/purchase_order_detail.html:47
-msgid "Received Items"
-msgstr ""
-
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:24
-#: order/templates/order/purchase_order_detail.html:212
+#: order/templates/order/purchase_order_detail.html:27
+#: order/templates/order/purchase_order_detail.html:216
#: order/templates/order/sales_order_detail.html:23
-#: order/templates/order/sales_order_detail.html:177
+#: order/templates/order/sales_order_detail.html:191
msgid "Add Line Item"
msgstr ""
@@ -3583,34 +3423,43 @@ msgstr ""
msgid "Receive Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
-#: order/templates/order/sales_order_detail.html:54
+#: order/templates/order/purchase_order_detail.html:50
+msgid "Received Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:76
+#: order/templates/order/sales_order_detail.html:68
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_orders.html:24
-#: order/templates/order/sales_orders.html:24
+#: order/templates/order/purchase_orders.html:30
+#: order/templates/order/sales_orders.html:33
msgid "Print Order Reports"
msgstr ""
-#: order/templates/order/sales_order_base.html:16
+#: order/templates/order/sales_order_base.html:43
+msgid "Print sales order report"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:47
+msgid "Print packing list"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:66
+#: order/templates/order/sales_order_base.html:67 order/views.py:222
+msgid "Ship Order"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:86
msgid "This Sales Order has not been fully allocated"
msgstr ""
-#: order/templates/order/sales_order_base.html:70
-msgid "Packing List"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:79
-msgid "Sales Order Details"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:105
-#: templates/js/translated/order.js:1051
+#: order/templates/order/sales_order_base.html:121
+#: templates/js/translated/order.js:1064
msgid "Customer Reference"
msgstr ""
-#: order/templates/order/sales_order_base.html:183
+#: order/templates/order/sales_order_base.html:194
msgid "Edit Sales Order"
msgstr ""
@@ -3625,7 +3474,7 @@ msgstr ""
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -3653,18 +3502,6 @@ msgstr ""
msgid "Allocate stock items by serial number"
msgstr ""
-#: order/templates/order/so_navbar.html:12
-msgid "Sales Order Line Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:15
-msgid "Order Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:26
-msgid "Sales Order Attachments"
-msgstr ""
-
#: order/views.py:103
msgid "Cancel Order"
msgstr ""
@@ -3705,10 +3542,6 @@ msgstr ""
msgid "Purchase order completed"
msgstr ""
-#: order/views.py:222
-msgid "Ship Order"
-msgstr ""
-
#: order/views.py:238
msgid "Confirm order shipment"
msgstr ""
@@ -3776,40 +3609,28 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7
-#: part/templates/part/category.html:108 part/templates/part/category.html:122
-#: part/templates/part/category_navbar.html:21
-#: part/templates/part/category_navbar.html:24
-#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97
-#: templates/js/translated/part.js:1165 templates/navbar.html:29
-#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
-msgid "Parts"
-msgstr ""
-
-#: part/api.py:700
+#: part/api.py:731
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:704
+#: part/api.py:735
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:719
+#: part/api.py:750
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773
+#: part/api.py:781 part/api.py:785 part/api.py:800 part/api.py:804
msgid "This field is required"
msgstr ""
-#: part/bom.py:133 part/models.py:76 part/models.py:734
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:290
+#: part/bom.py:125 part/models.py:81 part/models.py:816
+#: part/templates/part/category.html:90 part/templates/part/detail.html:104
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:156
+#: part/bom.py:126 part/templates/part/part_base.html:167
msgid "Available Stock"
msgstr ""
@@ -3869,7 +3690,7 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:96 part/models.py:2254
+#: part/forms.py:96 part/models.py:2427
msgid "Parent Part"
msgstr ""
@@ -3901,456 +3722,461 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:226
+#: part/forms.py:214
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:230
+#: part/forms.py:218
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:250
+#: part/forms.py:238
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:77
+#: part/models.py:82
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords"
msgstr ""
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:90 part/models.py:2300
+#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:91 part/templates/part/category.html:32
-#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
-#: templates/stats.html:84 users/models.py:40
+#: part/models.py:96 part/templates/part/category.html:117
+#: templates/InvenTree/search.html:101 templates/stats.html:84
+#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:384
+#: part/models.py:358 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:13 part/templates/part/category.html:122
+#: part/templates/part/category.html:142 templates/InvenTree/index.html:85
+#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304
+#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89
+#: users/models.py:41
+msgid "Parts"
+msgstr ""
+
+#: part/models.py:450
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:436 part/models.py:448
+#: part/models.py:502 part/models.py:514
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:545
+#: part/models.py:611
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:549
+#: part/models.py:615
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:554
+#: part/models.py:620
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:633
+#: part/models.py:715
msgid "Duplicate IPN not allowed in part settings"
msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce"
-#: part/models.py:658
+#: part/models.py:740
msgid "Part name"
msgstr ""
-#: part/models.py:665
+#: part/models.py:747
msgid "Is Template"
msgstr ""
-#: part/models.py:666
+#: part/models.py:748
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:676
+#: part/models.py:758
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:677
+#: part/models.py:759
msgid "Variant Of"
msgstr ""
-#: part/models.py:683
+#: part/models.py:765
msgid "Part description"
msgstr ""
-#: part/models.py:688 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:259
+#: part/models.py:770 part/templates/part/category.html:97
+#: part/templates/part/detail.html:73
msgid "Keywords"
msgstr ""
-#: part/models.py:689
+#: part/models.py:771
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:696 part/models.py:2299
-#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:169
-#: templates/js/translated/part.js:927
+#: part/models.py:778 part/models.py:2223 part/models.py:2472
+#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15
+#: templates/InvenTree/settings/settings.html:163
+#: templates/js/translated/part.js:928
msgid "Category"
msgstr ""
-#: part/models.py:697
+#: part/models.py:779
msgid "Part category"
msgstr ""
-#: part/models.py:702 part/templates/part/part_base.html:235
-#: templates/js/translated/part.js:528 templates/js/translated/part.js:760
+#: part/models.py:784 part/templates/part/detail.html:45
+#: templates/js/translated/part.js:549
msgid "IPN"
msgstr "IPN"
-#: part/models.py:703
+#: part/models.py:785
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:709
+#: part/models.py:791
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:710 part/templates/part/part_base.html:252
-#: report/models.py:200 templates/js/translated/part.js:532
+#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200
+#: templates/js/translated/part.js:553
msgid "Revision"
msgstr ""
-#: part/models.py:732
+#: part/models.py:814
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:779 part/templates/part/part_base.html:297
+#: part/models.py:861 part/templates/part/detail.html:113
msgid "Default Supplier"
msgstr ""
-#: part/models.py:780
+#: part/models.py:862
msgid "Default supplier part"
msgstr ""
-#: part/models.py:787
+#: part/models.py:869
msgid "Default Expiry"
msgstr ""
-#: part/models.py:788
+#: part/models.py:870
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:793
+#: part/models.py:875 part/templates/part/part_base.html:178
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:794
+#: part/models.py:876
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:801
+#: part/models.py:883
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:807
+#: part/models.py:889
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:813
+#: part/models.py:895
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:819
+#: part/models.py:901
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:824
+#: part/models.py:906
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:911
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:833 templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:82
-#: templates/js/translated/table_filters.js:268
-#: templates/js/translated/table_filters.js:346
+#: part/models.py:915 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:362
msgid "Active"
msgstr ""
-#: part/models.py:834
+#: part/models.py:916
msgid "Is this part active?"
msgstr ""
-#: part/models.py:839
+#: part/models.py:921
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:844
+#: part/models.py:926
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "BOM checksum"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:850
+#: part/models.py:932
msgid "BOM checked by"
msgstr ""
-#: part/models.py:852
+#: part/models.py:934
msgid "BOM checked date"
msgstr ""
-#: part/models.py:856
+#: part/models.py:938
msgid "Creation User"
msgstr ""
-#: part/models.py:1605
+#: part/models.py:1750
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2100
+#: part/models.py:2273
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2117
+#: part/models.py:2290
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2137 templates/js/translated/part.js:1216
-#: templates/js/translated/stock.js:535
+#: part/models.py:2310 templates/js/translated/part.js:1355
+#: templates/js/translated/stock.js:828
msgid "Test Name"
msgstr ""
-#: part/models.py:2138
+#: part/models.py:2311
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2143
+#: part/models.py:2316
msgid "Test Description"
msgstr ""
-#: part/models.py:2144
+#: part/models.py:2317
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2149 templates/js/translated/part.js:1225
-#: templates/js/translated/table_filters.js:254
+#: part/models.py:2322 templates/js/translated/part.js:1364
+#: templates/js/translated/table_filters.js:270
msgid "Required"
msgstr ""
-#: part/models.py:2150
+#: part/models.py:2323
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2155 templates/js/translated/part.js:1233
+#: part/models.py:2328 templates/js/translated/part.js:1372
msgid "Requires Value"
msgstr ""
-#: part/models.py:2156
+#: part/models.py:2329
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2161 templates/js/translated/part.js:1240
+#: part/models.py:2334 templates/js/translated/part.js:1379
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2162
+#: part/models.py:2335
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2173
+#: part/models.py:2346
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2209
+#: part/models.py:2382
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2217
+#: part/models.py:2390
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2224
+#: part/models.py:2397
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2256 part/models.py:2305 part/models.py:2306
-#: templates/InvenTree/settings/settings.html:164
+#: part/models.py:2429 part/models.py:2478 part/models.py:2479
+#: templates/InvenTree/settings/settings.html:158
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Data"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2310 templates/InvenTree/settings/settings.html:173
+#: part/models.py:2483 templates/InvenTree/settings/settings.html:167
msgid "Default Value"
msgstr ""
-#: part/models.py:2311
+#: part/models.py:2484
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2561
msgid "Select parent part"
msgstr ""
-#: part/models.py:2370
+#: part/models.py:2569
msgid "Sub part"
msgstr ""
-#: part/models.py:2371
+#: part/models.py:2570
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2377
+#: part/models.py:2576
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2379 templates/js/translated/bom.js:275
-#: templates/js/translated/bom.js:335
+#: part/models.py:2578 templates/js/translated/bom.js:452
+#: templates/js/translated/bom.js:526
+#: templates/js/translated/table_filters.js:86
msgid "Optional"
msgstr ""
-#: part/models.py:2379
+#: part/models.py:2578
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2382
+#: part/models.py:2581
msgid "Overage"
msgstr ""
-#: part/models.py:2383
+#: part/models.py:2582
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2585
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2588
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "Checksum"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2395 templates/js/translated/bom.js:352
-#: templates/js/translated/bom.js:359
+#: part/models.py:2594 templates/js/translated/bom.js:543
+#: templates/js/translated/bom.js:550
#: templates/js/translated/table_filters.js:68
+#: templates/js/translated/table_filters.js:82
msgid "Inherited"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2595
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2401 templates/js/translated/bom.js:344
+#: part/models.py:2600 templates/js/translated/bom.js:535
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2402
+#: part/models.py:2601
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2487 stock/models.py:341
+#: part/models.py:2686 stock/models.py:371
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2496 part/models.py:2498
+#: part/models.py:2695 part/models.py:2697
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2620
+#: part/models.py:2826
+msgid "BOM Item Substitute"
+msgstr ""
+
+#: part/models.py:2848
+msgid "Substitute part cannot be the same as the master part"
+msgstr ""
+
+#: part/models.py:2860
+msgid "Parent BOM item"
+msgstr ""
+
+#: part/models.py:2868
+msgid "Substitute part"
+msgstr ""
+
+#: part/models.py:2879
msgid "Part 1"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Part 2"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2656
+#: part/models.py:2915
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
+#: part/tasks.py:53
+msgid "Low stock notification"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
-#: part/templates/part/bom.html:14
+#: part/templates/part/bom.html:15
#, python-format
msgid "The BOM for %(part)s has changed, and must be validated.
"
msgstr ""
-#: part/templates/part/bom.html:16
+#: part/templates/part/bom.html:17
#, python-format
msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s"
msgstr ""
-#: part/templates/part/bom.html:20
+#: part/templates/part/bom.html:21
#, python-format
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:27
-msgid "Remove selected BOM items"
-msgstr ""
-
-#: part/templates/part/bom.html:30
-msgid "Import BOM data"
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:383
+msgid "BOM actions"
msgstr ""
#: part/templates/part/bom.html:34
-msgid "Copy BOM from parent part"
-msgstr ""
-
-#: part/templates/part/bom.html:38
-msgid "New BOM Item"
-msgstr ""
-
-#: part/templates/part/bom.html:41
-msgid "Finish Editing"
-msgstr ""
-
-#: part/templates/part/bom.html:46
-msgid "Edit BOM"
-msgstr ""
-
-#: part/templates/part/bom.html:50
-msgid "Validate Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:56 part/views.py:1220
-msgid "Export Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:59
-msgid "Print BOM Report"
-msgstr ""
+#, fuzzy
+#| msgid "Delete Item"
+msgid "Delete Items"
+msgstr "Supprimer cet élément"
#: part/templates/part/bom_duplicate.html:13
msgid "This part already has a Bill of Materials"
@@ -4360,28 +4186,23 @@ msgstr ""
msgid "Select Part"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:13
-#: part/templates/part/bom_upload/upload_file.html:16
-msgid "Return To BOM"
-msgstr ""
-
-#: part/templates/part/bom_upload/upload_file.html:27
+#: part/templates/part/bom_upload/upload_file.html:12
msgid "Upload Bill of Materials"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:46
+#: part/templates/part/bom_upload/upload_file.html:32
msgid "Requirements for BOM upload"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "The BOM file must contain the required named columns as provided in the "
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "BOM Upload Template"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:49
+#: part/templates/part/bom_upload/upload_file.html:35
msgid "Each part must already exist in the database"
msgstr ""
@@ -4394,93 +4215,113 @@ msgstr ""
msgid "This will validate each line in the BOM."
msgstr ""
-#: part/templates/part/category.html:33
-msgid "All parts"
+#: part/templates/part/category.html:24 part/templates/part/category.html:28
+msgid "You are subscribed to notifications for this category"
+msgstr ""
+
+#: part/templates/part/category.html:32
+msgid "Subscribe to notifications for this category"
msgstr ""
#: part/templates/part/category.html:38
+msgid "Category Actions"
+msgstr ""
+
+#: part/templates/part/category.html:43
+#, fuzzy
+#| msgid "Select Category"
+msgid "Edit category"
+msgstr "Sélectionnez une catégorie"
+
+#: part/templates/part/category.html:44
+#, fuzzy
+#| msgid "Select Category"
+msgid "Edit Category"
+msgstr "Sélectionnez une catégorie"
+
+#: part/templates/part/category.html:48
+#, fuzzy
+#| msgid "Select Category"
+msgid "Delete category"
+msgstr "Sélectionnez une catégorie"
+
+#: part/templates/part/category.html:49
+#, fuzzy
+#| msgid "Select Category"
+msgid "Delete Category"
+msgstr "Sélectionnez une catégorie"
+
+#: part/templates/part/category.html:57
msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:44
-msgid "Edit part category"
+#: part/templates/part/category.html:58
+#, fuzzy
+#| msgid "Select Category"
+msgid "New Category"
+msgstr "Sélectionnez une catégorie"
+
+#: part/templates/part/category.html:67
+msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:49
-msgid "Delete part category"
-msgstr ""
-
-#: part/templates/part/category.html:59 part/templates/part/category.html:98
-msgid "Category Details"
-msgstr ""
-
-#: part/templates/part/category.html:64
+#: part/templates/part/category.html:79
msgid "Category Path"
msgstr ""
-#: part/templates/part/category.html:69
+#: part/templates/part/category.html:84
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:175
-#: part/templates/part/category_navbar.html:14
-#: part/templates/part/category_navbar.html:17
+#: part/templates/part/category.html:103 part/templates/part/category.html:194
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:93
+#: part/templates/part/category.html:108
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:126
+#: part/templates/part/category.html:145
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:142
+#: part/templates/part/category.html:146 part/templates/part/category.html:170
msgid "Export"
msgstr ""
-#: part/templates/part/category.html:130
+#: part/templates/part/category.html:149
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 templates/js/translated/bom.js:39
+#: part/templates/part/category.html:150 templates/js/translated/bom.js:40
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:141
+#: part/templates/part/category.html:168
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:142
+#: part/templates/part/category.html:170
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:146
-msgid "View list display"
-msgstr ""
-
-#: part/templates/part/category.html:149
-msgid "View grid display"
-msgstr ""
-
-#: part/templates/part/category.html:165
+#: part/templates/part/category.html:184
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:254
+#: part/templates/part/category.html:261
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:281
+#: part/templates/part/category.html:288
msgid "Create Part"
msgstr ""
@@ -4519,12 +4360,7 @@ msgstr ""
msgid "If this category is deleted, these parts will be moved to the top-level category Teile"
msgstr ""
-#: part/templates/part/category_navbar.html:29
-#: part/templates/part/category_navbar.html:32
-msgid "Import Parts"
-msgstr ""
-
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365
msgid "Duplicate Part"
msgstr ""
@@ -4549,311 +4385,317 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)"
msgstr ""
#: part/templates/part/detail.html:16
+#, fuzzy
+#| msgid "Details"
+msgid "Part Details"
+msgstr "Détails"
+
+#: part/templates/part/detail.html:66
+msgid "Minimum stock level"
+msgstr ""
+
+#: part/templates/part/detail.html:97
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/detail.html:124
msgid "Part Stock"
msgstr ""
-#: part/templates/part/detail.html:21
+#: part/templates/part/detail.html:136
#, python-format
msgid "Showing stock for all variants of %(full_name)s"
msgstr ""
-#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99
+#: part/templates/part/detail.html:146
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:36
+#: part/templates/part/detail.html:151
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:77
-msgid "New sales order"
-msgstr ""
-
-#: part/templates/part/detail.html:77
-msgid "New Order"
-msgstr ""
-
-#: part/templates/part/detail.html:90
+#: part/templates/part/detail.html:208
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27
+#: part/templates/part/detail.html:249
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:137
+#: part/templates/part/detail.html:253
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:138
+#: part/templates/part/detail.html:254
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:161
+#: part/templates/part/detail.html:281
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107
-#: part/templates/part/navbar.html:110
+#: part/templates/part/detail.html:315
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:188
+#: part/templates/part/detail.html:319 part/templates/part/detail.html:320
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43
-#: part/templates/part/navbar.html:46
+#: part/templates/part/detail.html:366
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:237
+#: part/templates/part/detail.html:371
+msgid "Export actions"
+msgstr ""
+
+#: part/templates/part/detail.html:375
+msgid "Export BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:377
+msgid "Print BOM Report"
+msgstr ""
+
+#: part/templates/part/detail.html:387
+msgid "Upload BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:389 templates/js/translated/part.js:266
+msgid "Copy BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:391 part/views.py:820
+msgid "Validate BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:396
+msgid "New BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:397
+msgid "Add BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:410
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:253
+#: part/templates/part/detail.html:427
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:260
-msgid "Start New Build"
-msgstr ""
-
-#: part/templates/part/detail.html:274
+#: part/templates/part/detail.html:452
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:283
+#: part/templates/part/detail.html:462
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:305
+#: part/templates/part/detail.html:489
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:317
+#: part/templates/part/detail.html:505
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:502
+#: part/templates/part/detail.html:686
msgid "Delete selected BOM items?"
msgstr ""
-#: part/templates/part/detail.html:503
+#: part/templates/part/detail.html:687
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:554
+#: part/templates/part/detail.html:738
msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:699
+#: part/templates/part/detail.html:876
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:755
+#: part/templates/part/detail.html:933
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:907
+#: part/templates/part/detail.html:1085
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:919
+#: part/templates/part/detail.html:1097
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:931
+#: part/templates/part/detail.html:1109
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1020
+#: part/templates/part/detail.html:1198
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
#: part/templates/part/import_wizard/ajax_part_upload.html:29
-#: part/templates/part/import_wizard/part_upload.html:51
+#: part/templates/part/import_wizard/part_upload.html:52
msgid "Unsuffitient privileges."
msgstr ""
-#: part/templates/part/import_wizard/part_upload.html:14
+#: part/templates/part/import_wizard/part_upload.html:15
msgid "Import Parts from File"
msgstr ""
-#: part/templates/part/navbar.html:30
-msgid "Variants"
-msgstr ""
-
-#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/navbar.html:70
-msgid "Prices"
-msgstr ""
-
-#: part/templates/part/navbar.html:102
-msgid "Test Templates"
-msgstr ""
-
#: part/templates/part/part_app_base.html:12
msgid "Part List"
msgstr ""
+#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31
+msgid "You are subscribed to notifications for this part"
+msgstr ""
+
#: part/templates/part/part_base.html:35
-msgid "Part is a template part (variants can be made from this part)"
+msgid "Subscribe to notifications for this part"
msgstr ""
-#: part/templates/part/part_base.html:38
-msgid "Part can be assembled from other parts"
-msgstr ""
-
-#: part/templates/part/part_base.html:41
-msgid "Part can be used in assemblies"
-msgstr ""
-
-#: part/templates/part/part_base.html:44
-msgid "Part stock is tracked by serial number"
-msgstr ""
-
-#: part/templates/part/part_base.html:47
-msgid "Part can be purchased from external suppliers"
-msgstr ""
-
-#: part/templates/part/part_base.html:50
-msgid "Part can be sold to customers"
-msgstr ""
-
-#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504
-#: templates/js/translated/company.js:761 templates/js/translated/part.js:443
-#: templates/js/translated/part.js:520
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:73
-msgid "Star this part"
-msgstr ""
-
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:75
-#: stock/templates/stock/location.html:51
+#: part/templates/part/part_base.html:43
+#: stock/templates/stock/item_base.html:28
+#: stock/templates/stock/location.html:29
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:82
-#: stock/templates/stock/item_base.html:77
-#: stock/templates/stock/location.html:53 templates/qr_button.html:1
+#: part/templates/part/part_base.html:45
+#: stock/templates/stock/item_base.html:32
+#: stock/templates/stock/location.html:31 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:83
-#: stock/templates/stock/item_base.html:93
-#: stock/templates/stock/location.html:54
+#: part/templates/part/part_base.html:46
+#: stock/templates/stock/item_base.html:48
+#: stock/templates/stock/location.html:32
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:89
+#: part/templates/part/part_base.html:51
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:95
-#: stock/templates/stock/item_base.html:142
-#: stock/templates/stock/location.html:62
+#: part/templates/part/part_base.html:56
+#: stock/templates/stock/item_base.html:103
+#: stock/templates/stock/location.html:40
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:102
+#: part/templates/part/part_base.html:63
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:108
+#: part/templates/part/part_base.html:69
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:125
+#: part/templates/part/part_base.html:84
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:128
+#: part/templates/part/part_base.html:87
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:131
+#: part/templates/part/part_base.html:90
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:134
+#: part/templates/part/part_base.html:93
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:146
+#: part/templates/part/part_base.html:109
+msgid "Part is a template part (variants can be made from this part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:113
+msgid "Part can be assembled from other parts"
+msgstr ""
+
+#: part/templates/part/part_base.html:117
+msgid "Part can be used in assemblies"
+msgstr ""
+
+#: part/templates/part/part_base.html:121
+msgid "Part stock is tracked by serial number"
+msgstr ""
+
+#: part/templates/part/part_base.html:125
+msgid "Part can be purchased from external suppliers"
+msgstr ""
+
+#: part/templates/part/part_base.html:129
+msgid "Part can be sold to customers"
+msgstr ""
+
+#: part/templates/part/part_base.html:135
+#: part/templates/part/part_base.html:143
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:136
+#: templates/js/translated/company.js:504
+#: templates/js/translated/company.js:761
+#: templates/js/translated/model_renderers.js:175
+#: templates/js/translated/part.js:464 templates/js/translated/part.js:541
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:155
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:161
-#: templates/js/translated/model_renderers.js:169
-#: templates/js/translated/order.js:1503
-#: templates/js/translated/table_filters.js:166
+#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524
+#: templates/js/translated/table_filters.js:182
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960
+#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961
msgid "On Order"
msgstr ""
-#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:181
+#: part/templates/part/part_base.html:199
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:188
+#: part/templates/part/part_base.html:206
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373
+#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776
-#: templates/js/translated/part.js:964
+#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793
+#: templates/js/translated/part.js:965
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:223
-#: part/templates/part/part_base.html:531
-#: part/templates/part/part_base.html:557
-msgid "Show Part Details"
-msgstr ""
-
-#: part/templates/part/part_base.html:283
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144
+#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:445
+#: part/templates/part/part_base.html:363
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:526
-#: part/templates/part/part_base.html:551
-msgid "Hide Part Details"
-msgstr ""
-
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4877,7 +4719,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
-#: templates/js/translated/bom.js:327
+#: templates/js/translated/bom.js:518
msgid "No supplier pricing available"
msgstr ""
@@ -4911,13 +4753,14 @@ msgstr ""
msgid "No pricing information is available for this part."
msgstr ""
-#: part/templates/part/part_thumb.html:20
+#: part/templates/part/part_thumb.html:11
msgid "Select from existing images"
msgstr ""
#: part/templates/part/partial_delete.html:9
#, python-format
-msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
+msgid ""
+"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
"
Disable the \"Active\" part attribute and re-try.\n"
" "
msgstr ""
@@ -4980,7 +4823,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321
+#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512
msgid "Supplier Cost"
msgstr ""
@@ -5002,7 +4845,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:215 part/views.py:1801
+#: part/templates/part/prices.html:215 part/views.py:1853
msgid "Add Internal Price Break"
msgstr ""
@@ -5022,13 +4865,13 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297
-#: templates/js/translated/model_renderers.js:167
-#: templates/js/translated/part.js:766 templates/js/translated/part.js:968
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474
+#: templates/js/translated/part.js:428 templates/js/translated/part.js:783
+#: templates/js/translated/part.js:969
msgid "No Stock"
msgstr ""
-#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166
+#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158
msgid "Low Stock"
msgstr ""
@@ -5041,135 +4884,140 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:106
+#: part/templatetags/inventree_extras.py:113
msgid "Unknown database"
msgstr ""
-#: part/views.py:94
+#: part/views.py:95
msgid "Add Related Part"
msgstr ""
-#: part/views.py:149
+#: part/views.py:150
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:160
+#: part/views.py:161
msgid "Set Part Category"
msgstr ""
-#: part/views.py:210
+#: part/views.py:211
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:270
+#: part/views.py:283
msgid "Match References"
msgstr ""
-#: part/views.py:526
+#: part/views.py:567
msgid "None"
msgstr ""
-#: part/views.py:585
+#: part/views.py:626
msgid "Part QR Code"
msgstr ""
-#: part/views.py:687
+#: part/views.py:728
msgid "Select Part Image"
msgstr ""
-#: part/views.py:713
+#: part/views.py:754
msgid "Updated part image"
msgstr ""
-#: part/views.py:716
+#: part/views.py:757
msgid "Part image not found"
msgstr ""
-#: part/views.py:728
+#: part/views.py:769
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:758
+#: part/views.py:799
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:779
-msgid "Validate BOM"
-msgstr ""
-
-#: part/views.py:800
+#: part/views.py:841
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:811
+#: part/views.py:852
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:884
+#: part/views.py:925
msgid "Match Parts"
msgstr ""
-#: part/views.py:1272
+#: part/views.py:1261
+msgid "Export Bill of Materials"
+msgstr ""
+
+#: part/views.py:1313
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1279
+#: part/views.py:1320
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1288
+#: part/views.py:1329
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1437
+#: part/views.py:1478
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1447
+#: part/views.py:1488
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1454
+#: part/views.py:1495
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1502 templates/js/translated/part.js:308
+#: part/views.py:1554 templates/js/translated/part.js:309
msgid "Edit Part Category"
msgstr ""
-#: part/views.py:1540
+#: part/views.py:1592
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1546
+#: part/views.py:1598
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1555
+#: part/views.py:1607
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1656
+#: part/views.py:1708
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1712
+#: part/views.py:1764
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:1734
+#: part/views.py:1786
msgid "Added new price break"
msgstr ""
-#: part/views.py:1810
+#: part/views.py:1862
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:1818
+#: part/views.py:1870
msgid "Delete Internal Price Break"
msgstr ""
+#: report/api.py:234 report/api.py:278
+#, python-brace-format
+msgid "Template file '{filename}' is missing or does not exist"
+msgstr ""
+
#: report/models.py:182
msgid "Template name"
msgstr ""
@@ -5206,51 +5054,51 @@ msgstr ""
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:380
+#: report/models.py:382
msgid "Build Filters"
msgstr ""
-#: report/models.py:381
+#: report/models.py:383
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:423
+#: report/models.py:425
msgid "Part Filters"
msgstr ""
-#: report/models.py:424
+#: report/models.py:426
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:458
+#: report/models.py:460
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:496
+#: report/models.py:498
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:546
+#: report/models.py:548
msgid "Snippet"
msgstr ""
-#: report/models.py:547
+#: report/models.py:549
msgid "Report snippet file"
msgstr ""
-#: report/models.py:551
+#: report/models.py:553
msgid "Snippet file description"
msgstr ""
-#: report/models.py:586
+#: report/models.py:588
msgid "Asset"
msgstr ""
-#: report/models.py:587
+#: report/models.py:589
msgid "Report asset file"
msgstr ""
-#: report/models.py:590
+#: report/models.py:592
msgid "Asset file description"
msgstr ""
@@ -5267,543 +5115,584 @@ msgstr ""
msgid "Stock Item Test Report"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:83
-msgid "Test Results"
+#: report/templates/report/inventree_test_report_base.html:79
+#: stock/models.py:530 stock/templates/stock/item_base.html:238
+#: templates/js/translated/build.js:233 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1013
+#: templates/js/translated/model_renderers.js:95
+#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355
+msgid "Serial Number"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:1804
+msgid "Test Results"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:93
+#: stock/models.py:1855
msgid "Test"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:89
-#: stock/models.py:1810
+#: report/templates/report/inventree_test_report_base.html:94
+#: stock/models.py:1861
msgid "Result"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502
+#: report/templates/report/inventree_test_report_base.html:97
+#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887
msgid "Date"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:103
+#: report/templates/report/inventree_test_report_base.html:108
msgid "Pass"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:105
+#: report/templates/report/inventree_test_report_base.html:110
msgid "Fail"
msgstr ""
-#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556
-#: stock/templates/stock/item_base.html:395
-#: templates/js/translated/stock.js:946
+#: report/templates/report/inventree_test_report_base.html:123
+msgid "Installed Items"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:137
+#: templates/js/translated/stock.js:2147
+msgid "Serial"
+msgstr ""
+
+#: stock/api.py:422
+msgid "Quantity is required"
+msgstr ""
+
+#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587
+#: stock/templates/stock/item_base.html:382
+#: templates/js/translated/stock.js:1246
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:308
+#: stock/forms.py:92 stock/forms.py:266
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:83
+#: stock/forms.py:95
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:134
+#: stock/forms.py:150
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:138 stock/forms.py:282
+#: stock/forms.py:154 stock/forms.py:238
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:168 stock/forms.py:224
-msgid "Select test report template"
-msgstr ""
-
-#: stock/forms.py:240
+#: stock/forms.py:194
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:270
+#: stock/forms.py:224
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:280
+#: stock/forms.py:236
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm removal of installed stock items"
msgstr ""
-#: stock/models.py:57 stock/models.py:593
+#: stock/models.py:60 stock/models.py:624
+#: stock/templates/stock/item_base.html:422
msgid "Owner"
msgstr ""
-#: stock/models.py:58 stock/models.py:594
+#: stock/models.py:61 stock/models.py:625
msgid "Select Owner"
msgstr ""
-#: stock/models.py:322
+#: stock/models.py:352
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:358
+#: stock/models.py:388
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:368 stock/models.py:377
+#: stock/models.py:398 stock/models.py:407
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:369
+#: stock/models.py:399
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:391
+#: stock/models.py:421
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:397
+#: stock/models.py:427
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:404
+#: stock/models.py:434
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:446
+#: stock/models.py:476
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:455
+#: stock/models.py:485
msgid "Base part"
msgstr ""
-#: stock/models.py:464
+#: stock/models.py:493
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8
+#: stock/models.py:498 stock/templates/stock/location.html:12
+#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:472
+#: stock/models.py:501
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:479
+#: stock/models.py:508
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:484 stock/templates/stock/item_base.html:284
+#: stock/models.py:513 stock/templates/stock/item_base.html:271
msgid "Installed In"
msgstr ""
-#: stock/models.py:487
+#: stock/models.py:516
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:503
+#: stock/models.py:532
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:515
+#: stock/models.py:546
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:519
+#: stock/models.py:550
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:528
+#: stock/models.py:559
msgid "Source Build"
msgstr ""
-#: stock/models.py:530
+#: stock/models.py:561
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:541
+#: stock/models.py:572
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:544
+#: stock/models.py:575
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:550
+#: stock/models.py:581
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:557
+#: stock/models.py:588
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:580 stock/templates/stock/item.html:99
-#: stock/templates/stock/navbar.html:54
+#: stock/models.py:611 stock/templates/stock/item.html:111
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:589
+#: stock/models.py:620
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:599
+#: stock/models.py:630
msgid "Scheduled for deletion"
msgstr ""
-#: stock/models.py:600
+#: stock/models.py:631
msgid "This StockItem will be deleted by the background worker"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1094
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1069
+#: stock/models.py:1100
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1075
+#: stock/models.py:1106
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1078
+#: stock/models.py:1109
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1081
+#: stock/models.py:1112
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1088
+#: stock/models.py:1119
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1246
+#: stock/models.py:1277
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:1724
+#: stock/models.py:1775
msgid "Entry notes"
msgstr ""
-#: stock/models.py:1781
+#: stock/models.py:1832
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:1787
+#: stock/models.py:1838
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:1805
+#: stock/models.py:1856
msgid "Test name"
msgstr ""
-#: stock/models.py:1811 templates/js/translated/table_filters.js:244
+#: stock/models.py:1862 templates/js/translated/table_filters.js:260
msgid "Test result"
msgstr ""
-#: stock/models.py:1817
+#: stock/models.py:1868
msgid "Test output value"
msgstr ""
-#: stock/models.py:1824
+#: stock/models.py:1875
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:1830
+#: stock/models.py:1881
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:424
-msgid "StockItem primary key value"
+#: stock/serializers.py:166
+msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:452
-msgid "Stock transaction notes"
+#: stock/serializers.py:173
+msgid "Purchase currency of this stock item"
msgstr ""
-#: stock/serializers.py:462
-msgid "A list of stock items must be provided"
+#: stock/serializers.py:287
+msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:554
+#: stock/serializers.py:302
+#, python-brace-format
+msgid "Quantity must not exceed available stock quantity ({q})"
+msgstr ""
+
+#: stock/serializers.py:308
+#, fuzzy
+#| msgid "No serial numbers found"
+msgid "Enter serial numbers for new items"
+msgstr "Aucun numéro de série trouvé"
+
+#: stock/serializers.py:319 stock/serializers.py:687
msgid "Destination stock location"
msgstr ""
-#: stock/templates/stock/item.html:17
+#: stock/serializers.py:326
+msgid "Optional note field"
+msgstr ""
+
+#: stock/serializers.py:339
+msgid "Serial numbers cannot be assigned to this part"
+msgstr ""
+
+#: stock/serializers.py:557
+msgid "StockItem primary key value"
+msgstr ""
+
+#: stock/serializers.py:585
+msgid "Stock transaction notes"
+msgstr ""
+
+#: stock/serializers.py:595
+msgid "A list of stock items must be provided"
+msgstr ""
+
+#: stock/templates/stock/item.html:18
msgid "Stock Tracking Information"
msgstr ""
-#: stock/templates/stock/item.html:30
+#: stock/templates/stock/item.html:29
msgid "New Entry"
msgstr ""
-#: stock/templates/stock/item.html:43
+#: stock/templates/stock/item.html:48
msgid "Child Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:50
+#: stock/templates/stock/item.html:55
msgid "This stock item does not have any child items"
msgstr ""
-#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19
-#: stock/templates/stock/navbar.html:22
+#: stock/templates/stock/item.html:64
msgid "Test Data"
msgstr ""
-#: stock/templates/stock/item.html:66
-msgid "Delete Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:70
-msgid "Add Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95
+#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50
msgid "Test Report"
msgstr ""
-#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27
+#: stock/templates/stock/item.html:72
+msgid "Delete Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:76
+msgid "Add Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:133
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:125 stock/views.py:511
+#: stock/templates/stock/item.html:137 stock/views.py:515
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326
+#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:346
+#: stock/templates/stock/item.html:363
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:360
+#: stock/templates/stock/item.html:377
msgid "Delete Test Result"
msgstr ""
-#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:399
-#: templates/js/translated/table_filters.js:225
-msgid "Expired"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:401
-#: templates/js/translated/table_filters.js:231
-msgid "Stale"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:80
-#: templates/js/translated/barcode.js:331
-#: templates/js/translated/barcode.js:336
+#: stock/templates/stock/item_base.html:35
+#: templates/js/translated/barcode.js:330
+#: templates/js/translated/barcode.js:335
msgid "Unlink Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/item_base.html:37
msgid "Link Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31
+#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24
msgid "Scan to Location"
msgstr ""
-#: stock/templates/stock/item_base.html:91
+#: stock/templates/stock/item_base.html:46
msgid "Printing actions"
msgstr ""
-#: stock/templates/stock/item_base.html:104
+#: stock/templates/stock/item_base.html:65
msgid "Stock adjustment actions"
msgstr ""
-#: stock/templates/stock/item_base.html:108
-#: stock/templates/stock/location.html:69 templates/stock_table.html:57
+#: stock/templates/stock/item_base.html:69
+#: stock/templates/stock/location.html:47 templates/stock_table.html:50
msgid "Count stock"
msgstr ""
-#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55
+#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48
msgid "Add stock"
msgstr ""
-#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56
+#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49
msgid "Remove stock"
msgstr ""
-#: stock/templates/stock/item_base.html:117
+#: stock/templates/stock/item_base.html:78
msgid "Serialize stock"
msgstr ""
-#: stock/templates/stock/item_base.html:121
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/location.html:53
msgid "Transfer stock"
msgstr ""
-#: stock/templates/stock/item_base.html:124
+#: stock/templates/stock/item_base.html:85
msgid "Assign to customer"
msgstr ""
-#: stock/templates/stock/item_base.html:127
+#: stock/templates/stock/item_base.html:88
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install"
msgstr ""
-#: stock/templates/stock/item_base.html:145
+#: stock/templates/stock/item_base.html:106
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:109
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:150
+#: stock/templates/stock/item_base.html:111
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:153
+#: stock/templates/stock/item_base.html:114
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:173
+#: stock/templates/stock/item_base.html:136
+#: stock/templates/stock/item_base.html:386
+#: templates/js/translated/table_filters.js:241
+msgid "Expired"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/table_filters.js:247
+msgid "Stale"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:161
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:180
+#: stock/templates/stock/item_base.html:168
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:181
+#: stock/templates/stock/item_base.html:169
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:194
+#: stock/templates/stock/item_base.html:182
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:202
+#: stock/templates/stock/item_base.html:190
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:210
+#: stock/templates/stock/item_base.html:198
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:216
+#: stock/templates/stock/item_base.html:204
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:220
+#: stock/templates/stock/item_base.html:208
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:224
+#: stock/templates/stock/item_base.html:212
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:232
-msgid "Stock Item Details"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:241
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:260
+#: stock/templates/stock/item_base.html:247
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:303
-#: templates/js/translated/build.js:658
+#: stock/templates/stock/item_base.html:290
+#: templates/js/translated/build.js:1035
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:310
+#: stock/templates/stock/item_base.html:297
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:352
+#: stock/templates/stock/item_base.html:339
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:370
+#: stock/templates/stock/item_base.html:357
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:399
+#: stock/templates/stock/item_base.html:386
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:401
+#: stock/templates/stock/item_base.html:388
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:408
-#: templates/js/translated/stock.js:959
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1259
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:413
+#: stock/templates/stock/item_base.html:400
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:417
+#: stock/templates/stock/item_base.html:404
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:428
+#: stock/templates/stock/item_base.html:415
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:516
-msgid "Save"
-msgstr "Enregistrer"
-
-#: stock/templates/stock/item_base.html:528
+#: stock/templates/stock/item_base.html:504
msgid "Edit Stock Status"
msgstr ""
@@ -5857,106 +5746,68 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:20
-msgid "You are not in the list of owners of this location. This stock location cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/location.html:37
-msgid "All stock items"
-msgstr ""
-
-#: stock/templates/stock/location.html:42
-msgid "Create new stock location"
-msgstr ""
-
-#: stock/templates/stock/location.html:55
+#: stock/templates/stock/location.html:33
msgid "Check-in Items"
msgstr ""
-#: stock/templates/stock/location.html:83
+#: stock/templates/stock/location.html:61
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:85
+#: stock/templates/stock/location.html:63
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:87
+#: stock/templates/stock/location.html:65
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:99
-msgid "Location Details"
+#: stock/templates/stock/location.html:75
+msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:104
-msgid "Location Path"
+#: stock/templates/stock/location.html:76
+msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:109
-msgid "Location Description"
+#: stock/templates/stock/location.html:86
+msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:114
-#: stock/templates/stock/location.html:155
-#: stock/templates/stock/location_navbar.html:11
-#: stock/templates/stock/location_navbar.html:14
+#: stock/templates/stock/location.html:95
+msgid "You are not in the list of owners of this location. This stock location cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/location.html:113
+#: stock/templates/stock/location.html:160
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:124
-msgid "Stock Details"
+#: stock/templates/stock/location.html:118
+#: stock/templates/stock/location.html:132
+#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158
+#: templates/js/translated/stock.js:1871 templates/stats.html:93
+#: templates/stats.html:102 users/models.py:43
+msgid "Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196
+#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170
#: templates/stats.html:97 users/models.py:42
msgid "Stock Locations"
msgstr ""
-#: stock/templates/stock/location.html:162 templates/stock_table.html:37
+#: stock/templates/stock/location.html:167 templates/stock_table.html:30
msgid "Printing Actions"
msgstr ""
-#: stock/templates/stock/location.html:166 templates/stock_table.html:41
+#: stock/templates/stock/location.html:171 templates/stock_table.html:34
msgid "Print labels"
msgstr ""
-#: stock/templates/stock/location.html:250
-msgid "New Location"
-msgstr ""
-
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
-msgstr ""
-
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: stock/templates/stock/navbar.html:11
-msgid "Stock Item Tracking"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:14
-msgid "History"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:30
-msgid "Installed Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:38
-msgid "Child Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:41
-msgid "Children"
-msgstr ""
-
-#: stock/templates/stock/stock_adjust.html:43
-msgid "Remove item"
-msgstr ""
-
#: stock/templates/stock/stock_app_base.html:16
msgid "Loading..."
msgstr ""
@@ -5965,7 +5816,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912
msgid "Convert Stock Item"
msgstr ""
@@ -5986,104 +5837,100 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:158
+#: stock/views.py:162
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:265 stock/views.py:888 stock/views.py:1010
-#: stock/views.py:1375
+#: stock/views.py:269 stock/views.py:891 stock/views.py:1017
+#: stock/views.py:1299
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:280
+#: stock/views.py:284
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:299
+#: stock/views.py:303
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:308
+#: stock/views.py:312
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:332
+#: stock/views.py:336
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:345
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:352
+#: stock/views.py:356
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:363
+#: stock/views.py:367
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:380
+#: stock/views.py:384
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:485
+#: stock/views.py:489
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:660
+#: stock/views.py:663
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:757 templates/js/translated/stock.js:321
+#: stock/views.py:760 templates/js/translated/stock.js:618
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:768
+#: stock/views.py:771
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:790
+#: stock/views.py:793 templates/js/translated/stock.js:288
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:936
+#: stock/views.py:943
msgid "Create new Stock Location"
msgstr ""
-#: stock/views.py:1027
-msgid "Serialize Stock"
-msgstr ""
-
-#: stock/views.py:1120
+#: stock/views.py:1044
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1262
+#: stock/views.py:1186 templates/js/translated/stock.js:268
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1344
+#: stock/views.py:1268
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1444
+#: stock/views.py:1368
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1457
+#: stock/views.py:1381
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1468
+#: stock/views.py:1392
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1475
+#: stock/views.py:1399
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1484
+#: stock/views.py:1408
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6107,63 +5954,67 @@ msgstr ""
msgid "Index"
msgstr ""
-#: templates/InvenTree/index.html:105
-msgid "Starred Parts"
+#: templates/InvenTree/index.html:88
+msgid "Subscribed Parts"
msgstr ""
-#: templates/InvenTree/index.html:115
+#: templates/InvenTree/index.html:98
+msgid "Subscribed Categories"
+msgstr ""
+
+#: templates/InvenTree/index.html:108
msgid "Latest Parts"
msgstr ""
-#: templates/InvenTree/index.html:126
+#: templates/InvenTree/index.html:119
msgid "BOM Waiting Validation"
msgstr ""
-#: templates/InvenTree/index.html:153
+#: templates/InvenTree/index.html:145
msgid "Recently Updated"
msgstr ""
-#: templates/InvenTree/index.html:176
+#: templates/InvenTree/index.html:168
msgid "Depleted Stock"
msgstr ""
-#: templates/InvenTree/index.html:199
+#: templates/InvenTree/index.html:191
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:202
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:232
+#: templates/InvenTree/index.html:224
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:243
+#: templates/InvenTree/index.html:235
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:263
+#: templates/InvenTree/index.html:255
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:274
+#: templates/InvenTree/index.html:266
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:294
+#: templates/InvenTree/index.html:286
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:305
+#: templates/InvenTree/index.html:297
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14
+#: templates/InvenTree/search.html:8
msgid "Search Results"
msgstr ""
-#: templates/InvenTree/search.html:24
+#: templates/InvenTree/search.html:22
msgid "Enter a search query"
msgstr ""
@@ -6183,23 +6034,23 @@ msgstr ""
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:23
+#: templates/InvenTree/settings/currencies.html:19
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:27
+#: templates/InvenTree/settings/currencies.html:24
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:37
+#: templates/InvenTree/settings/currencies.html:38
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:43
+#: templates/InvenTree/settings/currencies.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:48
+#: templates/InvenTree/settings/currencies.html:49
msgid "Update Now"
msgstr ""
@@ -6207,147 +6058,76 @@ msgstr ""
msgid "Server Settings"
msgstr ""
-#: templates/InvenTree/settings/header.html:7
-msgid "Setting"
-msgstr ""
-
#: templates/InvenTree/settings/login.html:9
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:12
-#: templates/InvenTree/settings/user_settings.html:9
-msgid "User Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:15
-#: templates/InvenTree/settings/navbar.html:17
-msgid "Account"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:21
-#: templates/InvenTree/settings/navbar.html:23
-msgid "Home Page"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29
-#: templates/js/translated/tables.js:375 templates/search_form.html:6
-#: templates/search_form.html:8
-msgid "Search"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:33
-#: templates/InvenTree/settings/navbar.html:35
-msgid "Labels"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:39
-#: templates/InvenTree/settings/navbar.html:41
-msgid "Reports"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:45
-#: templates/InvenTree/settings/navbar.html:47
-msgid "Forms"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:52
-#: templates/InvenTree/settings/navbar.html:54
-#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90
-msgid "Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:62
-msgid "InvenTree Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:65
-#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87
-msgid "Login"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:77
-#: templates/InvenTree/settings/navbar.html:79
-msgid "Barcodes"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85
-msgid "Currencies"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91
-msgid "Reporting"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103
-msgid "Categories"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:7
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:12
-msgid "Part Options"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:43
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:47
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:59
+#: templates/InvenTree/settings/part.html:61
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/po.html:9
+#: templates/InvenTree/settings/po.html:7
msgid "Purchase Order Settings"
msgstr ""
-#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:29
+#: templates/InvenTree/settings/setting.html:28
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:41
+#: templates/InvenTree/settings/setting.html:39
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:154
+#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93
+msgid "Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+msgid "Edit Global Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+#, fuzzy
+#| msgid "Edit User Information"
+msgid "Edit User Setting"
+msgstr "Modifier les informations utilisateur"
+
+#: templates/InvenTree/settings/settings.html:148
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:176
-#: templates/InvenTree/settings/settings.html:275
+#: templates/InvenTree/settings/settings.html:170
+#: templates/InvenTree/settings/settings.html:269
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:177
-#: templates/InvenTree/settings/settings.html:276
+#: templates/InvenTree/settings/settings.html:171
+#: templates/InvenTree/settings/settings.html:270
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:255
+#: templates/InvenTree/settings/settings.html:249
msgid "No part parameter templates found"
msgstr ""
@@ -6363,134 +6143,158 @@ msgstr ""
msgid "Account Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:19
+#: templates/InvenTree/settings/user.html:18
#: templates/js/translated/helpers.js:26
msgid "Edit"
msgstr ""
-#: templates/InvenTree/settings/user.html:21
+#: templates/InvenTree/settings/user.html:20
#: templates/account/password_reset_from_key.html:4
#: templates/account/password_reset_from_key.html:7
msgid "Change Password"
msgstr ""
-#: templates/InvenTree/settings/user.html:28
+#: templates/InvenTree/settings/user.html:31
msgid "Username"
msgstr ""
-#: templates/InvenTree/settings/user.html:32
+#: templates/InvenTree/settings/user.html:35
msgid "First Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:36
+#: templates/InvenTree/settings/user.html:39
msgid "Last Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:42
-msgid "E-Mail"
+#: templates/InvenTree/settings/user.html:54
+msgid "The following email addresses are associated with your account:"
msgstr ""
-#: templates/InvenTree/settings/user.html:47
-msgid "The following e-mail addresses are associated with your account:"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:61
+#: templates/InvenTree/settings/user.html:74
msgid "Verified"
msgstr ""
-#: templates/InvenTree/settings/user.html:63
+#: templates/InvenTree/settings/user.html:76
msgid "Unverified"
msgstr ""
-#: templates/InvenTree/settings/user.html:65
+#: templates/InvenTree/settings/user.html:78
msgid "Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:71
+#: templates/InvenTree/settings/user.html:84
msgid "Make Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:72
+#: templates/InvenTree/settings/user.html:85
msgid "Re-send Verification"
msgstr ""
-#: templates/InvenTree/settings/user.html:73
-#: templates/InvenTree/settings/user.html:130
+#: templates/InvenTree/settings/user.html:86
+#: templates/InvenTree/settings/user.html:153
msgid "Remove"
msgstr ""
-#: templates/InvenTree/settings/user.html:80
+#: templates/InvenTree/settings/user.html:93
msgid "Warning:"
msgstr ""
-#: templates/InvenTree/settings/user.html:81
-msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc."
+#: templates/InvenTree/settings/user.html:94
+msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc."
msgstr ""
-#: templates/InvenTree/settings/user.html:88
-msgid "Add E-mail Address"
+#: templates/InvenTree/settings/user.html:101
+msgid "Add Email Address"
msgstr ""
-#: templates/InvenTree/settings/user.html:93
-msgid "Add E-mail"
+#: templates/InvenTree/settings/user.html:111
+msgid "Enter e-mail address"
msgstr ""
-#: templates/InvenTree/settings/user.html:100
+#: templates/InvenTree/settings/user.html:113
+msgid "Add Email"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:123
msgid "Social Accounts"
msgstr ""
-#: templates/InvenTree/settings/user.html:105
+#: templates/InvenTree/settings/user.html:128
msgid "You can sign in to your account using any of the following third party accounts:"
msgstr ""
-#: templates/InvenTree/settings/user.html:138
-msgid "You currently have no social network accounts connected to this account."
+#: templates/InvenTree/settings/user.html:162
+msgid "There are no social network accounts connected to your InvenTree account"
msgstr ""
-#: templates/InvenTree/settings/user.html:142
+#: templates/InvenTree/settings/user.html:167
msgid "Add a 3rd Party Account"
msgstr ""
-#: templates/InvenTree/settings/user.html:153
-msgid "Theme Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:174
-msgid "Set Theme"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:181
+#: templates/InvenTree/settings/user.html:177
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:200
+#: templates/InvenTree/settings/user.html:186
+#, fuzzy
+#| msgid "Select Category"
+msgid "Select language"
+msgstr "Sélectionnez une catégorie"
+
+#: templates/InvenTree/settings/user.html:202
#, python-format
msgid "%(lang_translated)s%% translated"
msgstr ""
-#: templates/InvenTree/settings/user.html:202
+#: templates/InvenTree/settings/user.html:204
msgid "No translations available"
msgstr ""
-#: templates/InvenTree/settings/user.html:209
+#: templates/InvenTree/settings/user.html:211
msgid "Set Language"
msgstr ""
-#: templates/InvenTree/settings/user.html:214
-msgid "Help the translation efforts!"
+#: templates/InvenTree/settings/user.html:213
+msgid "Some languages are not complete"
msgstr ""
#: templates/InvenTree/settings/user.html:215
+msgid "Show only sufficent"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:217
+msgid "Show them too"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:224
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:225
#, python-format
msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
msgstr ""
-#: templates/InvenTree/settings/user.html:223
-msgid "Do you really want to remove the selected e-mail address?"
+#: templates/InvenTree/settings/user.html:233
+msgid "Do you really want to remove the selected email address?"
msgstr ""
-#: templates/InvenTree/settings/user_forms.html:9
-msgid "Form Settings"
+#: templates/InvenTree/settings/user_display.html:9
+msgid "Display Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:25
+msgid "Theme Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:35
+#, fuzzy
+#| msgid "Select Category"
+msgid "Select theme"
+msgstr "Sélectionnez une catégorie"
+
+#: templates/InvenTree/settings/user_display.html:46
+msgid "Set Theme"
msgstr ""
#: templates/InvenTree/settings/user_homepage.html:9
@@ -6505,124 +6309,139 @@ msgstr ""
msgid "Search Settings"
msgstr ""
-#: templates/about.html:13
+#: templates/InvenTree/settings/user_settings.html:9
+msgid "User Settings"
+msgstr ""
+
+#: templates/about.html:10
msgid "InvenTree Version Information"
msgstr ""
-#: templates/about.html:22
+#: templates/about.html:11 templates/about.html:105
+#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:964 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
+msgid "Close"
+msgstr ""
+
+#: templates/about.html:20
msgid "InvenTree Version"
msgstr ""
-#: templates/about.html:27
+#: templates/about.html:25
msgid "Development Version"
msgstr ""
-#: templates/about.html:30
+#: templates/about.html:28
msgid "Up to Date"
msgstr ""
-#: templates/about.html:32
+#: templates/about.html:30
msgid "Update Available"
msgstr ""
-#: templates/about.html:42
+#: templates/about.html:40
msgid "Commit Hash"
msgstr ""
-#: templates/about.html:49
+#: templates/about.html:47
msgid "Commit Date"
msgstr ""
-#: templates/about.html:55
+#: templates/about.html:53
msgid "InvenTree Documentation"
msgstr ""
-#: templates/about.html:60
+#: templates/about.html:58
msgid "API Version"
msgstr ""
-#: templates/about.html:65
+#: templates/about.html:63
msgid "Python Version"
msgstr ""
-#: templates/about.html:70
+#: templates/about.html:68
msgid "Django Version"
msgstr ""
-#: templates/about.html:75
+#: templates/about.html:73
msgid "View Code on GitHub"
msgstr ""
-#: templates/about.html:80
+#: templates/about.html:78
msgid "Credits"
msgstr ""
-#: templates/about.html:85
+#: templates/about.html:83
msgid "Mobile App"
msgstr ""
-#: templates/about.html:90
+#: templates/about.html:88
msgid "Submit Bug Report"
msgstr ""
-#: templates/about.html:97 templates/clip.html:4
+#: templates/about.html:95 templates/clip.html:4
msgid "copy to clipboard"
msgstr ""
-#: templates/about.html:97
+#: templates/about.html:95
msgid "copy version information"
msgstr ""
-#: templates/about.html:107 templates/js/translated/modals.js:50
-#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678
-#: templates/js/translated/modals.js:982 templates/modals.html:29
-#: templates/modals.html:54
-msgid "Close"
-msgstr ""
-
#: templates/account/email_confirm.html:6
#: templates/account/email_confirm.html:10
-msgid "Confirm E-mail Address"
+msgid "Confirm Email Address"
msgstr ""
#: templates/account/email_confirm.html:16
#, python-format
-msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s."
+msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
#: templates/account/email_confirm.html:27
#, python-format
-msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request."
+msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:5 templates/account/login.html:14
-#: templates/account/login.html:36
+#: templates/account/login.html:6 templates/account/login.html:16
+#: templates/account/login.html:39
msgid "Sign In"
msgstr ""
-#: templates/account/login.html:19
+#: templates/account/login.html:21
#, python-format
-msgid "Please sign in with one\n"
+msgid ""
+"Please sign in with one\n"
"of your existing third party accounts or sign up\n"
"for a account and sign in below:"
msgstr ""
-#: templates/account/login.html:23
+#: templates/account/login.html:25
#, python-format
-msgid "If you have not created an account yet, then please\n"
+msgid ""
+"If you have not created an account yet, then please\n"
"sign up first."
msgstr ""
-#: templates/account/login.html:38
+#: templates/account/login.html:42
msgid "Forgot Password?"
msgstr ""
-#: templates/account/login.html:45
+#: templates/account/login.html:47
+msgid "InvenTree demo instance"
+msgstr ""
+
+#: templates/account/login.html:47
+msgid "Click here for login details"
+msgstr ""
+
+#: templates/account/login.html:55
msgid "or use SSO"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
-#: templates/account/logout.html:17
+#: templates/account/logout.html:20
msgid "Sign Out"
msgstr ""
@@ -6630,13 +6449,17 @@ msgstr ""
msgid "Are you sure you want to sign out?"
msgstr ""
+#: templates/account/logout.html:19
+msgid "Back to Site"
+msgstr ""
+
#: templates/account/password_reset.html:5
#: templates/account/password_reset.html:12
msgid "Password Reset"
msgstr ""
#: templates/account/password_reset.html:18
-msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it."
+msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it."
msgstr ""
#: templates/account/password_reset.html:23
@@ -6656,11 +6479,13 @@ msgstr ""
msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
msgstr ""
-#: templates/account/password_reset_from_key.html:17
-msgid "change password"
-msgstr ""
+#: templates/account/password_reset_from_key.html:18
+#, fuzzy
+#| msgid "Enter password"
+msgid "Change password"
+msgstr "Entrer le mot de passe"
-#: templates/account/password_reset_from_key.html:20
+#: templates/account/password_reset_from_key.html:22
msgid "Your password is now changed."
msgstr ""
@@ -6677,6 +6502,81 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/admin_button.html:2
+msgid "View in administration panel"
+msgstr ""
+
+#: templates/base.html:96
+msgid "Server Restart Required"
+msgstr ""
+
+#: templates/base.html:99
+msgid "A configuration option has been changed which requires a server restart"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Contact your system administrator for further information"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:7
+msgid "Stock is required for the following build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:8
+#, python-format
+msgid "Build order %(build)s - building %(quantity)s x %(part)s"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:10
+msgid "Click on the following link to view this build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:14
+msgid "The following parts are low on required stock"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:18
+#: templates/js/translated/bom.js:989
+#, fuzzy
+#| msgid "Quantity"
+msgid "Required Quantity"
+msgstr "Quantité"
+
+#: templates/email/build_order_required_stock.html:19
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129
+#: templates/js/translated/build.js:1749
+msgid "Available"
+msgstr "Disponible"
+
+#: templates/email/build_order_required_stock.html:38
+#: templates/email/low_stock_notification.html:31
+msgid "You are receiving this email because you are subscribed to notifications for this part "
+msgstr ""
+
+#: templates/email/email.html:35
+msgid "InvenTree version"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:7
+#, python-format
+msgid " The available stock for %(part)s has fallen below the configured minimum level"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:9
+msgid "Click on the following link to view this part"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:17
+msgid "Total Stock"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:19
+#, fuzzy
+#| msgid "Quantity"
+msgid "Minimum Quantity"
+msgstr "Quantité"
+
#: templates/image_download.html:8
msgid "Specify URL for downloading image"
msgstr ""
@@ -6693,138 +6593,59 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/report.js:47 templates/js/translated/report.js:67
-msgid "items selected"
-msgstr ""
-
-#: templates/js/report.js:55 templates/js/translated/report.js:75
-msgid "Select Report Template"
-msgstr ""
-
-#: templates/js/report.js:70 templates/js/translated/report.js:90
-msgid "Select Test Report Template"
-msgstr ""
-
-#: templates/js/report.js:98 templates/js/translated/label.js:29
-#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/report.js:99 templates/js/translated/report.js:119
-msgid "Stock item(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:116 templates/js/report.js:169
-#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331 templates/js/translated/report.js:136
-#: templates/js/translated/report.js:189 templates/js/translated/report.js:243
-#: templates/js/translated/report.js:297 templates/js/translated/report.js:351
-msgid "No Reports Found"
-msgstr ""
-
-#: templates/js/report.js:117 templates/js/translated/report.js:137
-msgid "No report templates found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/report.js:152 templates/js/translated/report.js:172
-msgid "Select Builds"
-msgstr ""
-
-#: templates/js/report.js:153 templates/js/translated/report.js:173
-msgid "Build(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:170 templates/js/translated/report.js:190
-msgid "No report templates found which match selected build(s)"
-msgstr ""
-
-#: templates/js/report.js:205 templates/js/translated/build.js:948
-#: templates/js/translated/label.js:134 templates/js/translated/report.js:225
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/report.js:206 templates/js/translated/report.js:226
-msgid "Part(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:224 templates/js/translated/report.js:244
-msgid "No report templates found which match selected part(s)"
-msgstr ""
-
-#: templates/js/report.js:259 templates/js/translated/report.js:279
-msgid "Select Purchase Orders"
-msgstr ""
-
-#: templates/js/report.js:260 templates/js/translated/report.js:280
-msgid "Purchase Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/report.js:278 templates/js/report.js:332
-#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
-msgid "No report templates found which match selected orders"
-msgstr ""
-
-#: templates/js/report.js:313 templates/js/translated/report.js:333
-msgid "Select Sales Orders"
-msgstr ""
-
-#: templates/js/report.js:314 templates/js/translated/report.js:334
-msgid "Sales Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053
+#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035
msgid "No response from the InvenTree server"
msgstr ""
-#: templates/js/translated/api.js:181
+#: templates/js/translated/api.js:191
msgid "Error 400: Bad request"
msgstr ""
-#: templates/js/translated/api.js:182
+#: templates/js/translated/api.js:192
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063
+#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055
msgid "The requested resource could not be located on the server"
msgstr ""
-#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060
msgid "Connection timeout while requesting data from server"
msgstr ""
-#: templates/js/translated/api.js:205
+#: templates/js/translated/api.js:215
msgid "Unhandled Error Code"
msgstr ""
-#: templates/js/translated/api.js:206
+#: templates/js/translated/api.js:216
msgid "Error code"
msgstr ""
@@ -6832,292 +6653,373 @@ msgstr ""
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:91
+#: templates/js/translated/attachment.js:95
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:104
+#: templates/js/translated/attachment.js:108
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:115
msgid "Delete attachment"
msgstr ""
-#: templates/js/translated/barcode.js:30
+#: templates/js/translated/barcode.js:29
msgid "Scan barcode data here using wedge scanner"
msgstr ""
-#: templates/js/translated/barcode.js:32
+#: templates/js/translated/barcode.js:31
msgid "Enter barcode data"
msgstr ""
-#: templates/js/translated/barcode.js:36
+#: templates/js/translated/barcode.js:35
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:54
+#: templates/js/translated/barcode.js:53
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:55
+#: templates/js/translated/barcode.js:54
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:93
+#: templates/js/translated/barcode.js:92
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:114
+#: templates/js/translated/barcode.js:113
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:141
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/barcode.js:140
+#: templates/js/translated/modals.js:1024
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:234
+#: templates/js/translated/barcode.js:233
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:281 templates/navbar.html:65
+#: templates/js/translated/barcode.js:280 templates/navbar.html:69
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:292
+#: templates/js/translated/barcode.js:291
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:310
+#: templates/js/translated/barcode.js:309
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:333
+#: templates/js/translated/barcode.js:332
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:339
+#: templates/js/translated/barcode.js:338
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273
+#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:440
+#: templates/js/translated/barcode.js:439
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:444
-#: templates/js/translated/barcode.js:571
+#: templates/js/translated/barcode.js:443
+#: templates/js/translated/barcode.js:573
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:486
-#: templates/js/translated/barcode.js:610
+#: templates/js/translated/barcode.js:485
+#: templates/js/translated/barcode.js:612
msgid "Error transferring stock"
msgstr ""
-#: templates/js/translated/barcode.js:505
+#: templates/js/translated/barcode.js:507
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:509
+#: templates/js/translated/barcode.js:511
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:516
+#: templates/js/translated/barcode.js:518
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:523
+#: templates/js/translated/barcode.js:525
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:566
+#: templates/js/translated/barcode.js:568
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:629
+#: templates/js/translated/barcode.js:633
msgid "Barcode does not match a valid location"
msgstr ""
-#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495
+#: templates/js/translated/bom.js:184
+msgid "Remove substitute part"
+msgstr ""
+
+#: templates/js/translated/bom.js:226
+msgid "Select and add a new variant item using the input below"
+msgstr ""
+
+#: templates/js/translated/bom.js:237
+msgid "Are you sure you wish to remove this substitute part link?"
+msgstr ""
+
+#: templates/js/translated/bom.js:243
+msgid "Remove Substitute Part"
+msgstr ""
+
+#: templates/js/translated/bom.js:282
+msgid "Add Substitute"
+msgstr ""
+
+#: templates/js/translated/bom.js:283
+msgid "Edit BOM Item Substitutes"
+msgstr ""
+
+#: templates/js/translated/bom.js:402
+#, fuzzy
+#| msgid "Available"
+msgid "Substitutes Available"
+msgstr "Disponible"
+
+#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111
+msgid "Variant stock allowed"
+msgstr ""
+
+#: templates/js/translated/bom.js:411
msgid "Open subassembly"
msgstr ""
-#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744
-#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522
-msgid "Available"
-msgstr "Disponible"
+#: templates/js/translated/bom.js:483
+msgid "Substitutes"
+msgstr ""
-#: templates/js/translated/bom.js:307
+#: templates/js/translated/bom.js:498
msgid "Purchase Price Range"
msgstr ""
-#: templates/js/translated/bom.js:314
+#: templates/js/translated/bom.js:505
msgid "Purchase Price Average"
msgstr ""
-#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449
+#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798
-#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285
+#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183
+#: templates/js/translated/order.js:1298
msgid "Actions"
msgstr ""
-#: templates/js/translated/bom.js:423
+#: templates/js/translated/bom.js:614
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:425
+#: templates/js/translated/bom.js:616
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590
+#: templates/js/translated/bom.js:618
+msgid "Edit substitute parts"
+msgstr ""
+
+#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575
+#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:1593
+#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/build.js:71
-msgid "Edit Build Order"
+#: templates/js/translated/bom.js:772
+msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/build.js:105
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/translated/build.js:138
-msgid "Allocate stock items to this build output"
-msgstr ""
-
-#: templates/js/translated/build.js:146
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/translated/build.js:155
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:164
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:265
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356
-#: templates/js/translated/order.js:1292
-msgid "Edit stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357
-#: templates/js/translated/order.js:1293
-msgid "Delete stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:695
-msgid "Edit Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:705
-msgid "Remove Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:718
+#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095
msgid "Required Part"
msgstr ""
-#: templates/js/translated/build.js:739
+#: templates/js/translated/bom.js:994
+#, fuzzy
+#| msgid "Split from parent item"
+msgid "Inherited from parent BOM"
+msgstr "Séparer de l'élément parent"
+
+#: templates/js/translated/build.js:78
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:112
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:133
+msgid "Allocate stock items to this build output"
+msgstr ""
+
+#: templates/js/translated/build.js:144
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:153
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:161
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:184
+msgid "Are you sure you wish to unallocate stock items from this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:202
+msgid "Unallocate Stock Items"
+msgstr ""
+
+#: templates/js/translated/build.js:220
+msgid "Select Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:221
+msgid "At least one build output must be selected"
+msgstr ""
+
+#: templates/js/translated/build.js:275
+msgid "Output"
+msgstr ""
+
+#: templates/js/translated/build.js:291
+msgid "Complete Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:386
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:603
+msgid "No active build outputs found"
+msgstr ""
+
+#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760
+#: templates/js/translated/order.js:1305
+msgid "Edit stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761
+#: templates/js/translated/order.js:1306
+msgid "Delete stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1072
+msgid "Edit Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1082
+msgid "Remove Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1107
+msgid "Substitute parts available"
+msgstr ""
+
+#: templates/js/translated/build.js:1124
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:749 templates/js/translated/build.js:975
-#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514
+#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360
+#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553
-#: templates/js/translated/order.js:1567
+#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557
-#: templates/stock_table.html:59
+#: templates/js/translated/build.js:1194 templates/stock_table.html:52
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560
+#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:880
+#: templates/js/translated/build.js:1262
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:949
+#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134
+#: templates/js/translated/report.js:225
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/translated/build.js:1334
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:963
+#: templates/js/translated/build.js:1348
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:992
+#: templates/js/translated/build.js:1377
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/build.js:993
+#: templates/js/translated/build.js:1378
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:1004
+#: templates/js/translated/build.js:1389
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:1048
+#: templates/js/translated/build.js:1451
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:1172
+#: templates/js/translated/build.js:1576
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856
-#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762
-#: templates/js/translated/stock.js:1456
+#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873
+#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064
+#: templates/js/translated/stock.js:1841
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:1209
+#: templates/js/translated/build.js:1613
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675
+#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:1282
+#: templates/js/translated/build.js:1686
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:1333
+#: templates/js/translated/build.js:1737
msgid "No parts allocated for"
msgstr ""
@@ -7137,7 +7039,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:164 templates/js/translated/order.js:89
+#: templates/js/translated/company.js:164 templates/js/translated/order.js:90
msgid "Add Supplier"
msgstr ""
@@ -7186,34 +7088,34 @@ msgid "No manufacturer parts found"
msgstr ""
#: templates/js/translated/company.js:496
-#: templates/js/translated/company.js:753 templates/js/translated/part.js:427
-#: templates/js/translated/part.js:512
+#: templates/js/translated/company.js:753 templates/js/translated/part.js:448
+#: templates/js/translated/part.js:533
msgid "Template part"
msgstr ""
#: templates/js/translated/company.js:500
-#: templates/js/translated/company.js:757 templates/js/translated/part.js:431
-#: templates/js/translated/part.js:516
+#: templates/js/translated/company.js:757 templates/js/translated/part.js:452
+#: templates/js/translated/part.js:537
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:627 templates/js/translated/part.js:604
+#: templates/js/translated/company.js:627 templates/js/translated/part.js:625
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:664 templates/js/translated/part.js:646
+#: templates/js/translated/company.js:664 templates/js/translated/part.js:667
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:665 templates/js/translated/part.js:647
+#: templates/js/translated/company.js:665 templates/js/translated/part.js:668
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:684 templates/js/translated/part.js:664
+#: templates/js/translated/company.js:684 templates/js/translated/part.js:685
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:695 templates/js/translated/part.js:676
+#: templates/js/translated/company.js:695 templates/js/translated/part.js:697
msgid "Delete Parameter"
msgstr ""
@@ -7222,12 +7124,12 @@ msgid "No supplier parts found"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:407
+#: templates/js/translated/filters.js:420
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:408
+#: templates/js/translated/filters.js:421
msgid "false"
msgstr ""
@@ -7235,57 +7137,61 @@ msgstr ""
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:284
+#: templates/js/translated/filters.js:286
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:286
+#: templates/js/translated/filters.js:290
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:289
+#: templates/js/translated/filters.js:293
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:317
+#: templates/js/translated/filters.js:329
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336
-#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360
+#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364
+#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:324
+#: templates/js/translated/forms.js:351
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:337
+#: templates/js/translated/forms.js:366
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:349
+#: templates/js/translated/forms.js:380
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:361
+#: templates/js/translated/forms.js:394
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:968 templates/modals.html:21
-#: templates/modals.html:47
+#: templates/js/translated/forms.js:679
+msgid "Enter a valid number"
+msgstr ""
+
+#: templates/js/translated/forms.js:1071 templates/modals.html:19
+#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1323
+#: templates/js/translated/forms.js:1457
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1525
+#: templates/js/translated/forms.js:1661
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:1742
+#: templates/js/translated/forms.js:1878
msgid "Clear input"
msgstr ""
@@ -7297,6 +7203,11 @@ msgstr ""
msgid "NO"
msgstr ""
+#: templates/js/translated/label.js:29 templates/js/translated/report.js:118
+#: templates/js/translated/stock.js:594
+msgid "Select Stock Items"
+msgstr ""
+
#: templates/js/translated/label.js:30
msgid "Stock item(s) must be selected before printing labels"
msgstr ""
@@ -7342,62 +7253,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119
+#: templates/js/translated/modals.js:593
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981
-#: templates/modals.html:30 templates/modals.html:55
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963
+#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:117
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:397
+#: templates/js/translated/modals.js:380
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:556
+#: templates/js/translated/modals.js:539
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:592
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:649
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:945
+#: templates/js/translated/modals.js:927
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/modals.js:1024
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1057
+#: templates/js/translated/modals.js:1039
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1058
+#: templates/js/translated/modals.js:1040
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1081
+#: templates/js/translated/modals.js:1063
msgid "Error requesting form data"
msgstr ""
@@ -7405,35 +7316,35 @@ msgstr ""
msgid "Company ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:90
+#: templates/js/translated/model_renderers.js:77
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:125
+#: templates/js/translated/model_renderers.js:130
msgid "Location ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:142
+#: templates/js/translated/model_renderers.js:147
msgid "Build ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:177
+#: templates/js/translated/model_renderers.js:182
msgid "Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:231
+#: templates/js/translated/model_renderers.js:236
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:251
+#: templates/js/translated/model_renderers.js:256
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:288
+#: templates/js/translated/model_renderers.js:293
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:317
+#: templates/js/translated/model_renderers.js:322
msgid "Supplier Part ID"
msgstr ""
@@ -7445,565 +7356,692 @@ msgstr ""
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:207
+#: templates/js/translated/order.js:208
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96
+#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393
msgid "Format"
msgstr ""
-#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97
+#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394
msgid "Select file format"
msgstr ""
-#: templates/js/translated/order.js:299
+#: templates/js/translated/order.js:300
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:300
+#: templates/js/translated/order.js:301
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:325
+#: templates/js/translated/order.js:326
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343
+#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:426
+#: templates/js/translated/order.js:427
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:428
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:429
+#: templates/js/translated/order.js:430
msgid "Receive"
msgstr ""
-#: templates/js/translated/order.js:448
+#: templates/js/translated/order.js:449
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:449
+#: templates/js/translated/order.js:450
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:626
+#: templates/js/translated/order.js:627
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028
+#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602
+#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613
+#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:800
+#: templates/js/translated/order.js:801
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432
+#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457
-#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554
+#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470
+#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464
-msgid "Total price"
+#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486
+msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573
+#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:963
+#: templates/js/translated/order.js:976
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:967
+#: templates/js/translated/order.js:980
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1004
+#: templates/js/translated/order.js:1017
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1055
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1120
+#: templates/js/translated/order.js:1133
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:1213
+#: templates/js/translated/order.js:1226
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1231
+#: templates/js/translated/order.js:1244
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1273
+#: templates/js/translated/order.js:1286
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:1514
+#: templates/js/translated/order.js:1535
msgid "Fulfilled"
msgstr ""
-#: templates/js/translated/order.js:1557
+#: templates/js/translated/order.js:1579
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1585
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725
+#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1596
msgid "Delete line item "
msgstr ""
-#: templates/js/translated/order.js:1673
+#: templates/js/translated/order.js:1719
msgid "Allocate Stock Item"
msgstr ""
-#: templates/js/translated/order.js:1733
+#: templates/js/translated/order.js:1779
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1747
+#: templates/js/translated/order.js:1793
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/part.js:49
+#: templates/js/translated/part.js:50
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:53
+#: templates/js/translated/part.js:54
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:57
+#: templates/js/translated/part.js:58
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:61
+#: templates/js/translated/part.js:62
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:75
+#: templates/js/translated/part.js:76
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:164
+#: templates/js/translated/part.js:165
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:165
+#: templates/js/translated/part.js:166
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:172
+#: templates/js/translated/part.js:173
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:173
+#: templates/js/translated/part.js:174
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:180
+#: templates/js/translated/part.js:181
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:191
+#: templates/js/translated/part.js:192
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:192
+#: templates/js/translated/part.js:193
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:201
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:202
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:257
+#: templates/js/translated/part.js:258
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:258
+#: templates/js/translated/part.js:259
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:265
-msgid "Copy BOM"
-msgstr ""
-
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:267
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:273
+#: templates/js/translated/part.js:274
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:274
+#: templates/js/translated/part.js:275
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:287
+#: templates/js/translated/part.js:288
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:331
+#: templates/js/translated/part.js:332
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:419 templates/js/translated/part.js:504
+#: templates/js/translated/part.js:334
+msgid "Part edited"
+msgstr ""
+
+#: templates/js/translated/part.js:402
+msgid "You are subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:404
+msgid "You have subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:409
+msgid "Subscribe to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:411
+msgid "You have unsubscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:440 templates/js/translated/part.js:525
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:423 templates/js/translated/part.js:508
+#: templates/js/translated/part.js:444 templates/js/translated/part.js:529
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:435
-msgid "Starred part"
+#: templates/js/translated/part.js:456
+msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:439
+#: templates/js/translated/part.js:460
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:554
+#: templates/js/translated/part.js:575
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005
+#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:932
+#: templates/js/translated/part.js:933
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:955
-#: templates/js/translated/table_filters.js:359
+#: templates/js/translated/part.js:956
+#: templates/js/translated/table_filters.js:375
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480
+#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200
+#: templates/js/translated/stock.js:1802
+msgid "Display as list"
+msgstr ""
+
+#: templates/js/translated/part.js:1044
+msgid "Display as grid"
+msgstr ""
+
+#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821
+msgid "Display as tree"
+msgstr ""
+
+#: templates/js/translated/part.js:1283
+msgid "Subscribed category"
+msgstr ""
+
+#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1202
+#: templates/js/translated/part.js:1341
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493
+#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494
+#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1260
+#: templates/js/translated/part.js:1399
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1282
+#: templates/js/translated/part.js:1421
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1296
+#: templates/js/translated/part.js:1435
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1321
+#: templates/js/translated/part.js:1460
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1376
+#: templates/js/translated/part.js:1515
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1377
+#: templates/js/translated/part.js:1516
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1478
+#: templates/js/translated/part.js:1617
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1497
+#: templates/js/translated/part.js:1636
msgid "Single Price Difference"
msgstr ""
-#: templates/js/translated/stock.js:63
+#: templates/js/translated/report.js:67
+msgid "items selected"
+msgstr ""
+
+#: templates/js/translated/report.js:75
+msgid "Select Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:90
+msgid "Select Test Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:119
+msgid "Stock item(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:136 templates/js/translated/report.js:189
+#: templates/js/translated/report.js:243 templates/js/translated/report.js:297
+#: templates/js/translated/report.js:351
+msgid "No Reports Found"
+msgstr ""
+
+#: templates/js/translated/report.js:137
+msgid "No report templates found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:172
+msgid "Select Builds"
+msgstr ""
+
+#: templates/js/translated/report.js:173
+msgid "Build(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:190
+msgid "No report templates found which match selected build(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:226
+msgid "Part(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:244
+msgid "No report templates found which match selected part(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:279
+msgid "Select Purchase Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:280
+msgid "Purchase Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
+msgid "No report templates found which match selected orders"
+msgstr ""
+
+#: templates/js/translated/report.js:333
+msgid "Select Sales Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:334
+msgid "Sales Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/stock.js:70
+msgid "Serialize Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:90
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:126
+msgid "New Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:189
+msgid "Enter initial quantity for this stock item"
+msgstr ""
+
+#: templates/js/translated/stock.js:195
+msgid "Enter serial numbers for new stock (or leave blank)"
+msgstr ""
+
+#: templates/js/translated/stock.js:338
+#, fuzzy
+#| msgid "Edited stock item"
+msgid "Created new stock item"
+msgstr "Article de stock modifié"
+
+#: templates/js/translated/stock.js:351
+#, fuzzy
+#| msgid "Edited stock item"
+msgid "Created multiple stock items"
+msgstr "Article de stock modifié"
+
+#: templates/js/translated/stock.js:390
msgid "Export Stock"
msgstr ""
-#: templates/js/translated/stock.js:104
+#: templates/js/translated/stock.js:401
msgid "Include Sublocations"
msgstr ""
-#: templates/js/translated/stock.js:105
+#: templates/js/translated/stock.js:402
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:444
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:148
+#: templates/js/translated/stock.js:445
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:154
+#: templates/js/translated/stock.js:451
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:155
+#: templates/js/translated/stock.js:452
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:159
+#: templates/js/translated/stock.js:456
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:160
+#: templates/js/translated/stock.js:457
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:164
+#: templates/js/translated/stock.js:461
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:165 users/models.py:195
+#: templates/js/translated/stock.js:462 users/models.py:200
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:169 templates/stock_table.html:63
+#: templates/js/translated/stock.js:466 templates/stock_table.html:56
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:298
+#: templates/js/translated/stock.js:595
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:456
+#: templates/js/translated/stock.js:753
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:458
+#: templates/js/translated/stock.js:755
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:463
+#: templates/js/translated/stock.js:760
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:489
+#: templates/js/translated/stock.js:782
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:515
+#: templates/js/translated/stock.js:808
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:563
+#: templates/js/translated/stock.js:865
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:670
+#: templates/js/translated/stock.js:972
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:674
+#: templates/js/translated/stock.js:976
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:678
+#: templates/js/translated/stock.js:980
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:984
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:688
+#: templates/js/translated/stock.js:990
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:844
+#: templates/js/translated/stock.js:1148
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:849
+#: templates/js/translated/stock.js:1153
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:852
+#: templates/js/translated/stock.js:1156
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:856
+#: templates/js/translated/stock.js:1160
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:858
+#: templates/js/translated/stock.js:1162
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:1166
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:866
+#: templates/js/translated/stock.js:1170
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:873
+#: templates/js/translated/stock.js:1177
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:1179
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:877
+#: templates/js/translated/stock.js:1181
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:881
-#: templates/js/translated/table_filters.js:161
+#: templates/js/translated/stock.js:1185
+#: templates/js/translated/table_filters.js:177
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:935
+#: templates/js/translated/stock.js:1235
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1308
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1046
+#: templates/js/translated/stock.js:1346
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115
+#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415
msgid "items"
msgstr ""
-#: templates/js/translated/stock.js:1155
+#: templates/js/translated/stock.js:1455
msgid "batches"
msgstr ""
-#: templates/js/translated/stock.js:1182
+#: templates/js/translated/stock.js:1482
msgid "locations"
msgstr ""
-#: templates/js/translated/stock.js:1184
+#: templates/js/translated/stock.js:1484
msgid "Undefined location"
msgstr ""
-#: templates/js/translated/stock.js:1358
+#: templates/js/translated/stock.js:1658
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:1372
+#: templates/js/translated/stock.js:1672
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:1373
+#: templates/js/translated/stock.js:1673
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:1512
+#: templates/js/translated/stock.js:1897
msgid "Invalid date"
msgstr ""
-#: templates/js/translated/stock.js:1559
+#: templates/js/translated/stock.js:1919
+msgid "Details"
+msgstr "Détails"
+
+#: templates/js/translated/stock.js:1944
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1578
+#: templates/js/translated/stock.js:1963
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1597
+#: templates/js/translated/stock.js:1982
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1615
+#: templates/js/translated/stock.js:2000
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1638
+#: templates/js/translated/stock.js:2023
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:1646
+#: templates/js/translated/stock.js:2031
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:1687
+#: templates/js/translated/stock.js:2072
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1688
+#: templates/js/translated/stock.js:2073
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:2124
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:1835
-msgid "Serial"
-msgstr ""
-
-#: templates/js/translated/stock.js:1863
+#: templates/js/translated/stock.js:2175
msgid "Uninstall Stock Item"
msgstr ""
@@ -8023,254 +8061,264 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:156
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:172
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:93
+#: templates/js/translated/table_filters.js:105
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:103
-#: templates/js/translated/table_filters.js:104
-#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:115
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:352
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:114
-#: templates/js/translated/table_filters.js:191
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:117
-#: templates/js/translated/table_filters.js:198
-msgid "Serial number GTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:118
-#: templates/js/translated/table_filters.js:199
-msgid "Serial number greater than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:121
-#: templates/js/translated/table_filters.js:202
-msgid "Serial number LTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:122
-#: templates/js/translated/table_filters.js:203
-msgid "Serial number less than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:125
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:195
-msgid "Serial number"
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:387
+msgid "Subscribed"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:212
-msgid "Batch code"
+#: templates/js/translated/table_filters.js:207
+msgid "Is Serialized"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:214
+msgid "Serial number GTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:134
+#: templates/js/translated/table_filters.js:215
+msgid "Serial number greater than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:137
+#: templates/js/translated/table_filters.js:218
+msgid "Serial number LTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:138
+#: templates/js/translated/table_filters.js:219
+msgid "Serial number less than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:141
-#: templates/js/translated/table_filters.js:326
-msgid "Active parts"
-msgstr ""
-
#: templates/js/translated/table_filters.js:142
-msgid "Show stock for active parts"
+#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:211
+msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:147
-msgid "Part is an assembly"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:151
-msgid "Is allocated"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:152
-msgid "Item has been allocated"
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:228
+msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:157
-msgid "Include stock in sublocations"
+#: templates/js/translated/table_filters.js:342
+msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:162
-msgid "Show stock items which are depleted"
+#: templates/js/translated/table_filters.js:158
+msgid "Show stock for active parts"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:163
+msgid "Part is an assembly"
msgstr ""
#: templates/js/translated/table_filters.js:167
+msgid "Is allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:168
+msgid "Item has been allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:173
+msgid "Include stock in sublocations"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:178
+msgid "Show stock items which are depleted"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:183
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:187
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:188
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:176
+#: templates/js/translated/table_filters.js:192
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:177
+#: templates/js/translated/table_filters.js:193
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:197
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:182
+#: templates/js/translated/table_filters.js:198
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:187
+#: templates/js/translated/table_filters.js:203
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:207
-#: templates/js/translated/table_filters.js:208
+#: templates/js/translated/table_filters.js:223
+#: templates/js/translated/table_filters.js:224
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/table_filters.js:232
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:233
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:242
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:248
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:279
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:291
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:307
+#: templates/js/translated/table_filters.js:324
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:296
-#: templates/js/translated/table_filters.js:313
+#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:329
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:337
+#: templates/js/translated/table_filters.js:353
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:341
+#: templates/js/translated/table_filters.js:357
msgid "Has IPN"
msgstr "A un IPN"
-#: templates/js/translated/table_filters.js:342
+#: templates/js/translated/table_filters.js:358
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:347
+#: templates/js/translated/table_filters.js:363
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:355
+#: templates/js/translated/table_filters.js:371
msgid "Stock available"
msgstr ""
-#: templates/js/translated/table_filters.js:371
-msgid "Starred"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:383
+#: templates/js/translated/table_filters.js:399
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/tables.js:366
+#: templates/js/translated/tables.js:368
msgid "Loading data"
msgstr ""
-#: templates/js/translated/tables.js:369
+#: templates/js/translated/tables.js:371
msgid "rows per page"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "Showing"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "to"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "of"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "rows"
msgstr ""
-#: templates/js/translated/tables.js:378
+#: templates/js/translated/tables.js:377 templates/search_form.html:6
+#: templates/search_form.html:7
+msgid "Search"
+msgstr ""
+
+#: templates/js/translated/tables.js:380
msgid "No matching results"
msgstr ""
-#: templates/js/translated/tables.js:381
+#: templates/js/translated/tables.js:383
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/translated/tables.js:384
+#: templates/js/translated/tables.js:386
msgid "Refresh"
msgstr ""
-#: templates/js/translated/tables.js:387
+#: templates/js/translated/tables.js:389
msgid "Toggle"
msgstr ""
-#: templates/js/translated/tables.js:390
+#: templates/js/translated/tables.js:392
msgid "Columns"
msgstr ""
-#: templates/js/translated/tables.js:393
+#: templates/js/translated/tables.js:395
msgid "All"
msgstr ""
-#: templates/navbar.html:19
-msgid "Toggle navigation"
-msgstr ""
-
-#: templates/navbar.html:39
+#: templates/navbar.html:40
msgid "Buy"
msgstr ""
-#: templates/navbar.html:51
+#: templates/navbar.html:52
msgid "Sell"
msgstr ""
-#: templates/navbar.html:83 users/models.py:39
+#: templates/navbar.html:86 users/models.py:39
msgid "Admin"
msgstr ""
-#: templates/navbar.html:85
+#: templates/navbar.html:88
msgid "Logout"
msgstr ""
-#: templates/navbar.html:106
+#: templates/navbar.html:90
+msgid "Login"
+msgstr ""
+
+#: templates/navbar.html:111
msgid "About InvenTree"
msgstr ""
+#: templates/navbar_demo.html:5
+msgid "InvenTree demo mode"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -8283,6 +8331,10 @@ msgstr ""
msgid "Log in again"
msgstr ""
+#: templates/stats.html:9
+msgid "Server"
+msgstr ""
+
#: templates/stats.html:13
msgid "Instance Name"
msgstr ""
@@ -8336,54 +8388,50 @@ msgid "Export Stock Information"
msgstr ""
#: templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/stock_table.html:27
msgid "Barcode Actions"
msgstr ""
-#: templates/stock_table.html:43
+#: templates/stock_table.html:36
msgid "Print test reports"
msgstr ""
-#: templates/stock_table.html:50
+#: templates/stock_table.html:43
msgid "Stock Options"
msgstr ""
-#: templates/stock_table.html:55
+#: templates/stock_table.html:48
msgid "Add to selected stock items"
msgstr ""
-#: templates/stock_table.html:56
+#: templates/stock_table.html:49
msgid "Remove from selected stock items"
msgstr ""
-#: templates/stock_table.html:57
+#: templates/stock_table.html:50
msgid "Stocktake selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move stock"
msgstr ""
-#: templates/stock_table.html:59
+#: templates/stock_table.html:52
msgid "Order selected items"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change status"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change stock status"
msgstr ""
-#: templates/stock_table.html:63
+#: templates/stock_table.html:56
msgid "Delete selected items"
msgstr ""
@@ -8419,35 +8467,37 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:182
+#: users/models.py:187
msgid "Permission set"
msgstr ""
-#: users/models.py:190
+#: users/models.py:195
msgid "Group"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "View"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "Permission to view items"
msgstr ""
-#: users/models.py:195
+#: users/models.py:200
msgid "Permission to add items"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Change"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:199
+#: users/models.py:204
msgid "Permission to delete items"
msgstr ""
+#~ msgid "Save"
+#~ msgstr "Enregistrer"
diff --git a/InvenTree/locale/he/LC_MESSAGES/django.mo b/InvenTree/locale/he/LC_MESSAGES/django.mo
new file mode 100644
index 0000000000..3427265ca5
Binary files /dev/null and b/InvenTree/locale/he/LC_MESSAGES/django.mo differ
diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po
index 049d8cac93..5e6fa2cfee 100644
--- a/InvenTree/locale/he/LC_MESSAGES/django.po
+++ b/InvenTree/locale/he/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-11 06:21+0000\n"
+"POT-Creation-Date: 2021-11-22 22:08+0000\n"
"PO-Revision-Date: 2021-10-11 06:28\n"
"Last-Translator: \n"
"Language-Team: Hebrew\n"
@@ -33,260 +33,266 @@ msgstr ""
msgid "Enter date"
msgstr ""
-#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123
-#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27
-#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71
-#: part/forms.py:108 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:564
+#: InvenTree/forms.py:120 build/forms.py:48 build/forms.py:69 build/forms.py:93
+#: order/forms.py:26 order/forms.py:37 order/forms.py:48 order/forms.py:59
+#: order/forms.py:70 part/forms.py:108 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:594
msgid "Confirm"
msgstr ""
-#: InvenTree/forms.py:132
+#: InvenTree/forms.py:136
msgid "Confirm delete"
msgstr ""
-#: InvenTree/forms.py:133
+#: InvenTree/forms.py:137
msgid "Confirm item deletion"
msgstr ""
-#: InvenTree/forms.py:164
+#: InvenTree/forms.py:168
msgid "Enter password"
msgstr ""
-#: InvenTree/forms.py:165
+#: InvenTree/forms.py:169
msgid "Enter new password"
msgstr ""
-#: InvenTree/forms.py:172
+#: InvenTree/forms.py:176
msgid "Confirm password"
msgstr ""
-#: InvenTree/forms.py:173
+#: InvenTree/forms.py:177
msgid "Confirm new password"
msgstr ""
-#: InvenTree/forms.py:205
+#: InvenTree/forms.py:209
msgid "Select Category"
msgstr ""
-#: InvenTree/forms.py:226
-msgid "E-mail (again)"
-msgstr ""
-
#: InvenTree/forms.py:230
-msgid "E-mail address confirmation"
+msgid "Email (again)"
msgstr ""
-#: InvenTree/forms.py:250
+#: InvenTree/forms.py:234
+msgid "Email address confirmation"
+msgstr ""
+
+#: InvenTree/forms.py:254
msgid "You must type the same email each time."
msgstr ""
-#: InvenTree/helpers.py:401
+#: InvenTree/helpers.py:430
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr ""
-#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437
-#: stock/views.py:1340
+#: InvenTree/helpers.py:437 order/models.py:318 order/models.py:440
+#: stock/views.py:1264
msgid "Invalid quantity provided"
msgstr ""
-#: InvenTree/helpers.py:411
+#: InvenTree/helpers.py:440
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:462 InvenTree/helpers.py:465 InvenTree/helpers.py:468
+#: InvenTree/helpers.py:493
#, python-brace-format
msgid "Invalid group: {g}"
msgstr ""
-#: InvenTree/helpers.py:469
+#: InvenTree/helpers.py:498
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr ""
-#: InvenTree/helpers.py:477
+#: InvenTree/helpers.py:506
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:481
+#: InvenTree/helpers.py:510
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/models.py:66 stock/models.py:1823
+#: InvenTree/models.py:109 stock/models.py:1874
msgid "Attachment"
msgstr ""
-#: InvenTree/models.py:67
+#: InvenTree/models.py:110
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:69 templates/js/translated/attachment.js:87
+#: InvenTree/models.py:112 templates/js/translated/attachment.js:91
msgid "Comment"
msgstr ""
-#: InvenTree/models.py:69
+#: InvenTree/models.py:112
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055
-#: common/models.py:1056 part/models.py:2055
-#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/translated/stock.js:1669
+#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185
+#: common/models.py:1186 part/models.py:2205 part/models.py:2225
+#: report/templates/report/inventree_test_report_base.html:96
+#: templates/js/translated/stock.js:2054
msgid "User"
msgstr ""
-#: InvenTree/models.py:79
+#: InvenTree/models.py:122
msgid "upload date"
msgstr ""
-#: InvenTree/models.py:99
+#: InvenTree/models.py:142
msgid "Filename must not be empty"
msgstr ""
-#: InvenTree/models.py:122
+#: InvenTree/models.py:165
msgid "Invalid attachment directory"
msgstr ""
-#: InvenTree/models.py:132
+#: InvenTree/models.py:175
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr ""
-#: InvenTree/models.py:135
+#: InvenTree/models.py:178
msgid "Filename missing extension"
msgstr ""
-#: InvenTree/models.py:142
+#: InvenTree/models.py:185
msgid "Attachment with this filename already exists"
msgstr ""
-#: InvenTree/models.py:149
+#: InvenTree/models.py:192
msgid "Error renaming file"
msgstr ""
-#: InvenTree/models.py:184
+#: InvenTree/models.py:227
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415
-#: label/models.py:112 part/models.py:659 part/models.py:2216
-#: part/templates/part/part_base.html:241 report/models.py:181
-#: templates/js/translated/company.js:637 templates/js/translated/part.js:477
-#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141
-#: templates/js/translated/stock.js:1462
+#: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415
+#: label/models.py:112 part/models.py:741 part/models.py:2389
+#: part/templates/part/detail.html:25 report/models.py:181
+#: templates/js/translated/company.js:637 templates/js/translated/part.js:498
+#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272
+#: templates/js/translated/stock.js:1847
msgid "Name"
msgstr ""
-#: InvenTree/models.py:207 build/models.py:189
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/manufacturer_part.html:76
-#: company/templates/company/supplier_part.html:75 label/models.py:119
-#: order/models.py:158 part/models.py:682
-#: part/templates/part/part_base.html:246
+#: InvenTree/models.py:250 build/models.py:207
+#: build/templates/build/detail.html:25 company/models.py:354
+#: company/models.py:570 company/templates/company/manufacturer_part.html:80
+#: company/templates/company/supplier_part.html:81 label/models.py:119
+#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30
#: part/templates/part/set_category.html:14 report/models.py:194
-#: report/models.py:551 report/models.py:590
+#: report/models.py:553 report/models.py:592
#: report/templates/report/inventree_build_order_base.html:118
-#: templates/InvenTree/settings/header.html:9
-#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217
-#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344
+#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214
+#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621
+#: templates/js/translated/company.js:344
#: templates/js/translated/company.js:547
-#: templates/js/translated/company.js:836 templates/js/translated/order.js:672
-#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056
-#: templates/js/translated/part.js:536 templates/js/translated/part.js:724
-#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153
-#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819
-#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519
+#: templates/js/translated/company.js:836 templates/js/translated/order.js:673
+#: templates/js/translated/order.js:833 templates/js/translated/order.js:1069
+#: templates/js/translated/part.js:557 templates/js/translated/part.js:745
+#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291
+#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121
+#: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904
msgid "Description"
msgstr ""
-#: InvenTree/models.py:208
+#: InvenTree/models.py:251
msgid "Description (optional)"
msgstr ""
-#: InvenTree/models.py:216
+#: InvenTree/models.py:259
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:55 part/models.py:2475
+#: InvenTree/serializers.py:62 part/models.py:2674
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:244
+#: InvenTree/serializers.py:251
msgid "Filename"
msgstr ""
-#: InvenTree/settings.py:529
+#: InvenTree/settings.py:663
msgid "German"
msgstr ""
-#: InvenTree/settings.py:530
+#: InvenTree/settings.py:664
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:531
+#: InvenTree/settings.py:665
msgid "English"
msgstr ""
-#: InvenTree/settings.py:532
+#: InvenTree/settings.py:666
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:533
+#: InvenTree/settings.py:667
+msgid "Spanish (Mexican)"
+msgstr ""
+
+#: InvenTree/settings.py:668
msgid "French"
msgstr ""
-#: InvenTree/settings.py:534
+#: InvenTree/settings.py:669
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:535
+#: InvenTree/settings.py:670
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:536
+#: InvenTree/settings.py:671
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:537
+#: InvenTree/settings.py:672
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:538
+#: InvenTree/settings.py:673
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:539
+#: InvenTree/settings.py:674
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:540
+#: InvenTree/settings.py:675
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:541
+#: InvenTree/settings.py:676
+msgid "Portugese"
+msgstr ""
+
+#: InvenTree/settings.py:677
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:542
+#: InvenTree/settings.py:678
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:543
+#: InvenTree/settings.py:679
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:544
+#: InvenTree/settings.py:680
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:545
+#: InvenTree/settings.py:681
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:546
+#: InvenTree/settings.py:682
msgid "Chinese"
msgstr ""
@@ -302,196 +308,196 @@ msgstr ""
msgid "InvenTree system health checks failed"
msgstr ""
-#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145
-#: InvenTree/status_codes.py:314
+#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142
+#: InvenTree/status_codes.py:311
msgid "Pending"
msgstr ""
-#: InvenTree/status_codes.py:105
+#: InvenTree/status_codes.py:102
msgid "Placed"
msgstr ""
-#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317
+#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:314
msgid "Complete"
msgstr ""
-#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147
-#: InvenTree/status_codes.py:316
+#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144
+#: InvenTree/status_codes.py:313
msgid "Cancelled"
msgstr ""
-#: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148
-#: InvenTree/status_codes.py:190
+#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145
+#: InvenTree/status_codes.py:187
msgid "Lost"
msgstr ""
-#: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149
-#: InvenTree/status_codes.py:192
+#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146
+#: InvenTree/status_codes.py:189
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:146
-#: order/templates/order/sales_order_base.html:131
+#: InvenTree/status_codes.py:143
+#: order/templates/order/sales_order_base.html:147
msgid "Shipped"
msgstr ""
-#: InvenTree/status_codes.py:186
+#: InvenTree/status_codes.py:183
msgid "OK"
msgstr ""
-#: InvenTree/status_codes.py:187
+#: InvenTree/status_codes.py:184
msgid "Attention needed"
msgstr ""
-#: InvenTree/status_codes.py:188
+#: InvenTree/status_codes.py:185
msgid "Damaged"
msgstr ""
-#: InvenTree/status_codes.py:189
+#: InvenTree/status_codes.py:186
msgid "Destroyed"
msgstr ""
-#: InvenTree/status_codes.py:191
+#: InvenTree/status_codes.py:188
msgid "Rejected"
msgstr ""
-#: InvenTree/status_codes.py:272
+#: InvenTree/status_codes.py:269
msgid "Legacy stock tracking entry"
msgstr ""
-#: InvenTree/status_codes.py:274
+#: InvenTree/status_codes.py:271
msgid "Stock item created"
msgstr ""
-#: InvenTree/status_codes.py:276
+#: InvenTree/status_codes.py:273
msgid "Edited stock item"
msgstr ""
-#: InvenTree/status_codes.py:277
+#: InvenTree/status_codes.py:274
msgid "Assigned serial number"
msgstr ""
-#: InvenTree/status_codes.py:279
+#: InvenTree/status_codes.py:276
msgid "Stock counted"
msgstr ""
-#: InvenTree/status_codes.py:280
+#: InvenTree/status_codes.py:277
msgid "Stock manually added"
msgstr ""
-#: InvenTree/status_codes.py:281
+#: InvenTree/status_codes.py:278
msgid "Stock manually removed"
msgstr ""
-#: InvenTree/status_codes.py:283
+#: InvenTree/status_codes.py:280
msgid "Location changed"
msgstr ""
-#: InvenTree/status_codes.py:285
+#: InvenTree/status_codes.py:282
msgid "Installed into assembly"
msgstr ""
-#: InvenTree/status_codes.py:286
+#: InvenTree/status_codes.py:283
msgid "Removed from assembly"
msgstr ""
-#: InvenTree/status_codes.py:288
+#: InvenTree/status_codes.py:285
msgid "Installed component item"
msgstr ""
-#: InvenTree/status_codes.py:289
+#: InvenTree/status_codes.py:286
msgid "Removed component item"
msgstr ""
-#: InvenTree/status_codes.py:291
+#: InvenTree/status_codes.py:288
msgid "Split from parent item"
msgstr ""
-#: InvenTree/status_codes.py:292
+#: InvenTree/status_codes.py:289
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186
+#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202
msgid "Sent to customer"
msgstr ""
-#: InvenTree/status_codes.py:295
+#: InvenTree/status_codes.py:292
msgid "Returned from customer"
msgstr ""
-#: InvenTree/status_codes.py:297
+#: InvenTree/status_codes.py:294
msgid "Build order output created"
msgstr ""
-#: InvenTree/status_codes.py:298
+#: InvenTree/status_codes.py:295
msgid "Build order output completed"
msgstr ""
-#: InvenTree/status_codes.py:300
+#: InvenTree/status_codes.py:297
msgid "Received against purchase order"
msgstr ""
-#: InvenTree/status_codes.py:315
+#: InvenTree/status_codes.py:312
msgid "Production"
msgstr ""
-#: InvenTree/validators.py:22
+#: InvenTree/validators.py:23
msgid "Not a valid currency code"
msgstr ""
-#: InvenTree/validators.py:50
+#: InvenTree/validators.py:51
msgid "Invalid character in part name"
msgstr ""
-#: InvenTree/validators.py:63
+#: InvenTree/validators.py:64
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr ""
-#: InvenTree/validators.py:77 InvenTree/validators.py:91
-#: InvenTree/validators.py:105
+#: InvenTree/validators.py:78 InvenTree/validators.py:92
+#: InvenTree/validators.py:106
#, python-brace-format
msgid "Reference must match pattern {pattern}"
msgstr ""
-#: InvenTree/validators.py:113
+#: InvenTree/validators.py:114
#, python-brace-format
msgid "Illegal character in name ({x})"
msgstr ""
-#: InvenTree/validators.py:132 InvenTree/validators.py:148
+#: InvenTree/validators.py:133 InvenTree/validators.py:149
msgid "Overage value must not be negative"
msgstr ""
-#: InvenTree/validators.py:150
+#: InvenTree/validators.py:151
msgid "Overage must not exceed 100%"
msgstr ""
-#: InvenTree/validators.py:157
+#: InvenTree/validators.py:158
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:616
+#: InvenTree/views.py:536
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:665
+#: InvenTree/views.py:585
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:710
+#: InvenTree/views.py:630
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:954 templates/navbar.html:97
+#: InvenTree/views.py:863 templates/navbar.html:101
msgid "System Information"
msgstr ""
@@ -535,599 +541,566 @@ msgstr ""
msgid "Barcode associated with StockItem"
msgstr ""
-#: build/api.py:213
-msgid "Matching build order does not exist"
-msgstr ""
-
-#: build/forms.py:37
-msgid "Build Order reference"
-msgstr ""
-
-#: build/forms.py:38
-msgid "Order target date"
-msgstr ""
-
-#: build/forms.py:42 build/templates/build/build_base.html:146
-#: build/templates/build/detail.html:124
-#: order/templates/order/order_base.html:124
-#: order/templates/order/sales_order_base.html:124
-#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689
-#: templates/js/translated/order.js:1074
-msgid "Target Date"
-msgstr ""
-
-#: build/forms.py:43 build/models.py:279
-msgid "Target date for build completion. Build will be overdue after this date."
-msgstr ""
-
-#: build/forms.py:48 build/forms.py:90 build/models.py:1281
-#: build/templates/build/allocation_card.html:23
-#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:1087
-#: company/forms.py:42 company/templates/company/supplier_part.html:226
-#: order/forms.py:101 order/forms.py:123 order/models.py:720
-#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249
-#: part/forms.py:265 part/forms.py:281 part/models.py:2377
+#: build/forms.py:36 build/models.py:1283
+#: build/templates/build/build_base.html:124
+#: build/templates/build/detail.html:35 common/models.py:1225
+#: company/forms.py:42 company/templates/company/supplier_part.html:251
+#: order/forms.py:102 order/models.py:729 order/models.py:991
+#: order/templates/order/order_wizard/match_parts.html:30
+#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237
+#: part/forms.py:253 part/forms.py:269 part/models.py:2576
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030
+#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
-#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:140 stock/templates/stock/item_base.html:269
-#: stock/templates/stock/stock_adjust.html:18
-#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264
-#: templates/js/translated/build.js:314 templates/js/translated/build.js:638
-#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515
-#: templates/js/translated/model_renderers.js:74
-#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170
-#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444
-#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487
-#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654
-#: templates/js/translated/stock.js:1829
+#: report/templates/report/inventree_test_report_base.html:81
+#: report/templates/report/inventree_test_report_base.html:139
+#: stock/forms.py:156 stock/serializers.py:286
+#: stock/templates/stock/item_base.html:256
+#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441
+#: templates/js/translated/build.js:235 templates/js/translated/build.js:435
+#: templates/js/translated/build.js:629 templates/js/translated/build.js:639
+#: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362
+#: templates/js/translated/model_renderers.js:99
+#: templates/js/translated/order.js:870 templates/js/translated/order.js:1183
+#: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268
+#: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457
+#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626
+#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347
+#: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141
msgid "Quantity"
msgstr ""
-#: build/forms.py:49
-msgid "Number of items to build"
-msgstr ""
-
-#: build/forms.py:91
+#: build/forms.py:37
msgid "Enter quantity for build output"
msgstr ""
-#: build/forms.py:95 order/forms.py:95 stock/forms.py:83
+#: build/forms.py:41 order/forms.py:96 stock/forms.py:95
+#: stock/serializers.py:307 templates/js/translated/stock.js:194
+#: templates/js/translated/stock.js:348
msgid "Serial Numbers"
msgstr ""
-#: build/forms.py:97
+#: build/forms.py:43
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/forms.py:103
+#: build/forms.py:49
msgid "Confirm creation of build output"
msgstr ""
-#: build/forms.py:124
+#: build/forms.py:70
msgid "Confirm deletion of build output"
msgstr ""
-#: build/forms.py:145
-msgid "Confirm unallocation of stock"
-msgstr ""
-
-#: build/forms.py:174
+#: build/forms.py:94
msgid "Mark build as complete"
msgstr ""
-#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284
-#: stock/forms.py:280 stock/serializers.py:553
-#: stock/templates/stock/item_base.html:299
-#: stock/templates/stock/stock_adjust.html:17
-#: templates/js/translated/barcode.js:385
-#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299
-#: templates/js/translated/build.js:650 templates/js/translated/order.js:347
-#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263
-#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179
-#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921
-#: templates/js/translated/stock.js:1546
-msgid "Location"
-msgstr ""
-
-#: build/forms.py:199
-msgid "Location of completed parts"
-msgstr ""
-
-#: build/forms.py:203 build/templates/build/build_base.html:138
-#: build/templates/build/detail.html:62 order/models.py:563
-#: order/serializers.py:238 stock/templates/stock/item_base.html:422
-#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251
-#: templates/js/translated/order.js:430 templates/js/translated/order.js:676
-#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896
-#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845
-msgid "Status"
-msgstr ""
-
-#: build/forms.py:204
-msgid "Build output stock status"
-msgstr ""
-
-#: build/forms.py:211
-msgid "Confirm incomplete"
-msgstr ""
-
-#: build/forms.py:212
-msgid "Confirm completion with incomplete stock allocation"
-msgstr ""
-
-#: build/forms.py:215
-msgid "Confirm build completion"
-msgstr ""
-
-#: build/forms.py:240
+#: build/forms.py:107
msgid "Confirm cancel"
msgstr ""
-#: build/forms.py:240 build/views.py:65
+#: build/forms.py:107 build/views.py:65
msgid "Confirm build cancellation"
msgstr ""
-#: build/models.py:115
+#: build/models.py:133
msgid "Invalid choice for parent build"
msgstr ""
-#: build/models.py:119 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:73
+#: build/models.py:137 build/templates/build/build_base.html:9
+#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:276
+#: templates/js/translated/build.js:397
msgid "Build Order"
msgstr ""
-#: build/models.py:120 build/templates/build/index.html:8
-#: build/templates/build/index.html:15
-#: order/templates/order/sales_order_detail.html:34
-#: order/templates/order/so_navbar.html:19
-#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50
-#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229
-#: templates/InvenTree/search.html:171
-#: templates/InvenTree/settings/navbar.html:113
-#: templates/InvenTree/settings/navbar.html:115 users/models.py:44
+#: build/models.py:138 build/templates/build/build_base.html:13
+#: build/templates/build/index.html:8 build/templates/build/index.html:12
+#: order/templates/order/sales_order_detail.html:42
+#: templates/InvenTree/index.html:221 templates/InvenTree/search.html:145
+#: users/models.py:44
msgid "Build Orders"
msgstr ""
-#: build/models.py:180
+#: build/models.py:198
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:181 order/models.py:246 order/models.py:547
-#: order/models.py:727 part/models.py:2386
+#: build/models.py:199 order/models.py:249 order/models.py:556
+#: order/models.py:736 part/models.py:2585
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734
-#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863
-#: templates/js/translated/order.js:1438
+#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119
+#: templates/js/translated/order.js:864 templates/js/translated/order.js:1451
msgid "Reference"
msgstr ""
-#: build/models.py:192
+#: build/models.py:210
msgid "Brief description of the build"
msgstr ""
-#: build/models.py:201 build/templates/build/build_base.html:163
-#: build/templates/build/detail.html:80
+#: build/models.py:219 build/templates/build/build_base.html:156
+#: build/templates/build/detail.html:88
msgid "Parent Build"
msgstr ""
-#: build/models.py:202
+#: build/models.py:220
msgid "BuildOrder to which this build is allocated"
msgstr ""
-#: build/models.py:207 build/templates/build/build_base.html:128
-#: build/templates/build/detail.html:29 company/models.py:705
-#: order/models.py:780 order/models.py:851
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298
-#: part/models.py:2000 part/models.py:2016 part/models.py:2035
-#: part/models.py:2053 part/models.py:2132 part/models.py:2254
-#: part/models.py:2361 part/templates/part/detail.html:199
+#: build/models.py:225 build/templates/build/build_base.html:119
+#: build/templates/build/detail.html:30 company/models.py:705
+#: order/models.py:789 order/models.py:860
+#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357
+#: part/models.py:2151 part/models.py:2167 part/models.py:2186
+#: part/models.py:2203 part/models.py:2305 part/models.py:2427
+#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
-#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384
-#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611
-#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222
-#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488
-#: templates/js/translated/company.js:745 templates/js/translated/order.js:425
-#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422
-#: templates/js/translated/part.js:705 templates/js/translated/part.js:875
-#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776
-#: templates/js/translated/stock.js:1817
+#: templates/InvenTree/search.html:86
+#: templates/email/build_order_required_stock.html:17
+#: templates/email/low_stock_notification.html:16
+#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213
+#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620
+#: templates/js/translated/build.js:988 templates/js/translated/build.js:1359
+#: templates/js/translated/build.js:1626 templates/js/translated/company.js:488
+#: templates/js/translated/company.js:745 templates/js/translated/order.js:426
+#: templates/js/translated/order.js:818 templates/js/translated/order.js:1435
+#: templates/js/translated/part.js:726 templates/js/translated/part.js:892
+#: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:2129
msgid "Part"
msgstr ""
-#: build/models.py:215
+#: build/models.py:233
msgid "Select part to build"
msgstr ""
-#: build/models.py:220
+#: build/models.py:238
msgid "Sales Order Reference"
msgstr ""
-#: build/models.py:224
+#: build/models.py:242
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:229 templates/js/translated/build.js:962
+#: build/models.py:247 templates/js/translated/build.js:1347
msgid "Source Location"
msgstr ""
-#: build/models.py:233
+#: build/models.py:251
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr ""
-#: build/models.py:238
+#: build/models.py:256
msgid "Destination Location"
msgstr ""
-#: build/models.py:242
+#: build/models.py:260
msgid "Select location where the completed items will be stored"
msgstr ""
-#: build/models.py:246
+#: build/models.py:264
msgid "Build Quantity"
msgstr ""
-#: build/models.py:249
+#: build/models.py:267
msgid "Number of stock items to build"
msgstr ""
-#: build/models.py:253
+#: build/models.py:271
msgid "Completed items"
msgstr ""
-#: build/models.py:255
+#: build/models.py:273
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:259 part/templates/part/part_base.html:198
+#: build/models.py:277 part/templates/part/part_base.html:216
msgid "Build Status"
msgstr ""
-#: build/models.py:263
+#: build/models.py:281
msgid "Build status code"
msgstr ""
-#: build/models.py:267 stock/models.py:513
+#: build/models.py:285 stock/models.py:544
msgid "Batch Code"
msgstr ""
-#: build/models.py:271
+#: build/models.py:289
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:274 order/models.py:162 part/models.py:854
-#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069
+#: build/models.py:292 order/models.py:165 part/models.py:936
+#: part/templates/part/detail.html:86 templates/js/translated/order.js:1082
msgid "Creation Date"
msgstr ""
-#: build/models.py:278 order/models.py:569
+#: build/models.py:296 order/models.py:578
msgid "Target completion date"
msgstr ""
-#: build/models.py:282 order/models.py:288
-#: templates/js/translated/build.js:1293
+#: build/models.py:297
+msgid "Target date for build completion. Build will be overdue after this date."
+msgstr ""
+
+#: build/models.py:300 order/models.py:291
+#: templates/js/translated/build.js:1697
msgid "Completion Date"
msgstr ""
-#: build/models.py:288
+#: build/models.py:306
msgid "completed by"
msgstr ""
-#: build/models.py:296 templates/js/translated/build.js:1264
+#: build/models.py:314 templates/js/translated/build.js:1668
msgid "Issued by"
msgstr ""
-#: build/models.py:297
+#: build/models.py:315
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:305 build/templates/build/build_base.html:184
-#: build/templates/build/detail.html:108 order/models.py:176
-#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:145 part/models.py:858
+#: build/models.py:323 build/templates/build/build_base.html:177
+#: build/templates/build/detail.html:116 order/models.py:179
+#: order/templates/order/order_base.html:154
+#: order/templates/order/sales_order_base.html:161 part/models.py:940
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1680
msgid "Responsible"
msgstr ""
-#: build/models.py:306
+#: build/models.py:324
msgid "User responsible for this build order"
msgstr ""
-#: build/models.py:311 build/templates/build/detail.html:94
-#: company/templates/company/manufacturer_part.html:83
-#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:266 stock/models.py:507
-#: stock/templates/stock/item_base.html:359
+#: build/models.py:329 build/templates/build/detail.html:102
+#: company/templates/company/manufacturer_part.html:87
+#: company/templates/company/supplier_part.html:88
+#: part/templates/part/detail.html:80 stock/models.py:538
+#: stock/templates/stock/item_base.html:346
msgid "External Link"
msgstr ""
-#: build/models.py:312 part/models.py:716 stock/models.py:509
+#: build/models.py:330 part/models.py:798 stock/models.py:540
msgid "Link to external URL"
msgstr ""
-#: build/models.py:316 build/templates/build/navbar.html:52
-#: company/models.py:142 company/models.py:577
-#: company/templates/company/navbar.html:69
-#: company/templates/company/navbar.html:72 order/models.py:180
-#: order/models.py:729 order/templates/order/po_navbar.html:38
-#: order/templates/order/po_navbar.html:41
-#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:843
-#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120
-#: part/templates/part/navbar.html:123
+#: build/models.py:334 build/serializers.py:201 company/models.py:142
+#: company/models.py:577 order/models.py:183 order/models.py:738
+#: part/models.py:925 part/templates/part/detail.html:223
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579
-#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451
-#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59
-#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841
-#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540
-#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040
+#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610
+#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325
+#: stock/serializers.py:584 templates/js/translated/barcode.js:58
+#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841
+#: templates/js/translated/order.js:963 templates/js/translated/order.js:1561
+#: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340
msgid "Notes"
msgstr ""
-#: build/models.py:317
+#: build/models.py:335
msgid "Extra build notes"
msgstr ""
-#: build/models.py:714
+#: build/models.py:710
msgid "No build output specified"
msgstr ""
-#: build/models.py:717
+#: build/models.py:713
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:720
+#: build/models.py:716
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1102
+#: build/models.py:1108
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1111
+#: build/models.py:1117
#, python-brace-format
msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1121
+#: build/models.py:1127
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1127 order/models.py:955
+#: build/models.py:1133 order/models.py:964
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1133
+#: build/models.py:1139
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1191
+#: build/models.py:1193
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1251 stock/templates/stock/item_base.html:331
-#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195
-#: templates/navbar.html:35
+#: build/models.py:1253 stock/templates/stock/item_base.html:318
+#: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599
+#: templates/navbar.html:33
msgid "Build"
msgstr ""
-#: build/models.py:1252
+#: build/models.py:1254
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1268 build/serializers.py:151
+#: build/models.py:1270 build/serializers.py:328
#: stock/templates/stock/item_base.html:8
-#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:353
-#: stock/templates/stock/stock_adjust.html:16
-#: templates/js/translated/build.js:287 templates/js/translated/build.js:292
-#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148
-#: templates/js/translated/stock.js:1605
+#: stock/templates/stock/item_base.html:16
+#: stock/templates/stock/item_base.html:340
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:413
+#: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742
+#: templates/js/translated/order.js:1156 templates/js/translated/order.js:1161
+#: templates/js/translated/stock.js:1990
msgid "Stock Item"
msgstr ""
-#: build/models.py:1269
+#: build/models.py:1271
msgid "Source stock item"
msgstr ""
-#: build/models.py:1282
+#: build/models.py:1284
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1290
+#: build/models.py:1292
msgid "Install into"
msgstr ""
-#: build/models.py:1291
+#: build/models.py:1293
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:133 part/models.py:2501
-msgid "BOM Item"
-msgstr ""
-
-#: build/serializers.py:142
-msgid "bom_item.part must point to the same part as the build order"
-msgstr ""
-
-#: build/serializers.py:157
-msgid "Item must be in stock"
-msgstr ""
-
-#: build/serializers.py:171 order/models.py:313 order/serializers.py:231
-#: stock/models.py:351 stock/models.py:1072
-msgid "Quantity must be greater than zero"
-msgstr ""
-
-#: build/serializers.py:180
+#: build/serializers.py:137 build/serializers.py:357
msgid "Build Output"
msgstr ""
+#: build/serializers.py:146
+msgid "Build output does not match the parent build"
+msgstr ""
+
+#: build/serializers.py:150
+msgid "Output part does not match BuildOrder part"
+msgstr ""
+
+#: build/serializers.py:154
+msgid "This build output has already been completed"
+msgstr ""
+
+#: build/serializers.py:158
+msgid "This build output is not fully allocated"
+msgstr ""
+
+#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285
+#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686
+#: stock/templates/stock/item_base.html:286
+#: templates/js/translated/barcode.js:384
+#: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420
+#: templates/js/translated/build.js:1027 templates/js/translated/order.js:348
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1276
+#: templates/js/translated/order.js:1282 templates/js/translated/part.js:180
+#: templates/js/translated/stock.js:480 templates/js/translated/stock.js:1221
+#: templates/js/translated/stock.js:1931
+msgid "Location"
+msgstr ""
+
+#: build/serializers.py:191
+msgid "Location for completed build outputs"
+msgstr ""
+
+#: build/serializers.py:197 build/templates/build/build_base.html:129
+#: build/templates/build/detail.html:63 order/models.py:572
+#: order/serializers.py:238 stock/templates/stock/item_base.html:409
+#: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655
+#: templates/js/translated/order.js:431 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196
+#: templates/js/translated/stock.js:2008 templates/js/translated/stock.js:2157
+msgid "Status"
+msgstr ""
+
#: build/serializers.py:213
+msgid "A list of build outputs must be provided"
+msgstr ""
+
+#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700
+#: part/models.py:2859
+msgid "BOM Item"
+msgstr ""
+
+#: build/serializers.py:269
+msgid "Build output"
+msgstr ""
+
+#: build/serializers.py:278
+msgid "Build output must point to the same build"
+msgstr ""
+
+#: build/serializers.py:319
+msgid "bom_item.part must point to the same part as the build order"
+msgstr ""
+
+#: build/serializers.py:334
+msgid "Item must be in stock"
+msgstr ""
+
+#: build/serializers.py:348 order/models.py:316 order/serializers.py:231
+#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298
+msgid "Quantity must be greater than zero"
+msgstr ""
+
+#: build/serializers.py:390
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:219
+#: build/serializers.py:396
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:226
+#: build/serializers.py:403
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:254
+#: build/serializers.py:431
msgid "Allocation items must be provided"
msgstr ""
-#: build/templates/build/allocation_card.html:21
-#: build/templates/build/complete_output.html:46
-#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:501 stock/templates/stock/item_base.html:251
-#: templates/js/translated/build.js:636
-#: templates/js/translated/model_renderers.js:72
-#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342
-msgid "Serial Number"
+#: build/tasks.py:92
+msgid "Stock required for build order"
msgstr ""
-#: build/templates/build/build_base.html:18
+#: build/templates/build/build_base.html:39
+#: order/templates/order/order_base.html:28
+#: order/templates/order/sales_order_base.html:38
+msgid "Print actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:43
+msgid "Print build order report"
+msgstr ""
+
+#: build/templates/build/build_base.html:50
+msgid "Build actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:54
+msgid "Edit Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:56
+#: build/templates/build/build_base.html:207 build/views.py:56
+msgid "Cancel Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:59
+msgid "Delete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:64
+#: build/templates/build/build_base.html:65
+#: build/templates/build/build_base.html:223
+msgid "Complete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:79
#, python-format
msgid "This Build Order is allocated to Sales Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:25
+#: build/templates/build/build_base.html:86
#, python-format
msgid "This Build Order is a child of Build Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:32
+#: build/templates/build/build_base.html:93
msgid "Build Order is ready to mark as completed"
msgstr ""
-#: build/templates/build/build_base.html:37
+#: build/templates/build/build_base.html:98
msgid "Build Order cannot be completed as outstanding outputs remain"
msgstr ""
-#: build/templates/build/build_base.html:42
+#: build/templates/build/build_base.html:103
msgid "Required build quantity has not yet been completed"
msgstr ""
-#: build/templates/build/build_base.html:47
+#: build/templates/build/build_base.html:108
msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
-#: build/templates/build/build_base.html:75
-#: company/templates/company/company_base.html:40
-#: company/templates/company/manufacturer_part.html:29
-#: company/templates/company/supplier_part.html:30
-#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:30
-#: stock/templates/stock/item_base.html:62
-#: stock/templates/stock/location.html:31
-msgid "Admin view"
+#: build/templates/build/build_base.html:138
+#: build/templates/build/detail.html:132
+#: order/templates/order/order_base.html:140
+#: order/templates/order/sales_order_base.html:140
+#: report/templates/report/inventree_build_order_base.html:126
+#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690
+#: templates/js/translated/order.js:1087
+msgid "Target Date"
msgstr ""
-#: build/templates/build/build_base.html:81
-#: build/templates/build/build_base.html:150
-#: order/templates/order/order_base.html:32
-#: order/templates/order/order_base.html:86
-#: order/templates/order/sales_order_base.html:43
-#: order/templates/order/sales_order_base.html:93
-#: templates/js/translated/table_filters.js:272
-#: templates/js/translated/table_filters.js:300
-#: templates/js/translated/table_filters.js:317
-msgid "Overdue"
-msgstr ""
-
-#: build/templates/build/build_base.html:90
-msgid "Print actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:94
-msgid "Print Build Order"
-msgstr ""
-
-#: build/templates/build/build_base.html:100
-#: build/templates/build/build_base.html:222
-msgid "Complete Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:105
-msgid "Build actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:109
-msgid "Edit Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:111
-#: build/templates/build/build_base.html:206 build/views.py:56
-msgid "Cancel Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:114
-msgid "Delete Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:124
-#: build/templates/build/detail.html:15
-msgid "Build Details"
-msgstr ""
-
-#: build/templates/build/build_base.html:150
+#: build/templates/build/build_base.html:143
#, python-format
msgid "This build was due on %(target)s"
msgstr ""
-#: build/templates/build/build_base.html:157
-#: build/templates/build/detail.html:67
-msgid "Progress"
+#: build/templates/build/build_base.html:143
+#: build/templates/build/build_base.html:188
+#: order/templates/order/order_base.html:81
+#: order/templates/order/order_base.html:102
+#: order/templates/order/sales_order_base.html:78
+#: order/templates/order/sales_order_base.html:107
+#: templates/js/translated/table_filters.js:288
+#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:333
+msgid "Overdue"
msgstr ""
-#: build/templates/build/build_base.html:170
-#: build/templates/build/detail.html:87 order/models.py:848
+#: build/templates/build/build_base.html:150
+#: build/templates/build/detail.html:68 build/templates/build/detail.html:143
+#: templates/js/translated/build.js:1641
+#: templates/js/translated/table_filters.js:298
+msgid "Completed"
+msgstr ""
+
+#: build/templates/build/build_base.html:163
+#: build/templates/build/detail.html:95 order/models.py:857
#: order/templates/order/sales_order_base.html:9
-#: order/templates/order/sales_order_base.html:35
+#: order/templates/order/sales_order_base.html:28
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:293
-#: templates/js/translated/order.js:1016
+#: stock/templates/stock/item_base.html:280
+#: templates/js/translated/order.js:1029
msgid "Sales Order"
msgstr ""
-#: build/templates/build/build_base.html:177
-#: build/templates/build/detail.html:101
+#: build/templates/build/build_base.html:170
+#: build/templates/build/detail.html:109
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:214
+#: build/templates/build/build_base.html:215
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:215
+#: build/templates/build/build_base.html:216
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
@@ -1175,220 +1148,195 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/templates/build/complete_output.html:10
-msgid "Stock allocation is complete for this output"
+#: build/templates/build/detail.html:16
+msgid "Build Details"
msgstr ""
-#: build/templates/build/complete_output.html:14
-msgid "Stock allocation is incomplete"
-msgstr ""
-
-#: build/templates/build/complete_output.html:20
-msgid "tracked parts have not been fully allocated"
-msgstr ""
-
-#: build/templates/build/complete_output.html:41
-msgid "The following items will be created"
-msgstr ""
-
-#: build/templates/build/detail.html:38
+#: build/templates/build/detail.html:39
msgid "Stock Source"
msgstr ""
-#: build/templates/build/detail.html:43
+#: build/templates/build/detail.html:44
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134
-#: templates/js/translated/order.js:431 templates/js/translated/order.js:939
+#: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150
+#: templates/js/translated/order.js:432 templates/js/translated/order.js:952
msgid "Destination"
msgstr ""
-#: build/templates/build/detail.html:56
+#: build/templates/build/detail.html:57
msgid "Destination location not specified"
msgstr ""
-#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:317
-#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852
-#: templates/js/translated/table_filters.js:129
-#: templates/js/translated/table_filters.js:211
+#: build/templates/build/detail.html:74 templates/js/translated/build.js:647
+msgid "Allocated Parts"
+msgstr ""
+
+#: build/templates/build/detail.html:81
+#: stock/templates/stock/item_base.html:304
+#: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164
+#: templates/js/translated/table_filters.js:145
+#: templates/js/translated/table_filters.js:227
msgid "Batch"
msgstr ""
-#: build/templates/build/detail.html:119
-#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:118
-#: templates/js/translated/build.js:1259
+#: build/templates/build/detail.html:127
+#: order/templates/order/order_base.html:127
+#: order/templates/order/sales_order_base.html:134
+#: templates/js/translated/build.js:1663
msgid "Created"
msgstr ""
-#: build/templates/build/detail.html:130
+#: build/templates/build/detail.html:138
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237
-#: templates/js/translated/table_filters.js:282
-msgid "Completed"
-msgstr ""
-
-#: build/templates/build/detail.html:139
+#: build/templates/build/detail.html:147
msgid "Build not complete"
msgstr ""
-#: build/templates/build/detail.html:150 build/templates/build/navbar.html:35
+#: build/templates/build/detail.html:158
msgid "Child Build Orders"
msgstr ""
-#: build/templates/build/detail.html:166
+#: build/templates/build/detail.html:173
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:172
-msgid "Allocate stock to build"
-msgstr ""
-
-#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20
-#: build/templates/build/navbar.html:23
-msgid "Allocate Stock"
-msgstr ""
-
-#: build/templates/build/detail.html:175 templates/js/translated/build.js:817
+#: build/templates/build/detail.html:177 templates/js/translated/build.js:1202
msgid "Unallocate stock"
msgstr ""
-#: build/templates/build/detail.html:176 build/views.py:257
+#: build/templates/build/detail.html:178
msgid "Unallocate Stock"
msgstr ""
-#: build/templates/build/detail.html:179
+#: build/templates/build/detail.html:180
+msgid "Allocate stock to build"
+msgstr ""
+
+#: build/templates/build/detail.html:181
+msgid "Allocate Stock"
+msgstr ""
+
+#: build/templates/build/detail.html:184
msgid "Order required parts"
msgstr ""
-#: build/templates/build/detail.html:180
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72 order/views.py:509
-#: part/templates/part/category.html:140
+#: build/templates/build/detail.html:185
+#: company/templates/company/detail.html:38
+#: company/templates/company/detail.html:85 order/views.py:509
+#: part/templates/part/category.html:166
msgid "Order Parts"
msgstr ""
-#: build/templates/build/detail.html:186
+#: build/templates/build/detail.html:197
msgid "Untracked stock has been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:190
+#: build/templates/build/detail.html:201
msgid "Untracked stock has not been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:197
+#: build/templates/build/detail.html:208
msgid "Allocate selected items"
msgstr ""
-#: build/templates/build/detail.html:209
+#: build/templates/build/detail.html:218
msgid "This Build Order does not have any associated untracked BOM items"
msgstr ""
-#: build/templates/build/detail.html:218
+#: build/templates/build/detail.html:227
msgid "Incomplete Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:223
+#: build/templates/build/detail.html:231
msgid "Create new build output"
msgstr ""
-#: build/templates/build/detail.html:224
-msgid "Create New Output"
+#: build/templates/build/detail.html:232
+msgid "New Build Output"
msgstr ""
-#: build/templates/build/detail.html:237
-msgid "Create a new build output"
+#: build/templates/build/detail.html:246
+msgid "Output Actions"
msgstr ""
-#: build/templates/build/detail.html:238
-msgid "No incomplete build outputs remain."
+#: build/templates/build/detail.html:250
+msgid "Complete selected items"
msgstr ""
-#: build/templates/build/detail.html:239
-msgid "Create a new build output using the button above"
+#: build/templates/build/detail.html:251
+msgid "Complete outputs"
msgstr ""
-#: build/templates/build/detail.html:247
+#: build/templates/build/detail.html:266
msgid "Completed Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42
-#: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35
-#: order/templates/order/sales_order_detail.html:43
-#: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173
-#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117
-#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47
-#: stock/templates/stock/navbar.html:50
+#: build/templates/build/detail.html:278
+#: order/templates/order/purchase_order_detail.html:60
+#: order/templates/order/sales_order_detail.html:52
+#: part/templates/part/detail.html:300 stock/templates/stock/item.html:95
msgid "Attachments"
msgstr ""
-#: build/templates/build/detail.html:269
+#: build/templates/build/detail.html:294
msgid "Build Notes"
msgstr ""
-#: build/templates/build/detail.html:273 build/templates/build/detail.html:414
-#: company/templates/company/detail.html:169
-#: company/templates/company/detail.html:196
-#: order/templates/order/purchase_order_detail.html:71
-#: order/templates/order/purchase_order_detail.html:104
-#: order/templates/order/sales_order_detail.html:58
-#: order/templates/order/sales_order_detail.html:85
-#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103
-#: stock/templates/stock/item.html:188
+#: build/templates/build/detail.html:298 build/templates/build/detail.html:489
+#: company/templates/company/detail.html:188
+#: company/templates/company/detail.html:215
+#: order/templates/order/purchase_order_detail.html:80
+#: order/templates/order/purchase_order_detail.html:108
+#: order/templates/order/sales_order_detail.html:72
+#: order/templates/order/sales_order_detail.html:99
+#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115
+#: stock/templates/stock/item.html:205
msgid "Edit Notes"
msgstr ""
-#: build/templates/build/detail.html:373
-#: order/templates/order/po_attachments.html:79
-#: order/templates/order/purchase_order_detail.html:166
-#: order/templates/order/sales_order_detail.html:146
-#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253
-#: templates/attachment_table.html:6
+#: build/templates/build/detail.html:448
+#: order/templates/order/purchase_order_detail.html:170
+#: order/templates/order/sales_order_detail.html:160
+#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270
+#: templates/attachment_button.html:4
msgid "Add Attachment"
msgstr ""
-#: build/templates/build/detail.html:392
-#: order/templates/order/po_attachments.html:51
-#: order/templates/order/purchase_order_detail.html:138
-#: order/templates/order/sales_order_detail.html:119
-#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221
+#: build/templates/build/detail.html:467
+#: order/templates/order/purchase_order_detail.html:142
+#: order/templates/order/sales_order_detail.html:133
+#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238
msgid "Edit Attachment"
msgstr ""
-#: build/templates/build/detail.html:399
-#: order/templates/order/po_attachments.html:58
-#: order/templates/order/purchase_order_detail.html:145
-#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230
-#: templates/js/translated/order.js:1230
+#: build/templates/build/detail.html:474
+#: order/templates/order/purchase_order_detail.html:149
+#: order/templates/order/sales_order_detail.html:139
+#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247
+#: templates/js/translated/order.js:1243
msgid "Confirm Delete Operation"
msgstr ""
-#: build/templates/build/detail.html:400
-#: order/templates/order/po_attachments.html:59
-#: order/templates/order/purchase_order_detail.html:146
-#: order/templates/order/sales_order_detail.html:126
-#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231
+#: build/templates/build/detail.html:475
+#: order/templates/order/purchase_order_detail.html:150
+#: order/templates/order/sales_order_detail.html:140
+#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248
msgid "Delete Attachment"
msgstr ""
-#: build/templates/build/detail.html:443
+#: build/templates/build/detail.html:513
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:444
+#: build/templates/build/detail.html:514
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/edit_build_item.html:7
-msgid "Alter the quantity of stock allocated to the build output"
-msgstr ""
-
-#: build/templates/build/index.html:28
+#: build/templates/build/index.html:18 part/templates/part/detail.html:433
msgid "New Build Order"
msgstr ""
@@ -1396,47 +1344,18 @@ msgstr ""
msgid "Print Build Orders"
msgstr ""
-#: build/templates/build/index.html:43
-#: order/templates/order/purchase_orders.html:27
-#: order/templates/order/sales_orders.html:27
+#: build/templates/build/index.html:44
+#: order/templates/order/purchase_orders.html:34
+#: order/templates/order/sales_orders.html:37
msgid "Display calendar view"
msgstr ""
-#: build/templates/build/index.html:46
-#: order/templates/order/purchase_orders.html:30
-#: order/templates/order/sales_orders.html:30
+#: build/templates/build/index.html:47
+#: order/templates/order/purchase_orders.html:37
+#: order/templates/order/sales_orders.html:40
msgid "Display list view"
msgstr ""
-#: build/templates/build/navbar.html:12
-msgid "Build Order Details"
-msgstr ""
-
-#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/translated/stock.js:1534
-msgid "Details"
-msgstr ""
-
-#: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31
-msgid "Build Outputs"
-msgstr ""
-
-#: build/templates/build/navbar.html:38
-msgid "Child Builds"
-msgstr ""
-
-#: build/templates/build/navbar.html:49
-msgid "Build Order Notes"
-msgstr ""
-
-#: build/templates/build/unallocate.html:10
-msgid "Are you sure you wish to unallocate all stock for this build?"
-msgstr ""
-
-#: build/templates/build/unallocate.html:12
-msgid "All incomplete stock allocations will be removed from the build"
-msgstr ""
-
#: build/views.py:76
msgid "Build was cancelled"
msgstr ""
@@ -1449,7 +1368,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:122 stock/views.py:1366
+#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290
msgid "Serial numbers already exist"
msgstr ""
@@ -1461,11 +1380,11 @@ msgstr ""
msgid "Delete Build Output"
msgstr ""
-#: build/views.py:218 build/views.py:308
+#: build/views.py:218
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:219 build/views.py:309 stock/views.py:381
+#: build/views.py:219 stock/views.py:385
msgid "Check the confirmation box"
msgstr ""
@@ -1473,7 +1392,7 @@ msgstr ""
msgid "Build output does not match build"
msgstr ""
-#: build/views.py:233 build/views.py:434
+#: build/views.py:233
msgid "Build output must be specified"
msgstr ""
@@ -1481,39 +1400,19 @@ msgstr ""
msgid "Build output deleted"
msgstr ""
-#: build/views.py:343
+#: build/views.py:261
msgid "Complete Build Order"
msgstr ""
-#: build/views.py:349
+#: build/views.py:267
msgid "Build order cannot be completed - incomplete outputs remain"
msgstr ""
-#: build/views.py:360
+#: build/views.py:278
msgid "Completed build order"
msgstr ""
-#: build/views.py:376
-msgid "Complete Build Output"
-msgstr ""
-
-#: build/views.py:418
-msgid "Invalid stock status value selected"
-msgstr ""
-
-#: build/views.py:425
-msgid "Quantity to complete cannot exceed build output quantity"
-msgstr ""
-
-#: build/views.py:431
-msgid "Confirm completion of incomplete build"
-msgstr ""
-
-#: build/views.py:530
-msgid "Build output completed"
-msgstr ""
-
-#: build/views.py:567
+#: build/views.py:319
msgid "Delete Build Order"
msgstr ""
@@ -1554,728 +1453,728 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:308 common/models.py:887 common/models.py:1048
+#: common/models.py:340 common/models.py:970 common/models.py:1178
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:310
+#: common/models.py:342
msgid "Settings value"
msgstr ""
-#: common/models.py:345
+#: common/models.py:377
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:368
+#: common/models.py:382
+msgid "Chosen value is not a valid option"
+msgstr ""
+
+#: common/models.py:405
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:379
+#: common/models.py:416
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:402
+#: common/models.py:439
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:509
+#: common/models.py:559
+msgid "No group"
+msgstr ""
+
+#: common/models.py:601
+msgid "Restart required"
+msgstr ""
+
+#: common/models.py:602
+msgid "A setting has been changed which requires a server restart"
+msgstr ""
+
+#: common/models.py:609
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:511
+#: common/models.py:611
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:515
+#: common/models.py:615
msgid "Use instance name"
msgstr ""
-#: common/models.py:516
+#: common/models.py:616
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:522 company/models.py:100 company/models.py:101
+#: common/models.py:622 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr ""
-#: common/models.py:523
+#: common/models.py:623
msgid "Internal company name"
msgstr ""
-#: common/models.py:528
+#: common/models.py:628
msgid "Base URL"
msgstr ""
-#: common/models.py:529
+#: common/models.py:629
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:535
+#: common/models.py:635
msgid "Default Currency"
msgstr ""
-#: common/models.py:536
+#: common/models.py:636
msgid "Default currency"
msgstr ""
-#: common/models.py:542
+#: common/models.py:642
msgid "Download from URL"
msgstr ""
-#: common/models.py:543
+#: common/models.py:643
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:549
+#: common/models.py:649
msgid "Barcode Support"
msgstr ""
-#: common/models.py:550
+#: common/models.py:650
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:556
+#: common/models.py:656
msgid "IPN Regex"
msgstr ""
-#: common/models.py:557
+#: common/models.py:657
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:561
+#: common/models.py:661
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:562
+#: common/models.py:662
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:568
+#: common/models.py:668
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:569
+#: common/models.py:669
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:575
+#: common/models.py:675
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:576
+#: common/models.py:676
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:582
+#: common/models.py:682
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:583
+#: common/models.py:683
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:589
+#: common/models.py:689
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:590
+#: common/models.py:690
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:596
+#: common/models.py:696
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:597
+#: common/models.py:697
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:603 part/models.py:2256 report/models.py:187
-#: stock/forms.py:224 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:351
+#: common/models.py:703 part/models.py:2429 report/models.py:187
+#: templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:367
msgid "Template"
msgstr ""
-#: common/models.py:604
+#: common/models.py:704
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:610 part/models.py:806
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:363
+#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954
+#: templates/js/translated/table_filters.js:162
+#: templates/js/translated/table_filters.js:379
msgid "Assembly"
msgstr ""
-#: common/models.py:611
+#: common/models.py:711
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:617 part/models.py:812
-#: templates/js/translated/table_filters.js:367
+#: common/models.py:717 part/models.py:894
+#: templates/js/translated/table_filters.js:383
msgid "Component"
msgstr ""
-#: common/models.py:618
+#: common/models.py:718
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:624 part/models.py:823
+#: common/models.py:724 part/models.py:905
msgid "Purchaseable"
msgstr ""
-#: common/models.py:625
+#: common/models.py:725
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:631 part/models.py:828
-#: templates/js/translated/table_filters.js:375
+#: common/models.py:731 part/models.py:910
+#: templates/js/translated/table_filters.js:391
msgid "Salable"
msgstr ""
-#: common/models.py:632
+#: common/models.py:732
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:638 part/models.py:818
+#: common/models.py:738 part/models.py:900
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:379
+#: templates/js/translated/table_filters.js:94
+#: templates/js/translated/table_filters.js:395
msgid "Trackable"
msgstr ""
-#: common/models.py:639
+#: common/models.py:739
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:645 part/models.py:838
-#: part/templates/part/part_base.html:66
+#: common/models.py:745 part/models.py:920
+#: part/templates/part/part_base.html:144
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:646
+#: common/models.py:746
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:652
+#: common/models.py:752
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:653
+#: common/models.py:753
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:659
+#: common/models.py:759
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:660
+#: common/models.py:760
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:671
+#: common/models.py:771
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:672
+#: common/models.py:772
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:678
+#: common/models.py:778
msgid "Show related parts"
msgstr ""
-#: common/models.py:679
+#: common/models.py:779
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:685
+#: common/models.py:785
msgid "Create initial stock"
msgstr ""
-#: common/models.py:686
+#: common/models.py:786
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:692
+#: common/models.py:792
msgid "Internal Prices"
msgstr ""
-#: common/models.py:693
+#: common/models.py:793
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:699
+#: common/models.py:799
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:700
+#: common/models.py:800
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:706 templates/stats.html:25
+#: common/models.py:806
+msgid "Part Name Display Format"
+msgstr ""
+
+#: common/models.py:807
+msgid "Format to display the part name"
+msgstr ""
+
+#: common/models.py:814
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:815
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:821 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:707
+#: common/models.py:822
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:713
+#: common/models.py:828
msgid "Page Size"
msgstr ""
-#: common/models.py:714
+#: common/models.py:829
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:724
+#: common/models.py:839
msgid "Test Reports"
msgstr ""
-#: common/models.py:725
+#: common/models.py:840
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:731
+#: common/models.py:846
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:732
+#: common/models.py:847
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:738
+#: common/models.py:853
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:739
+#: common/models.py:854
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:745
+#: common/models.py:860
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:746
+#: common/models.py:861
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:748
+#: common/models.py:863
msgid "days"
msgstr ""
-#: common/models.py:753
+#: common/models.py:868
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:754
+#: common/models.py:869
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:760
+#: common/models.py:875
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:761
+#: common/models.py:876
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:767
+#: common/models.py:882
msgid "Group by Part"
msgstr ""
-#: common/models.py:768
+#: common/models.py:883
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:774
+#: common/models.py:889
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:775
+#: common/models.py:890
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:780
+#: common/models.py:895
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:781
+#: common/models.py:896
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:785
+#: common/models.py:900
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:786
+#: common/models.py:901
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:791
+#: common/models.py:906
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:792
+#: common/models.py:907
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:798
-msgid "Enable build"
-msgstr ""
-
-#: common/models.py:799
-msgid "Enable build functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:804
-msgid "Enable buy"
-msgstr ""
-
-#: common/models.py:805
-msgid "Enable buy functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:810
-msgid "Enable sell"
-msgstr ""
-
-#: common/models.py:811
-msgid "Enable sell functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:816
-msgid "Enable stock"
-msgstr ""
-
-#: common/models.py:817
-msgid "Enable stock functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:822
-msgid "Enable SO"
-msgstr ""
-
-#: common/models.py:823
-msgid "Enable SO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:828
-msgid "Enable PO"
-msgstr ""
-
-#: common/models.py:829
-msgid "Enable PO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:836
+#: common/models.py:913
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:837
-msgid "Enable password forgot function on the login-pages"
+#: common/models.py:914
+msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:842
+#: common/models.py:919
msgid "Enable registration"
msgstr ""
-#: common/models.py:843
-msgid "Enable self-registration for users on the login-pages"
+#: common/models.py:920
+msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:848
+#: common/models.py:925
msgid "Enable SSO"
msgstr ""
-#: common/models.py:849
-msgid "Enable SSO on the login-pages"
+#: common/models.py:926
+msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:854
-msgid "E-Mail required"
+#: common/models.py:931
+msgid "Email required"
msgstr ""
-#: common/models.py:855
+#: common/models.py:932
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:860
+#: common/models.py:937
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:861
+#: common/models.py:938
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:943
msgid "Mail twice"
msgstr ""
-#: common/models.py:867
+#: common/models.py:944
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:872
+#: common/models.py:949
msgid "Password twice"
msgstr ""
-#: common/models.py:873
+#: common/models.py:950
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:898
-msgid "Show starred parts"
+#: common/models.py:955
+msgid "Group on signup"
msgstr ""
-#: common/models.py:899
-msgid "Show starred parts on the homepage"
+#: common/models.py:956
+msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:904
-msgid "Show latest parts"
-msgstr ""
-
-#: common/models.py:905
-msgid "Show latest parts on the homepage"
-msgstr ""
-
-#: common/models.py:910
-msgid "Recent Part Count"
-msgstr ""
-
-#: common/models.py:911
-msgid "Number of recent parts to display on index page"
-msgstr ""
-
-#: common/models.py:917
-msgid "Show unvalidated BOMs"
-msgstr ""
-
-#: common/models.py:918
-msgid "Show BOMs that await validation on the homepage"
-msgstr ""
-
-#: common/models.py:923
-msgid "Show recent stock changes"
-msgstr ""
-
-#: common/models.py:924
-msgid "Show recently changed stock items on the homepage"
-msgstr ""
-
-#: common/models.py:929
-msgid "Recent Stock Count"
-msgstr ""
-
-#: common/models.py:930
-msgid "Number of recent stock items to display on index page"
-msgstr ""
-
-#: common/models.py:935
-msgid "Show low stock"
-msgstr ""
-
-#: common/models.py:936
-msgid "Show low stock items on the homepage"
-msgstr ""
-
-#: common/models.py:941
-msgid "Show depleted stock"
-msgstr ""
-
-#: common/models.py:942
-msgid "Show depleted stock items on the homepage"
-msgstr ""
-
-#: common/models.py:947
-msgid "Show needed stock"
-msgstr ""
-
-#: common/models.py:948
-msgid "Show stock items needed for builds on the homepage"
-msgstr ""
-
-#: common/models.py:953
-msgid "Show expired stock"
-msgstr ""
-
-#: common/models.py:954
-msgid "Show expired stock items on the homepage"
-msgstr ""
-
-#: common/models.py:959
-msgid "Show stale stock"
-msgstr ""
-
-#: common/models.py:960
-msgid "Show stale stock items on the homepage"
-msgstr ""
-
-#: common/models.py:965
-msgid "Show pending builds"
-msgstr ""
-
-#: common/models.py:966
-msgid "Show pending builds on the homepage"
-msgstr ""
-
-#: common/models.py:971
-msgid "Show overdue builds"
-msgstr ""
-
-#: common/models.py:972
-msgid "Show overdue builds on the homepage"
-msgstr ""
-
-#: common/models.py:977
-msgid "Show outstanding POs"
-msgstr ""
-
-#: common/models.py:978
-msgid "Show outstanding POs on the homepage"
-msgstr ""
-
-#: common/models.py:983
-msgid "Show overdue POs"
-msgstr ""
-
-#: common/models.py:984
-msgid "Show overdue POs on the homepage"
-msgstr ""
-
-#: common/models.py:989
-msgid "Show outstanding SOs"
-msgstr ""
-
-#: common/models.py:990
-msgid "Show outstanding SOs on the homepage"
-msgstr ""
-
-#: common/models.py:995
-msgid "Show overdue SOs"
-msgstr ""
-
-#: common/models.py:996
-msgid "Show overdue SOs on the homepage"
+#: common/models.py:1001
+msgid "Show subscribed parts"
msgstr ""
#: common/models.py:1002
+msgid "Show subscribed parts on the homepage"
+msgstr ""
+
+#: common/models.py:1007
+msgid "Show subscribed categories"
+msgstr ""
+
+#: common/models.py:1008
+msgid "Show subscribed part categories on the homepage"
+msgstr ""
+
+#: common/models.py:1013
+msgid "Show latest parts"
+msgstr ""
+
+#: common/models.py:1014
+msgid "Show latest parts on the homepage"
+msgstr ""
+
+#: common/models.py:1019
+msgid "Recent Part Count"
+msgstr ""
+
+#: common/models.py:1020
+msgid "Number of recent parts to display on index page"
+msgstr ""
+
+#: common/models.py:1026
+msgid "Show unvalidated BOMs"
+msgstr ""
+
+#: common/models.py:1027
+msgid "Show BOMs that await validation on the homepage"
+msgstr ""
+
+#: common/models.py:1032
+msgid "Show recent stock changes"
+msgstr ""
+
+#: common/models.py:1033
+msgid "Show recently changed stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1038
+msgid "Recent Stock Count"
+msgstr ""
+
+#: common/models.py:1039
+msgid "Number of recent stock items to display on index page"
+msgstr ""
+
+#: common/models.py:1044
+msgid "Show low stock"
+msgstr ""
+
+#: common/models.py:1045
+msgid "Show low stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1050
+msgid "Show depleted stock"
+msgstr ""
+
+#: common/models.py:1051
+msgid "Show depleted stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1056
+msgid "Show needed stock"
+msgstr ""
+
+#: common/models.py:1057
+msgid "Show stock items needed for builds on the homepage"
+msgstr ""
+
+#: common/models.py:1062
+msgid "Show expired stock"
+msgstr ""
+
+#: common/models.py:1063
+msgid "Show expired stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1068
+msgid "Show stale stock"
+msgstr ""
+
+#: common/models.py:1069
+msgid "Show stale stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1074
+msgid "Show pending builds"
+msgstr ""
+
+#: common/models.py:1075
+msgid "Show pending builds on the homepage"
+msgstr ""
+
+#: common/models.py:1080
+msgid "Show overdue builds"
+msgstr ""
+
+#: common/models.py:1081
+msgid "Show overdue builds on the homepage"
+msgstr ""
+
+#: common/models.py:1086
+msgid "Show outstanding POs"
+msgstr ""
+
+#: common/models.py:1087
+msgid "Show outstanding POs on the homepage"
+msgstr ""
+
+#: common/models.py:1092
+msgid "Show overdue POs"
+msgstr ""
+
+#: common/models.py:1093
+msgid "Show overdue POs on the homepage"
+msgstr ""
+
+#: common/models.py:1098
+msgid "Show outstanding SOs"
+msgstr ""
+
+#: common/models.py:1099
+msgid "Show outstanding SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Show overdue SOs"
+msgstr ""
+
+#: common/models.py:1105
+msgid "Show overdue SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1111
msgid "Inline label display"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1112
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1118
msgid "Inline report display"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1119
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1125
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1126
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:1023
+#: common/models.py:1132
+msgid "Search Show Stock"
+msgstr ""
+
+#: common/models.py:1133
+msgid "Display stock levels in search preview window"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Hide Inactive Parts"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Hide inactive parts in search preview window"
+msgstr ""
+
+#: common/models.py:1146
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1024
+#: common/models.py:1147
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1153
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1154
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1088 company/forms.py:43
+#: common/models.py:1160
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1161
+msgid "InvenTree navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1226 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1095 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1369
+#: common/models.py:1233 company/serializers.py:264
+#: company/templates/company/supplier_part.html:256
+#: templates/js/translated/part.js:1508
msgid "Price"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1234
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1189
-msgid "Default"
-msgstr ""
-
-#: common/templates/common/edit_setting.html:11
-msgid "Current value"
-msgstr ""
-
-#: common/views.py:33
-msgid "Change Setting"
-msgstr ""
-
-#: common/views.py:119
-msgid "Supplied value is not allowed"
-msgstr ""
-
-#: common/views.py:128
-msgid "Supplied value must be a boolean"
-msgstr ""
-
-#: common/views.py:138
-msgid "Change User Setting"
-msgstr ""
-
-#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42
-#: order/templates/order/po_navbar.html:19
-#: order/templates/order/po_navbar.html:22
-#: order/templates/order/purchase_order_detail.html:27 order/views.py:289
-#: part/templates/part/bom_upload/upload_file.html:65
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
-#: part/views.py:882
+#: common/views.py:93 order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:289
+#: part/templates/part/bom_upload/upload_file.html:51
+#: part/templates/part/import_wizard/part_upload.html:46 part/views.py:281
+#: part/views.py:923
msgid "Upload File"
msgstr ""
-#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
+#: common/views.py:94 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
-#: part/views.py:883
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:282
+#: part/views.py:924
msgid "Match Fields"
msgstr ""
-#: common/views.py:215
+#: common/views.py:95
msgid "Match Items"
msgstr ""
-#: common/views.py:560
+#: common/views.py:440
msgid "Fields matching failed"
msgstr ""
-#: common/views.py:615
+#: common/views.py:495
msgid "Parts imported"
msgstr ""
-#: common/views.py:637 order/templates/order/order_wizard/match_fields.html:27
+#: common/views.py:517 order/templates/order/order_wizard/match_fields.html:27
#: order/templates/order/order_wizard/match_parts.html:19
-#: order/templates/order/order_wizard/po_upload.html:40
+#: order/templates/order/order_wizard/po_upload.html:46
#: part/templates/part/bom_upload/match_fields.html:27
#: part/templates/part/bom_upload/match_parts.html:19
-#: part/templates/part/bom_upload/upload_file.html:63
+#: part/templates/part/bom_upload/upload_file.html:49
#: part/templates/part/import_wizard/match_fields.html:27
#: part/templates/part/import_wizard/match_references.html:19
-#: part/templates/part/import_wizard/part_upload.html:43
+#: part/templates/part/import_wizard/part_upload.html:44
msgid "Previous Step"
msgstr ""
@@ -2321,6 +2220,7 @@ msgid "Contact phone number"
msgstr ""
#: company/models.py:125 company/templates/company/company_base.html:102
+#: templates/InvenTree/settings/user.html:46
msgid "Email"
msgstr ""
@@ -2337,10 +2237,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:131 company/models.py:348 company/models.py:564
-#: order/models.py:160 part/models.py:715
+#: order/models.py:163 part/models.py:797
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:536
-#: templates/js/translated/company.js:825 templates/js/translated/part.js:983
+#: templates/js/translated/company.js:825 templates/js/translated/part.js:984
msgid "Link"
msgstr ""
@@ -2348,7 +2248,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:725
+#: company/models.py:139 part/models.py:807
msgid "Image"
msgstr ""
@@ -2376,8 +2276,8 @@ msgstr ""
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:152 company/serializers.py:264
-#: company/templates/company/company_base.html:76 stock/serializers.py:158
+#: company/models.py:152 company/serializers.py:270
+#: company/templates/company/company_base.html:76 stock/serializers.py:172
msgid "Currency"
msgstr ""
@@ -2385,8 +2285,8 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:454
-#: stock/templates/stock/item_base.html:237
+#: company/models.py:320 company/models.py:535 stock/models.py:484
+#: stock/templates/stock/item_base.html:224
msgid "Base Part"
msgstr ""
@@ -2395,28 +2295,28 @@ msgid "Select part"
msgstr ""
#: company/models.py:335 company/templates/company/company_base.html:116
-#: company/templates/company/manufacturer_part.html:89
-#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:247 stock/templates/stock/item_base.html:366
+#: company/templates/company/manufacturer_part.html:93
+#: company/templates/company/supplier_part.html:104
+#: stock/templates/stock/item_base.html:353
#: templates/js/translated/company.js:332
#: templates/js/translated/company.js:513
-#: templates/js/translated/company.js:796 templates/js/translated/part.js:227
+#: templates/js/translated/company.js:796 templates/js/translated/part.js:228
msgid "Manufacturer"
msgstr ""
-#: company/models.py:336 templates/js/translated/part.js:228
+#: company/models.py:336 templates/js/translated/part.js:229
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:342 company/templates/company/manufacturer_part.html:93
-#: company/templates/company/supplier_part.html:106 part/bom.py:171
-#: part/bom.py:248 templates/js/translated/company.js:529
-#: templates/js/translated/company.js:814 templates/js/translated/order.js:851
-#: templates/js/translated/part.js:238
+#: company/models.py:342 company/templates/company/manufacturer_part.html:97
+#: company/templates/company/supplier_part.html:112
+#: templates/js/translated/company.js:529
+#: templates/js/translated/company.js:814 templates/js/translated/order.js:852
+#: templates/js/translated/part.js:239
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:239
+#: company/models.py:343 templates/js/translated/part.js:240
msgid "Manufacturer Part Number"
msgstr ""
@@ -2431,7 +2331,7 @@ msgstr ""
#: company/models.py:409 company/models.py:558
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:376
+#: stock/templates/stock/item_base.html:363
msgid "Manufacturer Part"
msgstr ""
@@ -2440,10 +2340,9 @@ msgid "Parameter name"
msgstr ""
#: company/models.py:422
-#: report/templates/report/inventree_test_report_base.html:90
-#: stock/models.py:1816 templates/InvenTree/settings/header.html:8
-#: templates/js/translated/company.js:643 templates/js/translated/part.js:623
-#: templates/js/translated/stock.js:555
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:1867 templates/js/translated/company.js:643
+#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848
msgid "Value"
msgstr ""
@@ -2451,8 +2350,9 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:800 part/models.py:2224
-#: templates/js/translated/company.js:649 templates/js/translated/part.js:629
+#: company/models.py:429 part/models.py:882 part/models.py:2397
+#: part/templates/part/detail.html:59 templates/js/translated/company.js:649
+#: templates/js/translated/part.js:650
msgid "Units"
msgstr ""
@@ -2465,27 +2365,27 @@ msgid "Linked manufacturer part must reference the same base part"
msgstr ""
#: company/models.py:545 company/templates/company/company_base.html:121
-#: company/templates/company/supplier_part.html:88 order/models.py:260
-#: order/templates/order/order_base.html:92
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:292 stock/templates/stock/item_base.html:383
+#: company/templates/company/supplier_part.html:94 order/models.py:263
+#: order/templates/order/order_base.html:108
+#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219
+#: part/bom.py:247 stock/templates/stock/item_base.html:370
#: templates/js/translated/company.js:336
-#: templates/js/translated/company.js:770 templates/js/translated/order.js:659
-#: templates/js/translated/part.js:208
+#: templates/js/translated/company.js:770 templates/js/translated/order.js:660
+#: templates/js/translated/part.js:209
msgid "Supplier"
msgstr ""
-#: company/models.py:546 templates/js/translated/part.js:209
+#: company/models.py:546 templates/js/translated/part.js:210
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:92
-#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838
-#: templates/js/translated/part.js:219
+#: company/models.py:551 company/templates/company/supplier_part.html:98
+#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:839
+#: templates/js/translated/part.js:220
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:220
+#: company/models.py:552 templates/js/translated/part.js:221
msgid "Supplier stock keeping unit"
msgstr ""
@@ -2501,23 +2401,23 @@ msgstr ""
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:120
-#: part/models.py:2389 report/templates/report/inventree_po_report.html:93
+#: company/models.py:576 company/templates/company/supplier_part.html:126
+#: part/models.py:2588 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:113
-#: stock/models.py:478 stock/templates/stock/item_base.html:324
-#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036
+#: company/models.py:582 company/templates/company/supplier_part.html:119
+#: stock/models.py:507 stock/templates/stock/item_base.html:311
+#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336
msgid "Packaging"
msgstr ""
@@ -2525,7 +2425,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1605
+#: company/models.py:584 part/models.py:1750
msgid "multiple"
msgstr ""
@@ -2533,46 +2433,42 @@ msgstr ""
msgid "Order multiple"
msgstr ""
-#: company/serializers.py:68
+#: company/serializers.py:70
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:69
+#: company/serializers.py:71
msgid "Currency Code"
msgstr ""
-#: company/templates/company/company_base.html:9
-#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321
+#: company/templates/company/company_base.html:8
+#: company/templates/company/company_base.html:12
+#: templates/InvenTree/search.html:182 templates/js/translated/company.js:321
msgid "Company"
msgstr ""
-#: company/templates/company/company_base.html:25
-#: part/templates/part/part_thumb.html:21
-msgid "Upload new image"
-msgstr ""
-
-#: company/templates/company/company_base.html:27
-#: part/templates/part/part_thumb.html:23
-msgid "Download image from URL"
-msgstr ""
-
-#: company/templates/company/company_base.html:46
-#: templates/js/translated/order.js:120
+#: company/templates/company/company_base.html:22
+#: templates/js/translated/order.js:121
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:51
+#: company/templates/company/company_base.html:27
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:56
-#: company/templates/company/company_base.html:153
+#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:148
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:64
-msgid "Company Details"
+#: company/templates/company/company_base.html:48
+#: part/templates/part/part_thumb.html:12
+msgid "Upload new image"
+msgstr ""
+
+#: company/templates/company/company_base.html:51
+#: part/templates/part/part_thumb.html:14
+msgid "Download image from URL"
msgstr ""
#: company/templates/company/company_base.html:81
@@ -2583,145 +2479,133 @@ msgstr ""
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:126 order/models.py:558
-#: order/templates/order/sales_order_base.html:99 stock/models.py:496
-#: stock/models.py:497 stock/templates/stock/item_base.html:276
-#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038
-#: templates/js/translated/stock.js:1587
+#: company/templates/company/company_base.html:126 order/models.py:567
+#: order/templates/order/sales_order_base.html:114 stock/models.py:525
+#: stock/models.py:526 stock/templates/stock/item_base.html:263
+#: templates/js/translated/company.js:328 templates/js/translated/order.js:1051
+#: templates/js/translated/stock.js:1972
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:199
-#: part/templates/part/part_base.html:424
+#: company/templates/company/company_base.html:194
+#: part/templates/part/part_base.html:342
msgid "Upload Image"
msgstr ""
-#: company/templates/company/detail.html:14
-#: company/templates/company/manufacturer_part_navbar.html:18
-#: templates/InvenTree/search.html:150
+#: company/templates/company/detail.html:15 templates/InvenTree/search.html:124
msgid "Supplier Parts"
msgstr ""
-#: company/templates/company/detail.html:22
+#: company/templates/company/detail.html:19
#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr ""
-#: company/templates/company/detail.html:23
-#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289
+#: company/templates/company/detail.html:20
+#: company/templates/company/manufacturer_part.html:112
+#: part/templates/part/detail.html:466
msgid "New Supplier Part"
msgstr ""
-#: company/templates/company/detail.html:27
-#: company/templates/company/detail.html:67
-#: company/templates/company/manufacturer_part.html:112
-#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/category.html:135 part/templates/part/detail.html:292
-#: part/templates/part/detail.html:315
+#: company/templates/company/detail.html:32
+#: company/templates/company/detail.html:79
+#: company/templates/company/manufacturer_part.html:121
+#: company/templates/company/manufacturer_part.html:150
+#: part/templates/part/category.html:160 part/templates/part/detail.html:475
+#: part/templates/part/detail.html:503
msgid "Options"
msgstr ""
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72
-#: part/templates/part/category.html:140
+#: company/templates/company/detail.html:37
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:166
msgid "Order parts"
msgstr ""
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:42
+#: company/templates/company/detail.html:89
msgid "Delete parts"
msgstr ""
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:43
+#: company/templates/company/detail.html:90
msgid "Delete Parts"
msgstr ""
-#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135
+#: company/templates/company/detail.html:62 templates/InvenTree/search.html:109
msgid "Manufacturer Parts"
msgstr ""
-#: company/templates/company/detail.html:62
+#: company/templates/company/detail.html:66
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:63 part/templates/part/detail.html:312
+#: company/templates/company/detail.html:67 part/templates/part/detail.html:493
msgid "New Manufacturer Part"
msgstr ""
-#: company/templates/company/detail.html:93
+#: company/templates/company/detail.html:107
msgid "Supplier Stock"
msgstr ""
-#: company/templates/company/detail.html:102
-#: company/templates/company/navbar.html:46
-#: company/templates/company/navbar.html:49
+#: company/templates/company/detail.html:117
+#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
-#: order/templates/order/purchase_orders.html:13
-#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82
-#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260
-#: templates/InvenTree/search.html:229
-#: templates/InvenTree/settings/navbar.html:119
-#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44
+#: order/templates/order/purchase_orders.html:12
+#: part/templates/part/detail.html:171 templates/InvenTree/index.html:252
+#: templates/InvenTree/search.html:203 templates/navbar.html:45
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
-#: company/templates/company/detail.html:108
-#: order/templates/order/purchase_orders.html:20
+#: company/templates/company/detail.html:121
+#: order/templates/order/purchase_orders.html:17
msgid "Create new purchase order"
msgstr ""
-#: company/templates/company/detail.html:109
-#: order/templates/order/purchase_orders.html:21
+#: company/templates/company/detail.html:122
+#: order/templates/order/purchase_orders.html:18
msgid "New Purchase Order"
msgstr ""
-#: company/templates/company/detail.html:124
-#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58
+#: company/templates/company/detail.html:143
+#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
-#: order/templates/order/sales_orders.html:13
-#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91
-#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291
-#: templates/InvenTree/search.html:249
-#: templates/InvenTree/settings/navbar.html:125
-#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55
+#: order/templates/order/sales_orders.html:15
+#: part/templates/part/detail.html:194 templates/InvenTree/index.html:283
+#: templates/InvenTree/search.html:223 templates/navbar.html:56
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
-#: company/templates/company/detail.html:130
+#: company/templates/company/detail.html:147
#: order/templates/order/sales_orders.html:20
msgid "Create new sales order"
msgstr ""
-#: company/templates/company/detail.html:131
+#: company/templates/company/detail.html:148
#: order/templates/order/sales_orders.html:21
msgid "New Sales Order"
msgstr ""
-#: company/templates/company/detail.html:147
-#: company/templates/company/navbar.html:61
-#: company/templates/company/navbar.html:64
-#: templates/js/translated/build.js:622
+#: company/templates/company/detail.html:168
+#: templates/js/translated/build.js:999
msgid "Assigned Stock"
msgstr ""
-#: company/templates/company/detail.html:165
+#: company/templates/company/detail.html:184
msgid "Company Notes"
msgstr ""
-#: company/templates/company/detail.html:364
-#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:357
+#: company/templates/company/detail.html:383
+#: company/templates/company/manufacturer_part.html:209
+#: part/templates/part/detail.html:546
msgid "Delete Supplier Parts?"
msgstr ""
-#: company/templates/company/detail.html:365
-#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:358
+#: company/templates/company/detail.html:384
+#: company/templates/company/manufacturer_part.html:210
+#: part/templates/part/detail.html:547
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2729,204 +2613,172 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:40
-#: company/templates/company/supplier_part.html:40
-#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116
+#: company/templates/company/manufacturer_part.html:14 company/views.py:55
+#: part/templates/part/prices.html:167 templates/InvenTree/search.html:184
+#: templates/navbar.html:44
+msgid "Manufacturers"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:35
+#: company/templates/company/supplier_part.html:34
+#: company/templates/company/supplier_part.html:159
+#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:40
#: templates/js/translated/company.js:561
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:49
+#: company/templates/company/manufacturer_part.html:44
#: templates/js/translated/company.js:562
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:61
-msgid "Manufacturer Part Details"
-msgstr ""
-
-#: company/templates/company/manufacturer_part.html:66
-#: company/templates/company/supplier_part.html:65
+#: company/templates/company/manufacturer_part.html:70
+#: company/templates/company/supplier_part.html:71
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/manufacturer_part_navbar.html:21
-#: company/views.py:49 part/templates/part/navbar.html:75
-#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163
-#: templates/InvenTree/search.html:220 templates/navbar.html:41
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: part/templates/part/prices.html:163 templates/InvenTree/search.html:194
+#: templates/navbar.html:43
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: part/templates/part/detail.html:294
+#: company/templates/company/manufacturer_part.html:123
+#: part/templates/part/detail.html:477
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: company/templates/company/manufacturer_part.html:138
-#: company/templates/company/manufacturer_part.html:239
-#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/translated/company.js:424
-#: templates/js/translated/helpers.js:31 users/models.py:199
+#: company/templates/company/manufacturer_part.html:123
+#: company/templates/company/manufacturer_part.html:152
+#: company/templates/company/manufacturer_part.html:248
+#: part/templates/part/detail.html:351 part/templates/part/detail.html:477
+#: part/templates/part/detail.html:505 templates/js/translated/company.js:424
+#: templates/js/translated/helpers.js:31 users/models.py:204
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:127
-#: company/templates/company/manufacturer_part_navbar.html:11
-#: company/templates/company/manufacturer_part_navbar.html:14
-#: part/templates/part/category_navbar.html:38
-#: part/templates/part/category_navbar.html:41
-#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20
-#: part/templates/part/navbar.html:23
+#: company/templates/company/manufacturer_part.html:137
+#: part/templates/part/detail.html:277
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:133
-#: part/templates/part/detail.html:162
-#: templates/InvenTree/settings/category.html:26
-#: templates/InvenTree/settings/part.html:63
+#: company/templates/company/manufacturer_part.html:141
+#: part/templates/part/detail.html:282
+#: templates/InvenTree/settings/category.html:12
+#: templates/InvenTree/settings/part.html:65
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:138
+#: company/templates/company/manufacturer_part.html:152
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:805
+#: company/templates/company/manufacturer_part.html:185
+#: part/templates/part/detail.html:983
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:224
+#: company/templates/company/manufacturer_part.html:233
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:236
+#: company/templates/company/manufacturer_part.html:245
msgid "Delete Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part_navbar.html:26
-msgid "Manufacturer Part Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:29
-#: company/templates/company/navbar.html:39
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/navbar.html:38 stock/api.py:52
-#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182
-#: templates/InvenTree/settings/navbar.html:107
-#: templates/InvenTree/settings/navbar.html:109
-#: templates/js/translated/part.js:540 templates/js/translated/part.js:769
-#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182
-#: templates/js/translated/stock.js:829 templates/navbar.html:32
-msgid "Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:33
-msgid "Manufacturer Part Orders"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:36
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr ""
-
-#: company/templates/company/navbar.html:17
-#: company/templates/company/navbar.html:20
-msgid "Manufactured Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:26
-#: company/templates/company/navbar.html:29
-msgid "Supplied Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35
-#: stock/templates/stock/location.html:119
-#: stock/templates/stock/location.html:134
-#: stock/templates/stock/location.html:148
-#: stock/templates/stock/location_navbar.html:18
-#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486
-#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
-msgid "Stock Items"
-msgstr ""
-
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:463
-#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993
+#: company/templates/company/supplier_part.html:24 stock/models.py:492
+#: stock/templates/stock/item_base.html:375
+#: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44
+#: company/templates/company/supplier_part.html:38
#: templates/js/translated/company.js:859
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48
+#: company/templates/company/supplier_part.html:42
#: templates/js/translated/company.js:860
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:60
-msgid "Supplier Part Details"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:131
+#: company/templates/company/supplier_part.html:138
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:140
+#: company/templates/company/supplier_part.html:141
+#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147
+msgid "Create new stock item"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:142
+#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148
+#: templates/js/translated/stock.js:324
+msgid "New Stock Item"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:155
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:147
-#: part/templates/part/detail.html:56
+#: company/templates/company/supplier_part.html:160
+#: part/templates/part/detail.html:175
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:158
-#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7
+#: company/templates/company/supplier_part.html:179
+#: part/templates/part/prices.html:7
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:164
-#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:271 part/views.py:1730
+#: company/templates/company/supplier_part.html:184
+#: company/templates/company/supplier_part.html:290
+#: part/templates/part/prices.html:271 part/views.py:1782
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:185
+#: company/templates/company/supplier_part.html:210
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:1792
+#: company/templates/company/supplier_part.html:224 part/views.py:1844
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:1778
+#: company/templates/company/supplier_part.html:238 part/views.py:1830
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
+#: company/templates/company/supplier_part.html:263
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:239
+#: company/templates/company/supplier_part.html:264
msgid "Delete price break"
msgstr ""
+#: company/templates/company/supplier_part_navbar.html:15
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426
+#: templates/js/translated/part.js:561 templates/js/translated/part.js:786
+#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479
+#: templates/js/translated/stock.js:1132 templates/navbar.html:26
+msgid "Stock"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:22
+msgid "Orders"
+msgstr ""
+
#: company/templates/company/supplier_part_navbar.html:26
msgid "Supplier Part Pricing"
msgstr ""
@@ -2939,17 +2791,12 @@ msgstr ""
msgid "New Supplier"
msgstr ""
-#: company/views.py:55 part/templates/part/prices.html:167
-#: templates/InvenTree/search.html:210 templates/navbar.html:42
-msgid "Manufacturers"
-msgstr ""
-
#: company/views.py:56
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:240
-#: templates/navbar.html:53
+#: company/views.py:61 templates/InvenTree/search.html:214
+#: templates/navbar.html:55
msgid "Customers"
msgstr ""
@@ -2965,24 +2812,24 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:608
+#: company/views.py:129 part/views.py:649
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:640
+#: company/views.py:158 part/views.py:681
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:647
+#: company/views.py:165 part/views.py:688
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:656
+#: company/views.py:174 part/views.py:697
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:57 report/api.py:201
+#: label/api.py:57 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -2994,7 +2841,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:167
+#: label/models.py:127
msgid "Label"
msgstr ""
@@ -3039,7 +2886,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:259 label/models.py:319 label/models.py:366
-#: report/models.py:322 report/models.py:457 report/models.py:495
+#: report/models.py:322 report/models.py:459 report/models.py:497
msgid "Filters"
msgstr ""
@@ -3051,240 +2898,236 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:250
-msgid "Matching purchase order does not exist"
-msgstr ""
-
-#: order/forms.py:27 order/templates/order/order_base.html:50
+#: order/forms.py:26 order/templates/order/order_base.html:52
msgid "Place order"
msgstr ""
-#: order/forms.py:38 order/templates/order/order_base.html:57
+#: order/forms.py:37 order/templates/order/order_base.html:59
msgid "Mark order as complete"
msgstr ""
-#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:64
+#: order/forms.py:48 order/forms.py:59 order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
msgid "Cancel order"
msgstr ""
-#: order/forms.py:71 order/templates/order/sales_order_base.html:61
+#: order/forms.py:70
msgid "Ship order"
msgstr ""
-#: order/forms.py:97
+#: order/forms.py:98
msgid "Enter stock item serial numbers"
msgstr ""
-#: order/forms.py:103
+#: order/forms.py:104
msgid "Enter quantity of stock items"
msgstr ""
-#: order/models.py:158
+#: order/models.py:161
msgid "Order description"
msgstr ""
-#: order/models.py:160
+#: order/models.py:163
msgid "Link to external page"
msgstr ""
-#: order/models.py:168
+#: order/models.py:171
msgid "Created By"
msgstr ""
-#: order/models.py:175
+#: order/models.py:178
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:180
+#: order/models.py:183
msgid "Order notes"
msgstr ""
-#: order/models.py:247 order/models.py:548
+#: order/models.py:250 order/models.py:557
msgid "Order reference"
msgstr ""
-#: order/models.py:252 order/models.py:563
+#: order/models.py:255 order/models.py:572
msgid "Purchase order status"
msgstr ""
-#: order/models.py:261
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/translated/order.js:668
+#: order/models.py:267 order/templates/order/order_base.html:114
+#: templates/js/translated/order.js:669
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:264
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:271
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:276
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:277
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:282
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:283
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:289
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:318
+#: order/models.py:321
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:428
+#: order/models.py:431
msgid "Quantity must be an integer"
msgstr ""
-#: order/models.py:432
+#: order/models.py:435
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:559
+#: order/models.py:568
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer Reference "
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:570
+#: order/models.py:579
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:573 templates/js/translated/order.js:1079
+#: order/models.py:582 templates/js/translated/order.js:1092
msgid "Shipment Date"
msgstr ""
-#: order/models.py:580
+#: order/models.py:589
msgid "shipped by"
msgstr ""
-#: order/models.py:624
+#: order/models.py:633
msgid "SalesOrder cannot be shipped as it is not currently pending"
msgstr ""
-#: order/models.py:721
+#: order/models.py:730
msgid "Item quantity"
msgstr ""
-#: order/models.py:727
+#: order/models.py:736
msgid "Line item reference"
msgstr ""
-#: order/models.py:729
+#: order/models.py:738
msgid "Line item notes"
msgstr ""
-#: order/models.py:759 order/models.py:847
-#: templates/js/translated/order.js:1131
+#: order/models.py:768 order/models.py:856
+#: templates/js/translated/order.js:1144
msgid "Order"
msgstr ""
-#: order/models.py:760 order/templates/order/order_base.html:9
-#: order/templates/order/order_base.html:24
+#: order/models.py:769 order/templates/order/order_base.html:9
+#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:338
-#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970
-#: templates/js/translated/stock.js:1568
+#: stock/templates/stock/item_base.html:325
+#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1270
+#: templates/js/translated/stock.js:1953
msgid "Purchase Order"
msgstr ""
-#: order/models.py:781
+#: order/models.py:790
msgid "Supplier part"
msgstr ""
-#: order/models.py:788 order/templates/order/order_base.html:131
-#: order/templates/order/sales_order_base.html:138
-#: templates/js/translated/order.js:428 templates/js/translated/order.js:919
+#: order/models.py:797 order/templates/order/order_base.html:147
+#: order/templates/order/sales_order_base.html:154
+#: templates/js/translated/order.js:429 templates/js/translated/order.js:932
msgid "Received"
msgstr ""
-#: order/models.py:789
+#: order/models.py:798
msgid "Number of items received"
msgstr ""
-#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588
-#: stock/serializers.py:150 stock/templates/stock/item_base.html:345
-#: templates/js/translated/stock.js:1024
+#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619
+#: stock/serializers.py:163 stock/templates/stock/item_base.html:332
+#: templates/js/translated/stock.js:1324
msgid "Purchase Price"
msgstr ""
-#: order/models.py:797
+#: order/models.py:806
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:805
+#: order/models.py:814
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:857 part/templates/part/part_pricing.html:112
+#: order/models.py:866 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:116 part/templates/part/prices.html:284
msgid "Sale Price"
msgstr ""
-#: order/models.py:858
+#: order/models.py:867
msgid "Unit sale price"
msgstr ""
-#: order/models.py:937 order/models.py:939
+#: order/models.py:946 order/models.py:948
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:943
+#: order/models.py:952
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:945
+#: order/models.py:954
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:948
+#: order/models.py:957
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:952
+#: order/models.py:961
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:958
+#: order/models.py:967
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:966
+#: order/models.py:975
msgid "Line"
msgstr ""
-#: order/models.py:978
+#: order/models.py:987
msgid "Item"
msgstr ""
-#: order/models.py:979
+#: order/models.py:988
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:982
+#: order/models.py:991
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3300,7 +3143,7 @@ msgstr ""
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:218 order/serializers.py:285
+#: order/serializers.py:218 order/serializers.py:286
msgid "Select destination location for received items"
msgstr ""
@@ -3312,72 +3155,70 @@ msgstr ""
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:259
+#: order/serializers.py:260
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:297
+#: order/serializers.py:298
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:314
+#: order/serializers.py:315
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:325
+#: order/serializers.py:326
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:569
+#: order/serializers.py:568
msgid "Sale price currency"
msgstr ""
#: order/templates/order/delete_attachment.html:5
#: stock/templates/stock/attachment_delete.html:5
-#: templates/attachment_delete.html:5
msgid "Are you sure you want to delete this attachment?"
msgstr ""
-#: order/templates/order/order_base.html:39
-#: order/templates/order/sales_order_base.html:50
-msgid "Print"
+#: order/templates/order/order_base.html:33
+msgid "Print purchase order report"
msgstr ""
-#: order/templates/order/order_base.html:42
-#: order/templates/order/sales_order_base.html:53
+#: order/templates/order/order_base.html:35
+#: order/templates/order/sales_order_base.html:45
msgid "Export order to file"
msgstr ""
-#: order/templates/order/order_base.html:46
-#: order/templates/order/sales_order_base.html:57
-msgid "Edit order information"
+#: order/templates/order/order_base.html:41
+#: order/templates/order/sales_order_base.html:54
+msgid "Order actions"
msgstr ""
-#: order/templates/order/order_base.html:54
+#: order/templates/order/order_base.html:45
+#: order/templates/order/sales_order_base.html:58
+msgid "Edit order"
+msgstr ""
+
+#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
-#: order/templates/order/order_base.html:72
-#: order/templates/order/po_navbar.html:12
-msgid "Purchase Order Details"
-msgstr ""
-
-#: order/templates/order/order_base.html:77
-#: order/templates/order/sales_order_base.html:84
+#: order/templates/order/order_base.html:93
+#: order/templates/order/sales_order_base.html:98
msgid "Order Reference"
msgstr ""
-#: order/templates/order/order_base.html:82
-#: order/templates/order/sales_order_base.html:89
+#: order/templates/order/order_base.html:98
+#: order/templates/order/sales_order_base.html:103
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:117
+#: order/templates/order/order_base.html:133
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:185
+#: order/templates/order/order_base.html:203
msgid "Edit Purchase Order"
msgstr ""
@@ -3453,7 +3294,8 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/build.js:869 templates/js/translated/order.js:376
+#: templates/js/translated/build.js:240 templates/js/translated/build.js:1251
+#: templates/js/translated/order.js:377
msgid "Remove row"
msgstr ""
@@ -3475,19 +3317,19 @@ msgstr ""
msgid "Select Supplier Part"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:11
+#: order/templates/order/order_wizard/po_upload.html:16
msgid "Upload File for Purchase Order"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:18
-#: part/templates/part/bom_upload/upload_file.html:34
+#: order/templates/order/order_wizard/po_upload.html:24
+#: part/templates/part/bom_upload/upload_file.html:20
#: part/templates/part/import_wizard/ajax_part_upload.html:10
-#: part/templates/part/import_wizard/part_upload.html:21
+#: part/templates/part/import_wizard/part_upload.html:22
#, python-format
msgid "Step %(step)s of %(count)s"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/order_wizard/po_upload.html:54
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
@@ -3530,7 +3372,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084
+#: templates/js/translated/order.js:695 templates/js/translated/order.js:1097
msgid "Items"
msgstr ""
@@ -3548,30 +3390,14 @@ msgstr ""
msgid "Select a purchase order for %(name)s"
msgstr ""
-#: order/templates/order/po_attachments.html:12
-#: order/templates/order/po_navbar.html:32
-#: order/templates/order/purchase_order_detail.html:56
-msgid "Purchase Order Attachments"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:26
-msgid "Received Stock Items"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:29
-#: order/templates/order/po_received_items.html:12
-#: order/templates/order/purchase_order_detail.html:47
-msgid "Received Items"
-msgstr ""
-
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:24
-#: order/templates/order/purchase_order_detail.html:212
+#: order/templates/order/purchase_order_detail.html:27
+#: order/templates/order/purchase_order_detail.html:216
#: order/templates/order/sales_order_detail.html:23
-#: order/templates/order/sales_order_detail.html:177
+#: order/templates/order/sales_order_detail.html:191
msgid "Add Line Item"
msgstr ""
@@ -3583,34 +3409,43 @@ msgstr ""
msgid "Receive Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
-#: order/templates/order/sales_order_detail.html:54
+#: order/templates/order/purchase_order_detail.html:50
+msgid "Received Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:76
+#: order/templates/order/sales_order_detail.html:68
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_orders.html:24
-#: order/templates/order/sales_orders.html:24
+#: order/templates/order/purchase_orders.html:30
+#: order/templates/order/sales_orders.html:33
msgid "Print Order Reports"
msgstr ""
-#: order/templates/order/sales_order_base.html:16
+#: order/templates/order/sales_order_base.html:43
+msgid "Print sales order report"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:47
+msgid "Print packing list"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:66
+#: order/templates/order/sales_order_base.html:67 order/views.py:222
+msgid "Ship Order"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:86
msgid "This Sales Order has not been fully allocated"
msgstr ""
-#: order/templates/order/sales_order_base.html:70
-msgid "Packing List"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:79
-msgid "Sales Order Details"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:105
-#: templates/js/translated/order.js:1051
+#: order/templates/order/sales_order_base.html:121
+#: templates/js/translated/order.js:1064
msgid "Customer Reference"
msgstr ""
-#: order/templates/order/sales_order_base.html:183
+#: order/templates/order/sales_order_base.html:194
msgid "Edit Sales Order"
msgstr ""
@@ -3625,7 +3460,7 @@ msgstr ""
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -3653,18 +3488,6 @@ msgstr ""
msgid "Allocate stock items by serial number"
msgstr ""
-#: order/templates/order/so_navbar.html:12
-msgid "Sales Order Line Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:15
-msgid "Order Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:26
-msgid "Sales Order Attachments"
-msgstr ""
-
#: order/views.py:103
msgid "Cancel Order"
msgstr ""
@@ -3705,10 +3528,6 @@ msgstr ""
msgid "Purchase order completed"
msgstr ""
-#: order/views.py:222
-msgid "Ship Order"
-msgstr ""
-
#: order/views.py:238
msgid "Confirm order shipment"
msgstr ""
@@ -3776,40 +3595,28 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7
-#: part/templates/part/category.html:108 part/templates/part/category.html:122
-#: part/templates/part/category_navbar.html:21
-#: part/templates/part/category_navbar.html:24
-#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97
-#: templates/js/translated/part.js:1165 templates/navbar.html:29
-#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
-msgid "Parts"
-msgstr ""
-
-#: part/api.py:700
+#: part/api.py:731
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:704
+#: part/api.py:735
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:719
+#: part/api.py:750
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773
+#: part/api.py:781 part/api.py:785 part/api.py:800 part/api.py:804
msgid "This field is required"
msgstr ""
-#: part/bom.py:133 part/models.py:76 part/models.py:734
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:290
+#: part/bom.py:125 part/models.py:81 part/models.py:816
+#: part/templates/part/category.html:90 part/templates/part/detail.html:104
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:156
+#: part/bom.py:126 part/templates/part/part_base.html:167
msgid "Available Stock"
msgstr ""
@@ -3869,7 +3676,7 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:96 part/models.py:2254
+#: part/forms.py:96 part/models.py:2427
msgid "Parent Part"
msgstr ""
@@ -3901,455 +3708,458 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:226
+#: part/forms.py:214
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:230
+#: part/forms.py:218
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:250
+#: part/forms.py:238
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:77
+#: part/models.py:82
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords"
msgstr ""
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:90 part/models.py:2300
+#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:91 part/templates/part/category.html:32
-#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
-#: templates/stats.html:84 users/models.py:40
+#: part/models.py:96 part/templates/part/category.html:117
+#: templates/InvenTree/search.html:101 templates/stats.html:84
+#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:384
+#: part/models.py:358 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:13 part/templates/part/category.html:122
+#: part/templates/part/category.html:142 templates/InvenTree/index.html:85
+#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304
+#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89
+#: users/models.py:41
+msgid "Parts"
+msgstr ""
+
+#: part/models.py:450
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:436 part/models.py:448
+#: part/models.py:502 part/models.py:514
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:545
+#: part/models.py:611
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:549
+#: part/models.py:615
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:554
+#: part/models.py:620
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:633
+#: part/models.py:715
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:658
+#: part/models.py:740
msgid "Part name"
msgstr ""
-#: part/models.py:665
+#: part/models.py:747
msgid "Is Template"
msgstr ""
-#: part/models.py:666
+#: part/models.py:748
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:676
+#: part/models.py:758
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:677
+#: part/models.py:759
msgid "Variant Of"
msgstr ""
-#: part/models.py:683
+#: part/models.py:765
msgid "Part description"
msgstr ""
-#: part/models.py:688 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:259
+#: part/models.py:770 part/templates/part/category.html:97
+#: part/templates/part/detail.html:73
msgid "Keywords"
msgstr ""
-#: part/models.py:689
+#: part/models.py:771
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:696 part/models.py:2299
-#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:169
-#: templates/js/translated/part.js:927
+#: part/models.py:778 part/models.py:2223 part/models.py:2472
+#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15
+#: templates/InvenTree/settings/settings.html:163
+#: templates/js/translated/part.js:928
msgid "Category"
msgstr ""
-#: part/models.py:697
+#: part/models.py:779
msgid "Part category"
msgstr ""
-#: part/models.py:702 part/templates/part/part_base.html:235
-#: templates/js/translated/part.js:528 templates/js/translated/part.js:760
+#: part/models.py:784 part/templates/part/detail.html:45
+#: templates/js/translated/part.js:549
msgid "IPN"
msgstr ""
-#: part/models.py:703
+#: part/models.py:785
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:709
+#: part/models.py:791
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:710 part/templates/part/part_base.html:252
-#: report/models.py:200 templates/js/translated/part.js:532
+#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200
+#: templates/js/translated/part.js:553
msgid "Revision"
msgstr ""
-#: part/models.py:732
+#: part/models.py:814
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:779 part/templates/part/part_base.html:297
+#: part/models.py:861 part/templates/part/detail.html:113
msgid "Default Supplier"
msgstr ""
-#: part/models.py:780
+#: part/models.py:862
msgid "Default supplier part"
msgstr ""
-#: part/models.py:787
+#: part/models.py:869
msgid "Default Expiry"
msgstr ""
-#: part/models.py:788
+#: part/models.py:870
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:793
+#: part/models.py:875 part/templates/part/part_base.html:178
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:794
+#: part/models.py:876
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:801
+#: part/models.py:883
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:807
+#: part/models.py:889
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:813
+#: part/models.py:895
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:819
+#: part/models.py:901
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:824
+#: part/models.py:906
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:911
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:833 templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:82
-#: templates/js/translated/table_filters.js:268
-#: templates/js/translated/table_filters.js:346
+#: part/models.py:915 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:362
msgid "Active"
msgstr ""
-#: part/models.py:834
+#: part/models.py:916
msgid "Is this part active?"
msgstr ""
-#: part/models.py:839
+#: part/models.py:921
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:844
+#: part/models.py:926
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "BOM checksum"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:850
+#: part/models.py:932
msgid "BOM checked by"
msgstr ""
-#: part/models.py:852
+#: part/models.py:934
msgid "BOM checked date"
msgstr ""
-#: part/models.py:856
+#: part/models.py:938
msgid "Creation User"
msgstr ""
-#: part/models.py:1605
+#: part/models.py:1750
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2100
+#: part/models.py:2273
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2117
+#: part/models.py:2290
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2137 templates/js/translated/part.js:1216
-#: templates/js/translated/stock.js:535
+#: part/models.py:2310 templates/js/translated/part.js:1355
+#: templates/js/translated/stock.js:828
msgid "Test Name"
msgstr ""
-#: part/models.py:2138
+#: part/models.py:2311
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2143
+#: part/models.py:2316
msgid "Test Description"
msgstr ""
-#: part/models.py:2144
+#: part/models.py:2317
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2149 templates/js/translated/part.js:1225
-#: templates/js/translated/table_filters.js:254
+#: part/models.py:2322 templates/js/translated/part.js:1364
+#: templates/js/translated/table_filters.js:270
msgid "Required"
msgstr ""
-#: part/models.py:2150
+#: part/models.py:2323
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2155 templates/js/translated/part.js:1233
+#: part/models.py:2328 templates/js/translated/part.js:1372
msgid "Requires Value"
msgstr ""
-#: part/models.py:2156
+#: part/models.py:2329
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2161 templates/js/translated/part.js:1240
+#: part/models.py:2334 templates/js/translated/part.js:1379
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2162
+#: part/models.py:2335
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2173
+#: part/models.py:2346
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2209
+#: part/models.py:2382
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2217
+#: part/models.py:2390
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2224
+#: part/models.py:2397
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2256 part/models.py:2305 part/models.py:2306
-#: templates/InvenTree/settings/settings.html:164
+#: part/models.py:2429 part/models.py:2478 part/models.py:2479
+#: templates/InvenTree/settings/settings.html:158
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Data"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2310 templates/InvenTree/settings/settings.html:173
+#: part/models.py:2483 templates/InvenTree/settings/settings.html:167
msgid "Default Value"
msgstr ""
-#: part/models.py:2311
+#: part/models.py:2484
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2561
msgid "Select parent part"
msgstr ""
-#: part/models.py:2370
+#: part/models.py:2569
msgid "Sub part"
msgstr ""
-#: part/models.py:2371
+#: part/models.py:2570
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2377
+#: part/models.py:2576
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2379 templates/js/translated/bom.js:275
-#: templates/js/translated/bom.js:335
+#: part/models.py:2578 templates/js/translated/bom.js:452
+#: templates/js/translated/bom.js:526
+#: templates/js/translated/table_filters.js:86
msgid "Optional"
msgstr ""
-#: part/models.py:2379
+#: part/models.py:2578
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2382
+#: part/models.py:2581
msgid "Overage"
msgstr ""
-#: part/models.py:2383
+#: part/models.py:2582
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2585
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2588
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "Checksum"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2395 templates/js/translated/bom.js:352
-#: templates/js/translated/bom.js:359
+#: part/models.py:2594 templates/js/translated/bom.js:543
+#: templates/js/translated/bom.js:550
#: templates/js/translated/table_filters.js:68
+#: templates/js/translated/table_filters.js:82
msgid "Inherited"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2595
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2401 templates/js/translated/bom.js:344
+#: part/models.py:2600 templates/js/translated/bom.js:535
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2402
+#: part/models.py:2601
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2487 stock/models.py:341
+#: part/models.py:2686 stock/models.py:371
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2496 part/models.py:2498
+#: part/models.py:2695 part/models.py:2697
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2620
+#: part/models.py:2826
+msgid "BOM Item Substitute"
+msgstr ""
+
+#: part/models.py:2848
+msgid "Substitute part cannot be the same as the master part"
+msgstr ""
+
+#: part/models.py:2860
+msgid "Parent BOM item"
+msgstr ""
+
+#: part/models.py:2868
+msgid "Substitute part"
+msgstr ""
+
+#: part/models.py:2879
msgid "Part 1"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Part 2"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2656
+#: part/models.py:2915
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
+#: part/tasks.py:53
+msgid "Low stock notification"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
-#: part/templates/part/bom.html:14
+#: part/templates/part/bom.html:15
#, python-format
msgid "The BOM for %(part)s has changed, and must be validated.
"
msgstr ""
-#: part/templates/part/bom.html:16
+#: part/templates/part/bom.html:17
#, python-format
msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s"
msgstr ""
-#: part/templates/part/bom.html:20
+#: part/templates/part/bom.html:21
#, python-format
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:27
-msgid "Remove selected BOM items"
-msgstr ""
-
-#: part/templates/part/bom.html:30
-msgid "Import BOM data"
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:383
+msgid "BOM actions"
msgstr ""
#: part/templates/part/bom.html:34
-msgid "Copy BOM from parent part"
-msgstr ""
-
-#: part/templates/part/bom.html:38
-msgid "New BOM Item"
-msgstr ""
-
-#: part/templates/part/bom.html:41
-msgid "Finish Editing"
-msgstr ""
-
-#: part/templates/part/bom.html:46
-msgid "Edit BOM"
-msgstr ""
-
-#: part/templates/part/bom.html:50
-msgid "Validate Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:56 part/views.py:1220
-msgid "Export Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:59
-msgid "Print BOM Report"
+msgid "Delete Items"
msgstr ""
#: part/templates/part/bom_duplicate.html:13
@@ -4360,28 +4170,23 @@ msgstr ""
msgid "Select Part"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:13
-#: part/templates/part/bom_upload/upload_file.html:16
-msgid "Return To BOM"
-msgstr ""
-
-#: part/templates/part/bom_upload/upload_file.html:27
+#: part/templates/part/bom_upload/upload_file.html:12
msgid "Upload Bill of Materials"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:46
+#: part/templates/part/bom_upload/upload_file.html:32
msgid "Requirements for BOM upload"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "The BOM file must contain the required named columns as provided in the "
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "BOM Upload Template"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:49
+#: part/templates/part/bom_upload/upload_file.html:35
msgid "Each part must already exist in the database"
msgstr ""
@@ -4394,93 +4199,103 @@ msgstr ""
msgid "This will validate each line in the BOM."
msgstr ""
-#: part/templates/part/category.html:33
-msgid "All parts"
+#: part/templates/part/category.html:24 part/templates/part/category.html:28
+msgid "You are subscribed to notifications for this category"
+msgstr ""
+
+#: part/templates/part/category.html:32
+msgid "Subscribe to notifications for this category"
msgstr ""
#: part/templates/part/category.html:38
-msgid "Create new part category"
+msgid "Category Actions"
+msgstr ""
+
+#: part/templates/part/category.html:43
+msgid "Edit category"
msgstr ""
#: part/templates/part/category.html:44
-msgid "Edit part category"
+msgid "Edit Category"
+msgstr ""
+
+#: part/templates/part/category.html:48
+msgid "Delete category"
msgstr ""
#: part/templates/part/category.html:49
-msgid "Delete part category"
+msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:59 part/templates/part/category.html:98
-msgid "Category Details"
+#: part/templates/part/category.html:57
+msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:64
+#: part/templates/part/category.html:58
+msgid "New Category"
+msgstr ""
+
+#: part/templates/part/category.html:67
+msgid "Top level part category"
+msgstr ""
+
+#: part/templates/part/category.html:79
msgid "Category Path"
msgstr ""
-#: part/templates/part/category.html:69
+#: part/templates/part/category.html:84
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:175
-#: part/templates/part/category_navbar.html:14
-#: part/templates/part/category_navbar.html:17
+#: part/templates/part/category.html:103 part/templates/part/category.html:194
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:93
+#: part/templates/part/category.html:108
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:126
+#: part/templates/part/category.html:145
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:142
+#: part/templates/part/category.html:146 part/templates/part/category.html:170
msgid "Export"
msgstr ""
-#: part/templates/part/category.html:130
+#: part/templates/part/category.html:149
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 templates/js/translated/bom.js:39
+#: part/templates/part/category.html:150 templates/js/translated/bom.js:40
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:141
+#: part/templates/part/category.html:168
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:142
+#: part/templates/part/category.html:170
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:146
-msgid "View list display"
-msgstr ""
-
-#: part/templates/part/category.html:149
-msgid "View grid display"
-msgstr ""
-
-#: part/templates/part/category.html:165
+#: part/templates/part/category.html:184
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:254
+#: part/templates/part/category.html:261
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:281
+#: part/templates/part/category.html:288
msgid "Create Part"
msgstr ""
@@ -4519,12 +4334,7 @@ msgstr ""
msgid "If this category is deleted, these parts will be moved to the top-level category Teile"
msgstr ""
-#: part/templates/part/category_navbar.html:29
-#: part/templates/part/category_navbar.html:32
-msgid "Import Parts"
-msgstr ""
-
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365
msgid "Duplicate Part"
msgstr ""
@@ -4549,311 +4359,315 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)"
msgstr ""
#: part/templates/part/detail.html:16
+msgid "Part Details"
+msgstr ""
+
+#: part/templates/part/detail.html:66
+msgid "Minimum stock level"
+msgstr ""
+
+#: part/templates/part/detail.html:97
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/detail.html:124
msgid "Part Stock"
msgstr ""
-#: part/templates/part/detail.html:21
+#: part/templates/part/detail.html:136
#, python-format
msgid "Showing stock for all variants of %(full_name)s"
msgstr ""
-#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99
+#: part/templates/part/detail.html:146
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:36
+#: part/templates/part/detail.html:151
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:77
-msgid "New sales order"
-msgstr ""
-
-#: part/templates/part/detail.html:77
-msgid "New Order"
-msgstr ""
-
-#: part/templates/part/detail.html:90
+#: part/templates/part/detail.html:208
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27
+#: part/templates/part/detail.html:249
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:137
+#: part/templates/part/detail.html:253
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:138
+#: part/templates/part/detail.html:254
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:161
+#: part/templates/part/detail.html:281
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107
-#: part/templates/part/navbar.html:110
+#: part/templates/part/detail.html:315
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:188
+#: part/templates/part/detail.html:319 part/templates/part/detail.html:320
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43
-#: part/templates/part/navbar.html:46
+#: part/templates/part/detail.html:366
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:237
+#: part/templates/part/detail.html:371
+msgid "Export actions"
+msgstr ""
+
+#: part/templates/part/detail.html:375
+msgid "Export BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:377
+msgid "Print BOM Report"
+msgstr ""
+
+#: part/templates/part/detail.html:387
+msgid "Upload BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:389 templates/js/translated/part.js:266
+msgid "Copy BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:391 part/views.py:820
+msgid "Validate BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:396
+msgid "New BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:397
+msgid "Add BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:410
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:253
+#: part/templates/part/detail.html:427
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:260
-msgid "Start New Build"
-msgstr ""
-
-#: part/templates/part/detail.html:274
+#: part/templates/part/detail.html:452
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:283
+#: part/templates/part/detail.html:462
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:305
+#: part/templates/part/detail.html:489
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:317
+#: part/templates/part/detail.html:505
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:502
+#: part/templates/part/detail.html:686
msgid "Delete selected BOM items?"
msgstr ""
-#: part/templates/part/detail.html:503
+#: part/templates/part/detail.html:687
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:554
+#: part/templates/part/detail.html:738
msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:699
+#: part/templates/part/detail.html:876
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:755
+#: part/templates/part/detail.html:933
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:907
+#: part/templates/part/detail.html:1085
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:919
+#: part/templates/part/detail.html:1097
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:931
+#: part/templates/part/detail.html:1109
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1020
+#: part/templates/part/detail.html:1198
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
#: part/templates/part/import_wizard/ajax_part_upload.html:29
-#: part/templates/part/import_wizard/part_upload.html:51
+#: part/templates/part/import_wizard/part_upload.html:52
msgid "Unsuffitient privileges."
msgstr ""
-#: part/templates/part/import_wizard/part_upload.html:14
+#: part/templates/part/import_wizard/part_upload.html:15
msgid "Import Parts from File"
msgstr ""
-#: part/templates/part/navbar.html:30
-msgid "Variants"
-msgstr ""
-
-#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/navbar.html:70
-msgid "Prices"
-msgstr ""
-
-#: part/templates/part/navbar.html:102
-msgid "Test Templates"
-msgstr ""
-
#: part/templates/part/part_app_base.html:12
msgid "Part List"
msgstr ""
+#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31
+msgid "You are subscribed to notifications for this part"
+msgstr ""
+
#: part/templates/part/part_base.html:35
-msgid "Part is a template part (variants can be made from this part)"
+msgid "Subscribe to notifications for this part"
msgstr ""
-#: part/templates/part/part_base.html:38
-msgid "Part can be assembled from other parts"
-msgstr ""
-
-#: part/templates/part/part_base.html:41
-msgid "Part can be used in assemblies"
-msgstr ""
-
-#: part/templates/part/part_base.html:44
-msgid "Part stock is tracked by serial number"
-msgstr ""
-
-#: part/templates/part/part_base.html:47
-msgid "Part can be purchased from external suppliers"
-msgstr ""
-
-#: part/templates/part/part_base.html:50
-msgid "Part can be sold to customers"
-msgstr ""
-
-#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504
-#: templates/js/translated/company.js:761 templates/js/translated/part.js:443
-#: templates/js/translated/part.js:520
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:73
-msgid "Star this part"
-msgstr ""
-
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:75
-#: stock/templates/stock/location.html:51
+#: part/templates/part/part_base.html:43
+#: stock/templates/stock/item_base.html:28
+#: stock/templates/stock/location.html:29
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:82
-#: stock/templates/stock/item_base.html:77
-#: stock/templates/stock/location.html:53 templates/qr_button.html:1
+#: part/templates/part/part_base.html:45
+#: stock/templates/stock/item_base.html:32
+#: stock/templates/stock/location.html:31 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:83
-#: stock/templates/stock/item_base.html:93
-#: stock/templates/stock/location.html:54
+#: part/templates/part/part_base.html:46
+#: stock/templates/stock/item_base.html:48
+#: stock/templates/stock/location.html:32
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:89
+#: part/templates/part/part_base.html:51
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:95
-#: stock/templates/stock/item_base.html:142
-#: stock/templates/stock/location.html:62
+#: part/templates/part/part_base.html:56
+#: stock/templates/stock/item_base.html:103
+#: stock/templates/stock/location.html:40
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:102
+#: part/templates/part/part_base.html:63
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:108
+#: part/templates/part/part_base.html:69
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:125
+#: part/templates/part/part_base.html:84
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:128
+#: part/templates/part/part_base.html:87
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:131
+#: part/templates/part/part_base.html:90
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:134
+#: part/templates/part/part_base.html:93
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:146
+#: part/templates/part/part_base.html:109
+msgid "Part is a template part (variants can be made from this part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:113
+msgid "Part can be assembled from other parts"
+msgstr ""
+
+#: part/templates/part/part_base.html:117
+msgid "Part can be used in assemblies"
+msgstr ""
+
+#: part/templates/part/part_base.html:121
+msgid "Part stock is tracked by serial number"
+msgstr ""
+
+#: part/templates/part/part_base.html:125
+msgid "Part can be purchased from external suppliers"
+msgstr ""
+
+#: part/templates/part/part_base.html:129
+msgid "Part can be sold to customers"
+msgstr ""
+
+#: part/templates/part/part_base.html:135
+#: part/templates/part/part_base.html:143
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:136
+#: templates/js/translated/company.js:504
+#: templates/js/translated/company.js:761
+#: templates/js/translated/model_renderers.js:175
+#: templates/js/translated/part.js:464 templates/js/translated/part.js:541
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:155
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:161
-#: templates/js/translated/model_renderers.js:169
-#: templates/js/translated/order.js:1503
-#: templates/js/translated/table_filters.js:166
+#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524
+#: templates/js/translated/table_filters.js:182
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960
+#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961
msgid "On Order"
msgstr ""
-#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:181
+#: part/templates/part/part_base.html:199
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:188
+#: part/templates/part/part_base.html:206
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373
+#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776
-#: templates/js/translated/part.js:964
+#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793
+#: templates/js/translated/part.js:965
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:223
-#: part/templates/part/part_base.html:531
-#: part/templates/part/part_base.html:557
-msgid "Show Part Details"
-msgstr ""
-
-#: part/templates/part/part_base.html:283
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144
+#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:445
+#: part/templates/part/part_base.html:363
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:526
-#: part/templates/part/part_base.html:551
-msgid "Hide Part Details"
-msgstr ""
-
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4877,7 +4691,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
-#: templates/js/translated/bom.js:327
+#: templates/js/translated/bom.js:518
msgid "No supplier pricing available"
msgstr ""
@@ -4911,13 +4725,14 @@ msgstr ""
msgid "No pricing information is available for this part."
msgstr ""
-#: part/templates/part/part_thumb.html:20
+#: part/templates/part/part_thumb.html:11
msgid "Select from existing images"
msgstr ""
#: part/templates/part/partial_delete.html:9
#, python-format
-msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
+msgid ""
+"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
"
Disable the \"Active\" part attribute and re-try.\n"
" "
msgstr ""
@@ -4980,7 +4795,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321
+#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512
msgid "Supplier Cost"
msgstr ""
@@ -5002,7 +4817,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:215 part/views.py:1801
+#: part/templates/part/prices.html:215 part/views.py:1853
msgid "Add Internal Price Break"
msgstr ""
@@ -5022,13 +4837,13 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297
-#: templates/js/translated/model_renderers.js:167
-#: templates/js/translated/part.js:766 templates/js/translated/part.js:968
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474
+#: templates/js/translated/part.js:428 templates/js/translated/part.js:783
+#: templates/js/translated/part.js:969
msgid "No Stock"
msgstr ""
-#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166
+#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158
msgid "Low Stock"
msgstr ""
@@ -5041,135 +4856,140 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:106
+#: part/templatetags/inventree_extras.py:113
msgid "Unknown database"
msgstr ""
-#: part/views.py:94
+#: part/views.py:95
msgid "Add Related Part"
msgstr ""
-#: part/views.py:149
+#: part/views.py:150
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:160
+#: part/views.py:161
msgid "Set Part Category"
msgstr ""
-#: part/views.py:210
+#: part/views.py:211
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:270
+#: part/views.py:283
msgid "Match References"
msgstr ""
-#: part/views.py:526
+#: part/views.py:567
msgid "None"
msgstr ""
-#: part/views.py:585
+#: part/views.py:626
msgid "Part QR Code"
msgstr ""
-#: part/views.py:687
+#: part/views.py:728
msgid "Select Part Image"
msgstr ""
-#: part/views.py:713
+#: part/views.py:754
msgid "Updated part image"
msgstr ""
-#: part/views.py:716
+#: part/views.py:757
msgid "Part image not found"
msgstr ""
-#: part/views.py:728
+#: part/views.py:769
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:758
+#: part/views.py:799
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:779
-msgid "Validate BOM"
-msgstr ""
-
-#: part/views.py:800
+#: part/views.py:841
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:811
+#: part/views.py:852
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:884
+#: part/views.py:925
msgid "Match Parts"
msgstr ""
-#: part/views.py:1272
+#: part/views.py:1261
+msgid "Export Bill of Materials"
+msgstr ""
+
+#: part/views.py:1313
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1279
+#: part/views.py:1320
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1288
+#: part/views.py:1329
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1437
+#: part/views.py:1478
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1447
+#: part/views.py:1488
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1454
+#: part/views.py:1495
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1502 templates/js/translated/part.js:308
+#: part/views.py:1554 templates/js/translated/part.js:309
msgid "Edit Part Category"
msgstr ""
-#: part/views.py:1540
+#: part/views.py:1592
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1546
+#: part/views.py:1598
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1555
+#: part/views.py:1607
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1656
+#: part/views.py:1708
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1712
+#: part/views.py:1764
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:1734
+#: part/views.py:1786
msgid "Added new price break"
msgstr ""
-#: part/views.py:1810
+#: part/views.py:1862
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:1818
+#: part/views.py:1870
msgid "Delete Internal Price Break"
msgstr ""
+#: report/api.py:234 report/api.py:278
+#, python-brace-format
+msgid "Template file '{filename}' is missing or does not exist"
+msgstr ""
+
#: report/models.py:182
msgid "Template name"
msgstr ""
@@ -5206,51 +5026,51 @@ msgstr ""
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:380
+#: report/models.py:382
msgid "Build Filters"
msgstr ""
-#: report/models.py:381
+#: report/models.py:383
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:423
+#: report/models.py:425
msgid "Part Filters"
msgstr ""
-#: report/models.py:424
+#: report/models.py:426
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:458
+#: report/models.py:460
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:496
+#: report/models.py:498
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:546
+#: report/models.py:548
msgid "Snippet"
msgstr ""
-#: report/models.py:547
+#: report/models.py:549
msgid "Report snippet file"
msgstr ""
-#: report/models.py:551
+#: report/models.py:553
msgid "Snippet file description"
msgstr ""
-#: report/models.py:586
+#: report/models.py:588
msgid "Asset"
msgstr ""
-#: report/models.py:587
+#: report/models.py:589
msgid "Report asset file"
msgstr ""
-#: report/models.py:590
+#: report/models.py:592
msgid "Asset file description"
msgstr ""
@@ -5267,543 +5087,582 @@ msgstr ""
msgid "Stock Item Test Report"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:83
-msgid "Test Results"
+#: report/templates/report/inventree_test_report_base.html:79
+#: stock/models.py:530 stock/templates/stock/item_base.html:238
+#: templates/js/translated/build.js:233 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1013
+#: templates/js/translated/model_renderers.js:95
+#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355
+msgid "Serial Number"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:1804
+msgid "Test Results"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:93
+#: stock/models.py:1855
msgid "Test"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:89
-#: stock/models.py:1810
+#: report/templates/report/inventree_test_report_base.html:94
+#: stock/models.py:1861
msgid "Result"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502
+#: report/templates/report/inventree_test_report_base.html:97
+#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887
msgid "Date"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:103
+#: report/templates/report/inventree_test_report_base.html:108
msgid "Pass"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:105
+#: report/templates/report/inventree_test_report_base.html:110
msgid "Fail"
msgstr ""
-#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556
-#: stock/templates/stock/item_base.html:395
-#: templates/js/translated/stock.js:946
+#: report/templates/report/inventree_test_report_base.html:123
+msgid "Installed Items"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:137
+#: templates/js/translated/stock.js:2147
+msgid "Serial"
+msgstr ""
+
+#: stock/api.py:422
+msgid "Quantity is required"
+msgstr ""
+
+#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587
+#: stock/templates/stock/item_base.html:382
+#: templates/js/translated/stock.js:1246
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:308
+#: stock/forms.py:92 stock/forms.py:266
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:83
+#: stock/forms.py:95
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:134
+#: stock/forms.py:150
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:138 stock/forms.py:282
+#: stock/forms.py:154 stock/forms.py:238
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:168 stock/forms.py:224
-msgid "Select test report template"
-msgstr ""
-
-#: stock/forms.py:240
+#: stock/forms.py:194
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:270
+#: stock/forms.py:224
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:280
+#: stock/forms.py:236
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm removal of installed stock items"
msgstr ""
-#: stock/models.py:57 stock/models.py:593
+#: stock/models.py:60 stock/models.py:624
+#: stock/templates/stock/item_base.html:422
msgid "Owner"
msgstr ""
-#: stock/models.py:58 stock/models.py:594
+#: stock/models.py:61 stock/models.py:625
msgid "Select Owner"
msgstr ""
-#: stock/models.py:322
+#: stock/models.py:352
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:358
+#: stock/models.py:388
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:368 stock/models.py:377
+#: stock/models.py:398 stock/models.py:407
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:369
+#: stock/models.py:399
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:391
+#: stock/models.py:421
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:397
+#: stock/models.py:427
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:404
+#: stock/models.py:434
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:446
+#: stock/models.py:476
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:455
+#: stock/models.py:485
msgid "Base part"
msgstr ""
-#: stock/models.py:464
+#: stock/models.py:493
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8
+#: stock/models.py:498 stock/templates/stock/location.html:12
+#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:472
+#: stock/models.py:501
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:479
+#: stock/models.py:508
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:484 stock/templates/stock/item_base.html:284
+#: stock/models.py:513 stock/templates/stock/item_base.html:271
msgid "Installed In"
msgstr ""
-#: stock/models.py:487
+#: stock/models.py:516
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:503
+#: stock/models.py:532
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:515
+#: stock/models.py:546
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:519
+#: stock/models.py:550
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:528
+#: stock/models.py:559
msgid "Source Build"
msgstr ""
-#: stock/models.py:530
+#: stock/models.py:561
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:541
+#: stock/models.py:572
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:544
+#: stock/models.py:575
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:550
+#: stock/models.py:581
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:557
+#: stock/models.py:588
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:580 stock/templates/stock/item.html:99
-#: stock/templates/stock/navbar.html:54
+#: stock/models.py:611 stock/templates/stock/item.html:111
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:589
+#: stock/models.py:620
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:599
+#: stock/models.py:630
msgid "Scheduled for deletion"
msgstr ""
-#: stock/models.py:600
+#: stock/models.py:631
msgid "This StockItem will be deleted by the background worker"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1094
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1069
+#: stock/models.py:1100
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1075
+#: stock/models.py:1106
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1078
+#: stock/models.py:1109
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1081
+#: stock/models.py:1112
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1088
+#: stock/models.py:1119
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1246
+#: stock/models.py:1277
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:1724
+#: stock/models.py:1775
msgid "Entry notes"
msgstr ""
-#: stock/models.py:1781
+#: stock/models.py:1832
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:1787
+#: stock/models.py:1838
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:1805
+#: stock/models.py:1856
msgid "Test name"
msgstr ""
-#: stock/models.py:1811 templates/js/translated/table_filters.js:244
+#: stock/models.py:1862 templates/js/translated/table_filters.js:260
msgid "Test result"
msgstr ""
-#: stock/models.py:1817
+#: stock/models.py:1868
msgid "Test output value"
msgstr ""
-#: stock/models.py:1824
+#: stock/models.py:1875
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:1830
+#: stock/models.py:1881
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:424
-msgid "StockItem primary key value"
+#: stock/serializers.py:166
+msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:452
-msgid "Stock transaction notes"
+#: stock/serializers.py:173
+msgid "Purchase currency of this stock item"
msgstr ""
-#: stock/serializers.py:462
-msgid "A list of stock items must be provided"
+#: stock/serializers.py:287
+msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:554
+#: stock/serializers.py:302
+#, python-brace-format
+msgid "Quantity must not exceed available stock quantity ({q})"
+msgstr ""
+
+#: stock/serializers.py:308
+msgid "Enter serial numbers for new items"
+msgstr ""
+
+#: stock/serializers.py:319 stock/serializers.py:687
msgid "Destination stock location"
msgstr ""
-#: stock/templates/stock/item.html:17
+#: stock/serializers.py:326
+msgid "Optional note field"
+msgstr ""
+
+#: stock/serializers.py:339
+msgid "Serial numbers cannot be assigned to this part"
+msgstr ""
+
+#: stock/serializers.py:557
+msgid "StockItem primary key value"
+msgstr ""
+
+#: stock/serializers.py:585
+msgid "Stock transaction notes"
+msgstr ""
+
+#: stock/serializers.py:595
+msgid "A list of stock items must be provided"
+msgstr ""
+
+#: stock/templates/stock/item.html:18
msgid "Stock Tracking Information"
msgstr ""
-#: stock/templates/stock/item.html:30
+#: stock/templates/stock/item.html:29
msgid "New Entry"
msgstr ""
-#: stock/templates/stock/item.html:43
+#: stock/templates/stock/item.html:48
msgid "Child Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:50
+#: stock/templates/stock/item.html:55
msgid "This stock item does not have any child items"
msgstr ""
-#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19
-#: stock/templates/stock/navbar.html:22
+#: stock/templates/stock/item.html:64
msgid "Test Data"
msgstr ""
-#: stock/templates/stock/item.html:66
-msgid "Delete Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:70
-msgid "Add Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95
+#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50
msgid "Test Report"
msgstr ""
-#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27
+#: stock/templates/stock/item.html:72
+msgid "Delete Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:76
+msgid "Add Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:133
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:125 stock/views.py:511
+#: stock/templates/stock/item.html:137 stock/views.py:515
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326
+#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:346
+#: stock/templates/stock/item.html:363
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:360
+#: stock/templates/stock/item.html:377
msgid "Delete Test Result"
msgstr ""
-#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:399
-#: templates/js/translated/table_filters.js:225
-msgid "Expired"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:401
-#: templates/js/translated/table_filters.js:231
-msgid "Stale"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:80
-#: templates/js/translated/barcode.js:331
-#: templates/js/translated/barcode.js:336
+#: stock/templates/stock/item_base.html:35
+#: templates/js/translated/barcode.js:330
+#: templates/js/translated/barcode.js:335
msgid "Unlink Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/item_base.html:37
msgid "Link Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31
+#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24
msgid "Scan to Location"
msgstr ""
-#: stock/templates/stock/item_base.html:91
+#: stock/templates/stock/item_base.html:46
msgid "Printing actions"
msgstr ""
-#: stock/templates/stock/item_base.html:104
+#: stock/templates/stock/item_base.html:65
msgid "Stock adjustment actions"
msgstr ""
-#: stock/templates/stock/item_base.html:108
-#: stock/templates/stock/location.html:69 templates/stock_table.html:57
+#: stock/templates/stock/item_base.html:69
+#: stock/templates/stock/location.html:47 templates/stock_table.html:50
msgid "Count stock"
msgstr ""
-#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55
+#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48
msgid "Add stock"
msgstr ""
-#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56
+#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49
msgid "Remove stock"
msgstr ""
-#: stock/templates/stock/item_base.html:117
+#: stock/templates/stock/item_base.html:78
msgid "Serialize stock"
msgstr ""
-#: stock/templates/stock/item_base.html:121
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/location.html:53
msgid "Transfer stock"
msgstr ""
-#: stock/templates/stock/item_base.html:124
+#: stock/templates/stock/item_base.html:85
msgid "Assign to customer"
msgstr ""
-#: stock/templates/stock/item_base.html:127
+#: stock/templates/stock/item_base.html:88
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install"
msgstr ""
-#: stock/templates/stock/item_base.html:145
+#: stock/templates/stock/item_base.html:106
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:109
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:150
+#: stock/templates/stock/item_base.html:111
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:153
+#: stock/templates/stock/item_base.html:114
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:173
+#: stock/templates/stock/item_base.html:136
+#: stock/templates/stock/item_base.html:386
+#: templates/js/translated/table_filters.js:241
+msgid "Expired"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/table_filters.js:247
+msgid "Stale"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:161
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:180
+#: stock/templates/stock/item_base.html:168
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:181
+#: stock/templates/stock/item_base.html:169
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:194
+#: stock/templates/stock/item_base.html:182
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:202
+#: stock/templates/stock/item_base.html:190
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:210
+#: stock/templates/stock/item_base.html:198
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:216
+#: stock/templates/stock/item_base.html:204
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:220
+#: stock/templates/stock/item_base.html:208
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:224
+#: stock/templates/stock/item_base.html:212
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:232
-msgid "Stock Item Details"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:241
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:260
+#: stock/templates/stock/item_base.html:247
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:303
-#: templates/js/translated/build.js:658
+#: stock/templates/stock/item_base.html:290
+#: templates/js/translated/build.js:1035
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:310
+#: stock/templates/stock/item_base.html:297
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:352
+#: stock/templates/stock/item_base.html:339
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:370
+#: stock/templates/stock/item_base.html:357
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:399
+#: stock/templates/stock/item_base.html:386
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:401
+#: stock/templates/stock/item_base.html:388
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:408
-#: templates/js/translated/stock.js:959
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1259
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:413
+#: stock/templates/stock/item_base.html:400
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:417
+#: stock/templates/stock/item_base.html:404
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:428
+#: stock/templates/stock/item_base.html:415
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:516
-msgid "Save"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:528
+#: stock/templates/stock/item_base.html:504
msgid "Edit Stock Status"
msgstr ""
@@ -5857,106 +5716,68 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:20
-msgid "You are not in the list of owners of this location. This stock location cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/location.html:37
-msgid "All stock items"
-msgstr ""
-
-#: stock/templates/stock/location.html:42
-msgid "Create new stock location"
-msgstr ""
-
-#: stock/templates/stock/location.html:55
+#: stock/templates/stock/location.html:33
msgid "Check-in Items"
msgstr ""
-#: stock/templates/stock/location.html:83
+#: stock/templates/stock/location.html:61
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:85
+#: stock/templates/stock/location.html:63
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:87
+#: stock/templates/stock/location.html:65
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:99
-msgid "Location Details"
+#: stock/templates/stock/location.html:75
+msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:104
-msgid "Location Path"
+#: stock/templates/stock/location.html:76
+msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:109
-msgid "Location Description"
+#: stock/templates/stock/location.html:86
+msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:114
-#: stock/templates/stock/location.html:155
-#: stock/templates/stock/location_navbar.html:11
-#: stock/templates/stock/location_navbar.html:14
+#: stock/templates/stock/location.html:95
+msgid "You are not in the list of owners of this location. This stock location cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/location.html:113
+#: stock/templates/stock/location.html:160
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:124
-msgid "Stock Details"
+#: stock/templates/stock/location.html:118
+#: stock/templates/stock/location.html:132
+#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158
+#: templates/js/translated/stock.js:1871 templates/stats.html:93
+#: templates/stats.html:102 users/models.py:43
+msgid "Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196
+#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170
#: templates/stats.html:97 users/models.py:42
msgid "Stock Locations"
msgstr ""
-#: stock/templates/stock/location.html:162 templates/stock_table.html:37
+#: stock/templates/stock/location.html:167 templates/stock_table.html:30
msgid "Printing Actions"
msgstr ""
-#: stock/templates/stock/location.html:166 templates/stock_table.html:41
+#: stock/templates/stock/location.html:171 templates/stock_table.html:34
msgid "Print labels"
msgstr ""
-#: stock/templates/stock/location.html:250
-msgid "New Location"
-msgstr ""
-
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
-msgstr ""
-
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: stock/templates/stock/navbar.html:11
-msgid "Stock Item Tracking"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:14
-msgid "History"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:30
-msgid "Installed Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:38
-msgid "Child Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:41
-msgid "Children"
-msgstr ""
-
-#: stock/templates/stock/stock_adjust.html:43
-msgid "Remove item"
-msgstr ""
-
#: stock/templates/stock/stock_app_base.html:16
msgid "Loading..."
msgstr ""
@@ -5965,7 +5786,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912
msgid "Convert Stock Item"
msgstr ""
@@ -5986,104 +5807,100 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:158
+#: stock/views.py:162
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:265 stock/views.py:888 stock/views.py:1010
-#: stock/views.py:1375
+#: stock/views.py:269 stock/views.py:891 stock/views.py:1017
+#: stock/views.py:1299
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:280
+#: stock/views.py:284
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:299
+#: stock/views.py:303
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:308
+#: stock/views.py:312
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:332
+#: stock/views.py:336
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:345
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:352
+#: stock/views.py:356
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:363
+#: stock/views.py:367
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:380
+#: stock/views.py:384
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:485
+#: stock/views.py:489
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:660
+#: stock/views.py:663
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:757 templates/js/translated/stock.js:321
+#: stock/views.py:760 templates/js/translated/stock.js:618
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:768
+#: stock/views.py:771
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:790
+#: stock/views.py:793 templates/js/translated/stock.js:288
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:936
+#: stock/views.py:943
msgid "Create new Stock Location"
msgstr ""
-#: stock/views.py:1027
-msgid "Serialize Stock"
-msgstr ""
-
-#: stock/views.py:1120
+#: stock/views.py:1044
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1262
+#: stock/views.py:1186 templates/js/translated/stock.js:268
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1344
+#: stock/views.py:1268
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1444
+#: stock/views.py:1368
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1457
+#: stock/views.py:1381
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1468
+#: stock/views.py:1392
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1475
+#: stock/views.py:1399
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1484
+#: stock/views.py:1408
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6107,63 +5924,67 @@ msgstr ""
msgid "Index"
msgstr ""
-#: templates/InvenTree/index.html:105
-msgid "Starred Parts"
+#: templates/InvenTree/index.html:88
+msgid "Subscribed Parts"
msgstr ""
-#: templates/InvenTree/index.html:115
+#: templates/InvenTree/index.html:98
+msgid "Subscribed Categories"
+msgstr ""
+
+#: templates/InvenTree/index.html:108
msgid "Latest Parts"
msgstr ""
-#: templates/InvenTree/index.html:126
+#: templates/InvenTree/index.html:119
msgid "BOM Waiting Validation"
msgstr ""
-#: templates/InvenTree/index.html:153
+#: templates/InvenTree/index.html:145
msgid "Recently Updated"
msgstr ""
-#: templates/InvenTree/index.html:176
+#: templates/InvenTree/index.html:168
msgid "Depleted Stock"
msgstr ""
-#: templates/InvenTree/index.html:199
+#: templates/InvenTree/index.html:191
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:202
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:232
+#: templates/InvenTree/index.html:224
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:243
+#: templates/InvenTree/index.html:235
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:263
+#: templates/InvenTree/index.html:255
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:274
+#: templates/InvenTree/index.html:266
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:294
+#: templates/InvenTree/index.html:286
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:305
+#: templates/InvenTree/index.html:297
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14
+#: templates/InvenTree/search.html:8
msgid "Search Results"
msgstr ""
-#: templates/InvenTree/search.html:24
+#: templates/InvenTree/search.html:22
msgid "Enter a search query"
msgstr ""
@@ -6183,23 +6004,23 @@ msgstr ""
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:23
+#: templates/InvenTree/settings/currencies.html:19
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:27
+#: templates/InvenTree/settings/currencies.html:24
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:37
+#: templates/InvenTree/settings/currencies.html:38
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:43
+#: templates/InvenTree/settings/currencies.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:48
+#: templates/InvenTree/settings/currencies.html:49
msgid "Update Now"
msgstr ""
@@ -6207,147 +6028,74 @@ msgstr ""
msgid "Server Settings"
msgstr ""
-#: templates/InvenTree/settings/header.html:7
-msgid "Setting"
-msgstr ""
-
#: templates/InvenTree/settings/login.html:9
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:12
-#: templates/InvenTree/settings/user_settings.html:9
-msgid "User Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:15
-#: templates/InvenTree/settings/navbar.html:17
-msgid "Account"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:21
-#: templates/InvenTree/settings/navbar.html:23
-msgid "Home Page"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29
-#: templates/js/translated/tables.js:375 templates/search_form.html:6
-#: templates/search_form.html:8
-msgid "Search"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:33
-#: templates/InvenTree/settings/navbar.html:35
-msgid "Labels"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:39
-#: templates/InvenTree/settings/navbar.html:41
-msgid "Reports"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:45
-#: templates/InvenTree/settings/navbar.html:47
-msgid "Forms"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:52
-#: templates/InvenTree/settings/navbar.html:54
-#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90
-msgid "Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:62
-msgid "InvenTree Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:65
-#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87
-msgid "Login"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:77
-#: templates/InvenTree/settings/navbar.html:79
-msgid "Barcodes"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85
-msgid "Currencies"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91
-msgid "Reporting"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103
-msgid "Categories"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:7
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:12
-msgid "Part Options"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:43
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:47
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:59
+#: templates/InvenTree/settings/part.html:61
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/po.html:9
+#: templates/InvenTree/settings/po.html:7
msgid "Purchase Order Settings"
msgstr ""
-#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:29
+#: templates/InvenTree/settings/setting.html:28
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:41
+#: templates/InvenTree/settings/setting.html:39
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:154
+#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93
+msgid "Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+msgid "Edit Global Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+msgid "Edit User Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:148
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:176
-#: templates/InvenTree/settings/settings.html:275
+#: templates/InvenTree/settings/settings.html:170
+#: templates/InvenTree/settings/settings.html:269
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:177
-#: templates/InvenTree/settings/settings.html:276
+#: templates/InvenTree/settings/settings.html:171
+#: templates/InvenTree/settings/settings.html:270
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:255
+#: templates/InvenTree/settings/settings.html:249
msgid "No part parameter templates found"
msgstr ""
@@ -6363,134 +6111,154 @@ msgstr ""
msgid "Account Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:19
+#: templates/InvenTree/settings/user.html:18
#: templates/js/translated/helpers.js:26
msgid "Edit"
msgstr ""
-#: templates/InvenTree/settings/user.html:21
+#: templates/InvenTree/settings/user.html:20
#: templates/account/password_reset_from_key.html:4
#: templates/account/password_reset_from_key.html:7
msgid "Change Password"
msgstr ""
-#: templates/InvenTree/settings/user.html:28
+#: templates/InvenTree/settings/user.html:31
msgid "Username"
msgstr ""
-#: templates/InvenTree/settings/user.html:32
+#: templates/InvenTree/settings/user.html:35
msgid "First Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:36
+#: templates/InvenTree/settings/user.html:39
msgid "Last Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:42
-msgid "E-Mail"
+#: templates/InvenTree/settings/user.html:54
+msgid "The following email addresses are associated with your account:"
msgstr ""
-#: templates/InvenTree/settings/user.html:47
-msgid "The following e-mail addresses are associated with your account:"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:61
+#: templates/InvenTree/settings/user.html:74
msgid "Verified"
msgstr ""
-#: templates/InvenTree/settings/user.html:63
+#: templates/InvenTree/settings/user.html:76
msgid "Unverified"
msgstr ""
-#: templates/InvenTree/settings/user.html:65
+#: templates/InvenTree/settings/user.html:78
msgid "Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:71
+#: templates/InvenTree/settings/user.html:84
msgid "Make Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:72
+#: templates/InvenTree/settings/user.html:85
msgid "Re-send Verification"
msgstr ""
-#: templates/InvenTree/settings/user.html:73
-#: templates/InvenTree/settings/user.html:130
+#: templates/InvenTree/settings/user.html:86
+#: templates/InvenTree/settings/user.html:153
msgid "Remove"
msgstr ""
-#: templates/InvenTree/settings/user.html:80
+#: templates/InvenTree/settings/user.html:93
msgid "Warning:"
msgstr ""
-#: templates/InvenTree/settings/user.html:81
-msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc."
+#: templates/InvenTree/settings/user.html:94
+msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc."
msgstr ""
-#: templates/InvenTree/settings/user.html:88
-msgid "Add E-mail Address"
+#: templates/InvenTree/settings/user.html:101
+msgid "Add Email Address"
msgstr ""
-#: templates/InvenTree/settings/user.html:93
-msgid "Add E-mail"
+#: templates/InvenTree/settings/user.html:111
+msgid "Enter e-mail address"
msgstr ""
-#: templates/InvenTree/settings/user.html:100
+#: templates/InvenTree/settings/user.html:113
+msgid "Add Email"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:123
msgid "Social Accounts"
msgstr ""
-#: templates/InvenTree/settings/user.html:105
+#: templates/InvenTree/settings/user.html:128
msgid "You can sign in to your account using any of the following third party accounts:"
msgstr ""
-#: templates/InvenTree/settings/user.html:138
-msgid "You currently have no social network accounts connected to this account."
+#: templates/InvenTree/settings/user.html:162
+msgid "There are no social network accounts connected to your InvenTree account"
msgstr ""
-#: templates/InvenTree/settings/user.html:142
+#: templates/InvenTree/settings/user.html:167
msgid "Add a 3rd Party Account"
msgstr ""
-#: templates/InvenTree/settings/user.html:153
-msgid "Theme Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:174
-msgid "Set Theme"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:181
+#: templates/InvenTree/settings/user.html:177
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:200
+#: templates/InvenTree/settings/user.html:186
+msgid "Select language"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:202
#, python-format
msgid "%(lang_translated)s%% translated"
msgstr ""
-#: templates/InvenTree/settings/user.html:202
+#: templates/InvenTree/settings/user.html:204
msgid "No translations available"
msgstr ""
-#: templates/InvenTree/settings/user.html:209
+#: templates/InvenTree/settings/user.html:211
msgid "Set Language"
msgstr ""
-#: templates/InvenTree/settings/user.html:214
-msgid "Help the translation efforts!"
+#: templates/InvenTree/settings/user.html:213
+msgid "Some languages are not complete"
msgstr ""
#: templates/InvenTree/settings/user.html:215
+msgid "Show only sufficent"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:217
+msgid "Show them too"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:224
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:225
#, python-format
msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
msgstr ""
-#: templates/InvenTree/settings/user.html:223
-msgid "Do you really want to remove the selected e-mail address?"
+#: templates/InvenTree/settings/user.html:233
+msgid "Do you really want to remove the selected email address?"
msgstr ""
-#: templates/InvenTree/settings/user_forms.html:9
-msgid "Form Settings"
+#: templates/InvenTree/settings/user_display.html:9
+msgid "Display Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:25
+msgid "Theme Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:35
+msgid "Select theme"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:46
+msgid "Set Theme"
msgstr ""
#: templates/InvenTree/settings/user_homepage.html:9
@@ -6505,124 +6273,139 @@ msgstr ""
msgid "Search Settings"
msgstr ""
-#: templates/about.html:13
+#: templates/InvenTree/settings/user_settings.html:9
+msgid "User Settings"
+msgstr ""
+
+#: templates/about.html:10
msgid "InvenTree Version Information"
msgstr ""
-#: templates/about.html:22
+#: templates/about.html:11 templates/about.html:105
+#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:964 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
+msgid "Close"
+msgstr ""
+
+#: templates/about.html:20
msgid "InvenTree Version"
msgstr ""
-#: templates/about.html:27
+#: templates/about.html:25
msgid "Development Version"
msgstr ""
-#: templates/about.html:30
+#: templates/about.html:28
msgid "Up to Date"
msgstr ""
-#: templates/about.html:32
+#: templates/about.html:30
msgid "Update Available"
msgstr ""
-#: templates/about.html:42
+#: templates/about.html:40
msgid "Commit Hash"
msgstr ""
-#: templates/about.html:49
+#: templates/about.html:47
msgid "Commit Date"
msgstr ""
-#: templates/about.html:55
+#: templates/about.html:53
msgid "InvenTree Documentation"
msgstr ""
-#: templates/about.html:60
+#: templates/about.html:58
msgid "API Version"
msgstr ""
-#: templates/about.html:65
+#: templates/about.html:63
msgid "Python Version"
msgstr ""
-#: templates/about.html:70
+#: templates/about.html:68
msgid "Django Version"
msgstr ""
-#: templates/about.html:75
+#: templates/about.html:73
msgid "View Code on GitHub"
msgstr ""
-#: templates/about.html:80
+#: templates/about.html:78
msgid "Credits"
msgstr ""
-#: templates/about.html:85
+#: templates/about.html:83
msgid "Mobile App"
msgstr ""
-#: templates/about.html:90
+#: templates/about.html:88
msgid "Submit Bug Report"
msgstr ""
-#: templates/about.html:97 templates/clip.html:4
+#: templates/about.html:95 templates/clip.html:4
msgid "copy to clipboard"
msgstr ""
-#: templates/about.html:97
+#: templates/about.html:95
msgid "copy version information"
msgstr ""
-#: templates/about.html:107 templates/js/translated/modals.js:50
-#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678
-#: templates/js/translated/modals.js:982 templates/modals.html:29
-#: templates/modals.html:54
-msgid "Close"
-msgstr ""
-
#: templates/account/email_confirm.html:6
#: templates/account/email_confirm.html:10
-msgid "Confirm E-mail Address"
+msgid "Confirm Email Address"
msgstr ""
#: templates/account/email_confirm.html:16
#, python-format
-msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s."
+msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
#: templates/account/email_confirm.html:27
#, python-format
-msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request."
+msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:5 templates/account/login.html:14
-#: templates/account/login.html:36
+#: templates/account/login.html:6 templates/account/login.html:16
+#: templates/account/login.html:39
msgid "Sign In"
msgstr ""
-#: templates/account/login.html:19
+#: templates/account/login.html:21
#, python-format
-msgid "Please sign in with one\n"
+msgid ""
+"Please sign in with one\n"
"of your existing third party accounts or sign up\n"
"for a account and sign in below:"
msgstr ""
-#: templates/account/login.html:23
+#: templates/account/login.html:25
#, python-format
-msgid "If you have not created an account yet, then please\n"
+msgid ""
+"If you have not created an account yet, then please\n"
"sign up first."
msgstr ""
-#: templates/account/login.html:38
+#: templates/account/login.html:42
msgid "Forgot Password?"
msgstr ""
-#: templates/account/login.html:45
+#: templates/account/login.html:47
+msgid "InvenTree demo instance"
+msgstr ""
+
+#: templates/account/login.html:47
+msgid "Click here for login details"
+msgstr ""
+
+#: templates/account/login.html:55
msgid "or use SSO"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
-#: templates/account/logout.html:17
+#: templates/account/logout.html:20
msgid "Sign Out"
msgstr ""
@@ -6630,13 +6413,17 @@ msgstr ""
msgid "Are you sure you want to sign out?"
msgstr ""
+#: templates/account/logout.html:19
+msgid "Back to Site"
+msgstr ""
+
#: templates/account/password_reset.html:5
#: templates/account/password_reset.html:12
msgid "Password Reset"
msgstr ""
#: templates/account/password_reset.html:18
-msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it."
+msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it."
msgstr ""
#: templates/account/password_reset.html:23
@@ -6656,11 +6443,11 @@ msgstr ""
msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
msgstr ""
-#: templates/account/password_reset_from_key.html:17
-msgid "change password"
+#: templates/account/password_reset_from_key.html:18
+msgid "Change password"
msgstr ""
-#: templates/account/password_reset_from_key.html:20
+#: templates/account/password_reset_from_key.html:22
msgid "Your password is now changed."
msgstr ""
@@ -6677,6 +6464,77 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/admin_button.html:2
+msgid "View in administration panel"
+msgstr ""
+
+#: templates/base.html:96
+msgid "Server Restart Required"
+msgstr ""
+
+#: templates/base.html:99
+msgid "A configuration option has been changed which requires a server restart"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Contact your system administrator for further information"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:7
+msgid "Stock is required for the following build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:8
+#, python-format
+msgid "Build order %(build)s - building %(quantity)s x %(part)s"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:10
+msgid "Click on the following link to view this build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:14
+msgid "The following parts are low on required stock"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:18
+#: templates/js/translated/bom.js:989
+msgid "Required Quantity"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:19
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129
+#: templates/js/translated/build.js:1749
+msgid "Available"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:38
+#: templates/email/low_stock_notification.html:31
+msgid "You are receiving this email because you are subscribed to notifications for this part "
+msgstr ""
+
+#: templates/email/email.html:35
+msgid "InvenTree version"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:7
+#, python-format
+msgid " The available stock for %(part)s has fallen below the configured minimum level"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:9
+msgid "Click on the following link to view this part"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:17
+msgid "Total Stock"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:19
+msgid "Minimum Quantity"
+msgstr ""
+
#: templates/image_download.html:8
msgid "Specify URL for downloading image"
msgstr ""
@@ -6693,138 +6551,59 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/report.js:47 templates/js/translated/report.js:67
-msgid "items selected"
-msgstr ""
-
-#: templates/js/report.js:55 templates/js/translated/report.js:75
-msgid "Select Report Template"
-msgstr ""
-
-#: templates/js/report.js:70 templates/js/translated/report.js:90
-msgid "Select Test Report Template"
-msgstr ""
-
-#: templates/js/report.js:98 templates/js/translated/label.js:29
-#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/report.js:99 templates/js/translated/report.js:119
-msgid "Stock item(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:116 templates/js/report.js:169
-#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331 templates/js/translated/report.js:136
-#: templates/js/translated/report.js:189 templates/js/translated/report.js:243
-#: templates/js/translated/report.js:297 templates/js/translated/report.js:351
-msgid "No Reports Found"
-msgstr ""
-
-#: templates/js/report.js:117 templates/js/translated/report.js:137
-msgid "No report templates found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/report.js:152 templates/js/translated/report.js:172
-msgid "Select Builds"
-msgstr ""
-
-#: templates/js/report.js:153 templates/js/translated/report.js:173
-msgid "Build(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:170 templates/js/translated/report.js:190
-msgid "No report templates found which match selected build(s)"
-msgstr ""
-
-#: templates/js/report.js:205 templates/js/translated/build.js:948
-#: templates/js/translated/label.js:134 templates/js/translated/report.js:225
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/report.js:206 templates/js/translated/report.js:226
-msgid "Part(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:224 templates/js/translated/report.js:244
-msgid "No report templates found which match selected part(s)"
-msgstr ""
-
-#: templates/js/report.js:259 templates/js/translated/report.js:279
-msgid "Select Purchase Orders"
-msgstr ""
-
-#: templates/js/report.js:260 templates/js/translated/report.js:280
-msgid "Purchase Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/report.js:278 templates/js/report.js:332
-#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
-msgid "No report templates found which match selected orders"
-msgstr ""
-
-#: templates/js/report.js:313 templates/js/translated/report.js:333
-msgid "Select Sales Orders"
-msgstr ""
-
-#: templates/js/report.js:314 templates/js/translated/report.js:334
-msgid "Sales Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053
+#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035
msgid "No response from the InvenTree server"
msgstr ""
-#: templates/js/translated/api.js:181
+#: templates/js/translated/api.js:191
msgid "Error 400: Bad request"
msgstr ""
-#: templates/js/translated/api.js:182
+#: templates/js/translated/api.js:192
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063
+#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055
msgid "The requested resource could not be located on the server"
msgstr ""
-#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060
msgid "Connection timeout while requesting data from server"
msgstr ""
-#: templates/js/translated/api.js:205
+#: templates/js/translated/api.js:215
msgid "Unhandled Error Code"
msgstr ""
-#: templates/js/translated/api.js:206
+#: templates/js/translated/api.js:216
msgid "Error code"
msgstr ""
@@ -6832,292 +6611,369 @@ msgstr ""
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:91
+#: templates/js/translated/attachment.js:95
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:104
+#: templates/js/translated/attachment.js:108
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:115
msgid "Delete attachment"
msgstr ""
-#: templates/js/translated/barcode.js:30
+#: templates/js/translated/barcode.js:29
msgid "Scan barcode data here using wedge scanner"
msgstr ""
-#: templates/js/translated/barcode.js:32
+#: templates/js/translated/barcode.js:31
msgid "Enter barcode data"
msgstr ""
-#: templates/js/translated/barcode.js:36
+#: templates/js/translated/barcode.js:35
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:54
+#: templates/js/translated/barcode.js:53
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:55
+#: templates/js/translated/barcode.js:54
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:93
+#: templates/js/translated/barcode.js:92
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:114
+#: templates/js/translated/barcode.js:113
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:141
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/barcode.js:140
+#: templates/js/translated/modals.js:1024
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:234
+#: templates/js/translated/barcode.js:233
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:281 templates/navbar.html:65
+#: templates/js/translated/barcode.js:280 templates/navbar.html:69
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:292
+#: templates/js/translated/barcode.js:291
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:310
+#: templates/js/translated/barcode.js:309
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:333
+#: templates/js/translated/barcode.js:332
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:339
+#: templates/js/translated/barcode.js:338
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273
+#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:440
+#: templates/js/translated/barcode.js:439
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:444
-#: templates/js/translated/barcode.js:571
+#: templates/js/translated/barcode.js:443
+#: templates/js/translated/barcode.js:573
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:486
-#: templates/js/translated/barcode.js:610
+#: templates/js/translated/barcode.js:485
+#: templates/js/translated/barcode.js:612
msgid "Error transferring stock"
msgstr ""
-#: templates/js/translated/barcode.js:505
+#: templates/js/translated/barcode.js:507
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:509
+#: templates/js/translated/barcode.js:511
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:516
+#: templates/js/translated/barcode.js:518
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:523
+#: templates/js/translated/barcode.js:525
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:566
+#: templates/js/translated/barcode.js:568
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:629
+#: templates/js/translated/barcode.js:633
msgid "Barcode does not match a valid location"
msgstr ""
-#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495
+#: templates/js/translated/bom.js:184
+msgid "Remove substitute part"
+msgstr ""
+
+#: templates/js/translated/bom.js:226
+msgid "Select and add a new variant item using the input below"
+msgstr ""
+
+#: templates/js/translated/bom.js:237
+msgid "Are you sure you wish to remove this substitute part link?"
+msgstr ""
+
+#: templates/js/translated/bom.js:243
+msgid "Remove Substitute Part"
+msgstr ""
+
+#: templates/js/translated/bom.js:282
+msgid "Add Substitute"
+msgstr ""
+
+#: templates/js/translated/bom.js:283
+msgid "Edit BOM Item Substitutes"
+msgstr ""
+
+#: templates/js/translated/bom.js:402
+msgid "Substitutes Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111
+msgid "Variant stock allowed"
+msgstr ""
+
+#: templates/js/translated/bom.js:411
msgid "Open subassembly"
msgstr ""
-#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744
-#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522
-msgid "Available"
+#: templates/js/translated/bom.js:483
+msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:307
+#: templates/js/translated/bom.js:498
msgid "Purchase Price Range"
msgstr ""
-#: templates/js/translated/bom.js:314
+#: templates/js/translated/bom.js:505
msgid "Purchase Price Average"
msgstr ""
-#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449
+#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798
-#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285
+#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183
+#: templates/js/translated/order.js:1298
msgid "Actions"
msgstr ""
-#: templates/js/translated/bom.js:423
+#: templates/js/translated/bom.js:614
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:425
+#: templates/js/translated/bom.js:616
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590
+#: templates/js/translated/bom.js:618
+msgid "Edit substitute parts"
+msgstr ""
+
+#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575
+#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:1593
+#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/build.js:71
-msgid "Edit Build Order"
+#: templates/js/translated/bom.js:772
+msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/build.js:105
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/translated/build.js:138
-msgid "Allocate stock items to this build output"
-msgstr ""
-
-#: templates/js/translated/build.js:146
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/translated/build.js:155
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:164
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:265
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356
-#: templates/js/translated/order.js:1292
-msgid "Edit stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357
-#: templates/js/translated/order.js:1293
-msgid "Delete stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:695
-msgid "Edit Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:705
-msgid "Remove Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:718
+#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095
msgid "Required Part"
msgstr ""
-#: templates/js/translated/build.js:739
+#: templates/js/translated/bom.js:994
+msgid "Inherited from parent BOM"
+msgstr ""
+
+#: templates/js/translated/build.js:78
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:112
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:133
+msgid "Allocate stock items to this build output"
+msgstr ""
+
+#: templates/js/translated/build.js:144
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:153
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:161
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:184
+msgid "Are you sure you wish to unallocate stock items from this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:202
+msgid "Unallocate Stock Items"
+msgstr ""
+
+#: templates/js/translated/build.js:220
+msgid "Select Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:221
+msgid "At least one build output must be selected"
+msgstr ""
+
+#: templates/js/translated/build.js:275
+msgid "Output"
+msgstr ""
+
+#: templates/js/translated/build.js:291
+msgid "Complete Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:386
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:603
+msgid "No active build outputs found"
+msgstr ""
+
+#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760
+#: templates/js/translated/order.js:1305
+msgid "Edit stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761
+#: templates/js/translated/order.js:1306
+msgid "Delete stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1072
+msgid "Edit Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1082
+msgid "Remove Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1107
+msgid "Substitute parts available"
+msgstr ""
+
+#: templates/js/translated/build.js:1124
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:749 templates/js/translated/build.js:975
-#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514
+#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360
+#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553
-#: templates/js/translated/order.js:1567
+#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557
-#: templates/stock_table.html:59
+#: templates/js/translated/build.js:1194 templates/stock_table.html:52
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560
+#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:880
+#: templates/js/translated/build.js:1262
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:949
+#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134
+#: templates/js/translated/report.js:225
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/translated/build.js:1334
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:963
+#: templates/js/translated/build.js:1348
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:992
+#: templates/js/translated/build.js:1377
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/build.js:993
+#: templates/js/translated/build.js:1378
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:1004
+#: templates/js/translated/build.js:1389
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:1048
+#: templates/js/translated/build.js:1451
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:1172
+#: templates/js/translated/build.js:1576
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856
-#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762
-#: templates/js/translated/stock.js:1456
+#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873
+#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064
+#: templates/js/translated/stock.js:1841
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:1209
+#: templates/js/translated/build.js:1613
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675
+#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:1282
+#: templates/js/translated/build.js:1686
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:1333
+#: templates/js/translated/build.js:1737
msgid "No parts allocated for"
msgstr ""
@@ -7137,7 +6993,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:164 templates/js/translated/order.js:89
+#: templates/js/translated/company.js:164 templates/js/translated/order.js:90
msgid "Add Supplier"
msgstr ""
@@ -7186,34 +7042,34 @@ msgid "No manufacturer parts found"
msgstr ""
#: templates/js/translated/company.js:496
-#: templates/js/translated/company.js:753 templates/js/translated/part.js:427
-#: templates/js/translated/part.js:512
+#: templates/js/translated/company.js:753 templates/js/translated/part.js:448
+#: templates/js/translated/part.js:533
msgid "Template part"
msgstr ""
#: templates/js/translated/company.js:500
-#: templates/js/translated/company.js:757 templates/js/translated/part.js:431
-#: templates/js/translated/part.js:516
+#: templates/js/translated/company.js:757 templates/js/translated/part.js:452
+#: templates/js/translated/part.js:537
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:627 templates/js/translated/part.js:604
+#: templates/js/translated/company.js:627 templates/js/translated/part.js:625
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:664 templates/js/translated/part.js:646
+#: templates/js/translated/company.js:664 templates/js/translated/part.js:667
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:665 templates/js/translated/part.js:647
+#: templates/js/translated/company.js:665 templates/js/translated/part.js:668
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:684 templates/js/translated/part.js:664
+#: templates/js/translated/company.js:684 templates/js/translated/part.js:685
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:695 templates/js/translated/part.js:676
+#: templates/js/translated/company.js:695 templates/js/translated/part.js:697
msgid "Delete Parameter"
msgstr ""
@@ -7222,12 +7078,12 @@ msgid "No supplier parts found"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:407
+#: templates/js/translated/filters.js:420
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:408
+#: templates/js/translated/filters.js:421
msgid "false"
msgstr ""
@@ -7235,57 +7091,61 @@ msgstr ""
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:284
+#: templates/js/translated/filters.js:286
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:286
+#: templates/js/translated/filters.js:290
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:289
+#: templates/js/translated/filters.js:293
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:317
+#: templates/js/translated/filters.js:329
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336
-#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360
+#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364
+#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:324
+#: templates/js/translated/forms.js:351
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:337
+#: templates/js/translated/forms.js:366
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:349
+#: templates/js/translated/forms.js:380
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:361
+#: templates/js/translated/forms.js:394
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:968 templates/modals.html:21
-#: templates/modals.html:47
+#: templates/js/translated/forms.js:679
+msgid "Enter a valid number"
+msgstr ""
+
+#: templates/js/translated/forms.js:1071 templates/modals.html:19
+#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1323
+#: templates/js/translated/forms.js:1457
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1525
+#: templates/js/translated/forms.js:1661
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:1742
+#: templates/js/translated/forms.js:1878
msgid "Clear input"
msgstr ""
@@ -7297,6 +7157,11 @@ msgstr ""
msgid "NO"
msgstr ""
+#: templates/js/translated/label.js:29 templates/js/translated/report.js:118
+#: templates/js/translated/stock.js:594
+msgid "Select Stock Items"
+msgstr ""
+
#: templates/js/translated/label.js:30
msgid "Stock item(s) must be selected before printing labels"
msgstr ""
@@ -7342,62 +7207,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119
+#: templates/js/translated/modals.js:593
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981
-#: templates/modals.html:30 templates/modals.html:55
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963
+#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:117
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:397
+#: templates/js/translated/modals.js:380
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:556
+#: templates/js/translated/modals.js:539
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:592
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:649
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:945
+#: templates/js/translated/modals.js:927
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/modals.js:1024
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1057
+#: templates/js/translated/modals.js:1039
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1058
+#: templates/js/translated/modals.js:1040
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1081
+#: templates/js/translated/modals.js:1063
msgid "Error requesting form data"
msgstr ""
@@ -7405,35 +7270,35 @@ msgstr ""
msgid "Company ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:90
+#: templates/js/translated/model_renderers.js:77
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:125
+#: templates/js/translated/model_renderers.js:130
msgid "Location ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:142
+#: templates/js/translated/model_renderers.js:147
msgid "Build ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:177
+#: templates/js/translated/model_renderers.js:182
msgid "Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:231
+#: templates/js/translated/model_renderers.js:236
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:251
+#: templates/js/translated/model_renderers.js:256
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:288
+#: templates/js/translated/model_renderers.js:293
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:317
+#: templates/js/translated/model_renderers.js:322
msgid "Supplier Part ID"
msgstr ""
@@ -7445,565 +7310,688 @@ msgstr ""
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:207
+#: templates/js/translated/order.js:208
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96
+#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393
msgid "Format"
msgstr ""
-#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97
+#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394
msgid "Select file format"
msgstr ""
-#: templates/js/translated/order.js:299
+#: templates/js/translated/order.js:300
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:300
+#: templates/js/translated/order.js:301
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:325
+#: templates/js/translated/order.js:326
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343
+#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:426
+#: templates/js/translated/order.js:427
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:428
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:429
+#: templates/js/translated/order.js:430
msgid "Receive"
msgstr ""
-#: templates/js/translated/order.js:448
+#: templates/js/translated/order.js:449
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:449
+#: templates/js/translated/order.js:450
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:626
+#: templates/js/translated/order.js:627
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028
+#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602
+#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613
+#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:800
+#: templates/js/translated/order.js:801
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432
+#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457
-#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554
+#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470
+#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464
-msgid "Total price"
+#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486
+msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573
+#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:963
+#: templates/js/translated/order.js:976
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:967
+#: templates/js/translated/order.js:980
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1004
+#: templates/js/translated/order.js:1017
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1055
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1120
+#: templates/js/translated/order.js:1133
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:1213
+#: templates/js/translated/order.js:1226
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1231
+#: templates/js/translated/order.js:1244
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1273
+#: templates/js/translated/order.js:1286
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:1514
+#: templates/js/translated/order.js:1535
msgid "Fulfilled"
msgstr ""
-#: templates/js/translated/order.js:1557
+#: templates/js/translated/order.js:1579
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1585
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725
+#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1596
msgid "Delete line item "
msgstr ""
-#: templates/js/translated/order.js:1673
+#: templates/js/translated/order.js:1719
msgid "Allocate Stock Item"
msgstr ""
-#: templates/js/translated/order.js:1733
+#: templates/js/translated/order.js:1779
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1747
+#: templates/js/translated/order.js:1793
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/part.js:49
+#: templates/js/translated/part.js:50
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:53
+#: templates/js/translated/part.js:54
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:57
+#: templates/js/translated/part.js:58
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:61
+#: templates/js/translated/part.js:62
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:75
+#: templates/js/translated/part.js:76
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:164
+#: templates/js/translated/part.js:165
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:165
+#: templates/js/translated/part.js:166
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:172
+#: templates/js/translated/part.js:173
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:173
+#: templates/js/translated/part.js:174
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:180
+#: templates/js/translated/part.js:181
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:191
+#: templates/js/translated/part.js:192
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:192
+#: templates/js/translated/part.js:193
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:201
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:202
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:257
+#: templates/js/translated/part.js:258
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:258
+#: templates/js/translated/part.js:259
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:265
-msgid "Copy BOM"
-msgstr ""
-
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:267
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:273
+#: templates/js/translated/part.js:274
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:274
+#: templates/js/translated/part.js:275
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:287
+#: templates/js/translated/part.js:288
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:331
+#: templates/js/translated/part.js:332
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:419 templates/js/translated/part.js:504
+#: templates/js/translated/part.js:334
+msgid "Part edited"
+msgstr ""
+
+#: templates/js/translated/part.js:402
+msgid "You are subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:404
+msgid "You have subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:409
+msgid "Subscribe to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:411
+msgid "You have unsubscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:440 templates/js/translated/part.js:525
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:423 templates/js/translated/part.js:508
+#: templates/js/translated/part.js:444 templates/js/translated/part.js:529
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:435
-msgid "Starred part"
+#: templates/js/translated/part.js:456
+msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:439
+#: templates/js/translated/part.js:460
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:554
+#: templates/js/translated/part.js:575
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005
+#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:932
+#: templates/js/translated/part.js:933
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:955
-#: templates/js/translated/table_filters.js:359
+#: templates/js/translated/part.js:956
+#: templates/js/translated/table_filters.js:375
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480
+#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200
+#: templates/js/translated/stock.js:1802
+msgid "Display as list"
+msgstr ""
+
+#: templates/js/translated/part.js:1044
+msgid "Display as grid"
+msgstr ""
+
+#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821
+msgid "Display as tree"
+msgstr ""
+
+#: templates/js/translated/part.js:1283
+msgid "Subscribed category"
+msgstr ""
+
+#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1202
+#: templates/js/translated/part.js:1341
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493
+#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494
+#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1260
+#: templates/js/translated/part.js:1399
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1282
+#: templates/js/translated/part.js:1421
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1296
+#: templates/js/translated/part.js:1435
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1321
+#: templates/js/translated/part.js:1460
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1376
+#: templates/js/translated/part.js:1515
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1377
+#: templates/js/translated/part.js:1516
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1478
+#: templates/js/translated/part.js:1617
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1497
+#: templates/js/translated/part.js:1636
msgid "Single Price Difference"
msgstr ""
-#: templates/js/translated/stock.js:63
+#: templates/js/translated/report.js:67
+msgid "items selected"
+msgstr ""
+
+#: templates/js/translated/report.js:75
+msgid "Select Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:90
+msgid "Select Test Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:119
+msgid "Stock item(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:136 templates/js/translated/report.js:189
+#: templates/js/translated/report.js:243 templates/js/translated/report.js:297
+#: templates/js/translated/report.js:351
+msgid "No Reports Found"
+msgstr ""
+
+#: templates/js/translated/report.js:137
+msgid "No report templates found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:172
+msgid "Select Builds"
+msgstr ""
+
+#: templates/js/translated/report.js:173
+msgid "Build(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:190
+msgid "No report templates found which match selected build(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:226
+msgid "Part(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:244
+msgid "No report templates found which match selected part(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:279
+msgid "Select Purchase Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:280
+msgid "Purchase Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
+msgid "No report templates found which match selected orders"
+msgstr ""
+
+#: templates/js/translated/report.js:333
+msgid "Select Sales Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:334
+msgid "Sales Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/stock.js:70
+msgid "Serialize Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:90
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:126
+msgid "New Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:189
+msgid "Enter initial quantity for this stock item"
+msgstr ""
+
+#: templates/js/translated/stock.js:195
+msgid "Enter serial numbers for new stock (or leave blank)"
+msgstr ""
+
+#: templates/js/translated/stock.js:338
+msgid "Created new stock item"
+msgstr ""
+
+#: templates/js/translated/stock.js:351
+msgid "Created multiple stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:390
msgid "Export Stock"
msgstr ""
-#: templates/js/translated/stock.js:104
+#: templates/js/translated/stock.js:401
msgid "Include Sublocations"
msgstr ""
-#: templates/js/translated/stock.js:105
+#: templates/js/translated/stock.js:402
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:444
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:148
+#: templates/js/translated/stock.js:445
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:154
+#: templates/js/translated/stock.js:451
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:155
+#: templates/js/translated/stock.js:452
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:159
+#: templates/js/translated/stock.js:456
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:160
+#: templates/js/translated/stock.js:457
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:164
+#: templates/js/translated/stock.js:461
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:165 users/models.py:195
+#: templates/js/translated/stock.js:462 users/models.py:200
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:169 templates/stock_table.html:63
+#: templates/js/translated/stock.js:466 templates/stock_table.html:56
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:298
+#: templates/js/translated/stock.js:595
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:456
+#: templates/js/translated/stock.js:753
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:458
+#: templates/js/translated/stock.js:755
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:463
+#: templates/js/translated/stock.js:760
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:489
+#: templates/js/translated/stock.js:782
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:515
+#: templates/js/translated/stock.js:808
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:563
+#: templates/js/translated/stock.js:865
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:670
+#: templates/js/translated/stock.js:972
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:674
+#: templates/js/translated/stock.js:976
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:678
+#: templates/js/translated/stock.js:980
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:984
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:688
+#: templates/js/translated/stock.js:990
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:844
+#: templates/js/translated/stock.js:1148
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:849
+#: templates/js/translated/stock.js:1153
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:852
+#: templates/js/translated/stock.js:1156
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:856
+#: templates/js/translated/stock.js:1160
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:858
+#: templates/js/translated/stock.js:1162
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:1166
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:866
+#: templates/js/translated/stock.js:1170
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:873
+#: templates/js/translated/stock.js:1177
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:1179
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:877
+#: templates/js/translated/stock.js:1181
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:881
-#: templates/js/translated/table_filters.js:161
+#: templates/js/translated/stock.js:1185
+#: templates/js/translated/table_filters.js:177
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:935
+#: templates/js/translated/stock.js:1235
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1308
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1046
+#: templates/js/translated/stock.js:1346
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115
+#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415
msgid "items"
msgstr ""
-#: templates/js/translated/stock.js:1155
+#: templates/js/translated/stock.js:1455
msgid "batches"
msgstr ""
-#: templates/js/translated/stock.js:1182
+#: templates/js/translated/stock.js:1482
msgid "locations"
msgstr ""
-#: templates/js/translated/stock.js:1184
+#: templates/js/translated/stock.js:1484
msgid "Undefined location"
msgstr ""
-#: templates/js/translated/stock.js:1358
+#: templates/js/translated/stock.js:1658
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:1372
+#: templates/js/translated/stock.js:1672
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:1373
+#: templates/js/translated/stock.js:1673
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:1512
+#: templates/js/translated/stock.js:1897
msgid "Invalid date"
msgstr ""
-#: templates/js/translated/stock.js:1559
+#: templates/js/translated/stock.js:1919
+msgid "Details"
+msgstr ""
+
+#: templates/js/translated/stock.js:1944
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1578
+#: templates/js/translated/stock.js:1963
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1597
+#: templates/js/translated/stock.js:1982
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1615
+#: templates/js/translated/stock.js:2000
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1638
+#: templates/js/translated/stock.js:2023
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:1646
+#: templates/js/translated/stock.js:2031
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:1687
+#: templates/js/translated/stock.js:2072
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1688
+#: templates/js/translated/stock.js:2073
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:2124
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:1835
-msgid "Serial"
-msgstr ""
-
-#: templates/js/translated/stock.js:1863
+#: templates/js/translated/stock.js:2175
msgid "Uninstall Stock Item"
msgstr ""
@@ -8023,254 +8011,264 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:156
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:172
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:93
+#: templates/js/translated/table_filters.js:105
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:103
-#: templates/js/translated/table_filters.js:104
-#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:115
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:352
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:114
-#: templates/js/translated/table_filters.js:191
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:117
-#: templates/js/translated/table_filters.js:198
-msgid "Serial number GTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:118
-#: templates/js/translated/table_filters.js:199
-msgid "Serial number greater than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:121
-#: templates/js/translated/table_filters.js:202
-msgid "Serial number LTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:122
-#: templates/js/translated/table_filters.js:203
-msgid "Serial number less than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:125
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:195
-msgid "Serial number"
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:387
+msgid "Subscribed"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:212
-msgid "Batch code"
+#: templates/js/translated/table_filters.js:207
+msgid "Is Serialized"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:214
+msgid "Serial number GTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:134
+#: templates/js/translated/table_filters.js:215
+msgid "Serial number greater than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:137
+#: templates/js/translated/table_filters.js:218
+msgid "Serial number LTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:138
+#: templates/js/translated/table_filters.js:219
+msgid "Serial number less than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:141
-#: templates/js/translated/table_filters.js:326
-msgid "Active parts"
-msgstr ""
-
#: templates/js/translated/table_filters.js:142
-msgid "Show stock for active parts"
+#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:211
+msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:147
-msgid "Part is an assembly"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:151
-msgid "Is allocated"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:152
-msgid "Item has been allocated"
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:228
+msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:157
-msgid "Include stock in sublocations"
+#: templates/js/translated/table_filters.js:342
+msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:162
-msgid "Show stock items which are depleted"
+#: templates/js/translated/table_filters.js:158
+msgid "Show stock for active parts"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:163
+msgid "Part is an assembly"
msgstr ""
#: templates/js/translated/table_filters.js:167
+msgid "Is allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:168
+msgid "Item has been allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:173
+msgid "Include stock in sublocations"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:178
+msgid "Show stock items which are depleted"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:183
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:187
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:188
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:176
+#: templates/js/translated/table_filters.js:192
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:177
+#: templates/js/translated/table_filters.js:193
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:197
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:182
+#: templates/js/translated/table_filters.js:198
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:187
+#: templates/js/translated/table_filters.js:203
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:207
-#: templates/js/translated/table_filters.js:208
+#: templates/js/translated/table_filters.js:223
+#: templates/js/translated/table_filters.js:224
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/table_filters.js:232
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:233
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:242
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:248
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:279
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:291
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:307
+#: templates/js/translated/table_filters.js:324
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:296
-#: templates/js/translated/table_filters.js:313
+#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:329
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:337
+#: templates/js/translated/table_filters.js:353
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:341
+#: templates/js/translated/table_filters.js:357
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:342
+#: templates/js/translated/table_filters.js:358
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:347
+#: templates/js/translated/table_filters.js:363
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:355
+#: templates/js/translated/table_filters.js:371
msgid "Stock available"
msgstr ""
-#: templates/js/translated/table_filters.js:371
-msgid "Starred"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:383
+#: templates/js/translated/table_filters.js:399
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/tables.js:366
+#: templates/js/translated/tables.js:368
msgid "Loading data"
msgstr ""
-#: templates/js/translated/tables.js:369
+#: templates/js/translated/tables.js:371
msgid "rows per page"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "Showing"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "to"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "of"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "rows"
msgstr ""
-#: templates/js/translated/tables.js:378
+#: templates/js/translated/tables.js:377 templates/search_form.html:6
+#: templates/search_form.html:7
+msgid "Search"
+msgstr ""
+
+#: templates/js/translated/tables.js:380
msgid "No matching results"
msgstr ""
-#: templates/js/translated/tables.js:381
+#: templates/js/translated/tables.js:383
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/translated/tables.js:384
+#: templates/js/translated/tables.js:386
msgid "Refresh"
msgstr ""
-#: templates/js/translated/tables.js:387
+#: templates/js/translated/tables.js:389
msgid "Toggle"
msgstr ""
-#: templates/js/translated/tables.js:390
+#: templates/js/translated/tables.js:392
msgid "Columns"
msgstr ""
-#: templates/js/translated/tables.js:393
+#: templates/js/translated/tables.js:395
msgid "All"
msgstr ""
-#: templates/navbar.html:19
-msgid "Toggle navigation"
-msgstr ""
-
-#: templates/navbar.html:39
+#: templates/navbar.html:40
msgid "Buy"
msgstr ""
-#: templates/navbar.html:51
+#: templates/navbar.html:52
msgid "Sell"
msgstr ""
-#: templates/navbar.html:83 users/models.py:39
+#: templates/navbar.html:86 users/models.py:39
msgid "Admin"
msgstr ""
-#: templates/navbar.html:85
+#: templates/navbar.html:88
msgid "Logout"
msgstr ""
-#: templates/navbar.html:106
+#: templates/navbar.html:90
+msgid "Login"
+msgstr ""
+
+#: templates/navbar.html:111
msgid "About InvenTree"
msgstr ""
+#: templates/navbar_demo.html:5
+msgid "InvenTree demo mode"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -8283,6 +8281,10 @@ msgstr ""
msgid "Log in again"
msgstr ""
+#: templates/stats.html:9
+msgid "Server"
+msgstr ""
+
#: templates/stats.html:13
msgid "Instance Name"
msgstr ""
@@ -8336,54 +8338,50 @@ msgid "Export Stock Information"
msgstr ""
#: templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/stock_table.html:27
msgid "Barcode Actions"
msgstr ""
-#: templates/stock_table.html:43
+#: templates/stock_table.html:36
msgid "Print test reports"
msgstr ""
-#: templates/stock_table.html:50
+#: templates/stock_table.html:43
msgid "Stock Options"
msgstr ""
-#: templates/stock_table.html:55
+#: templates/stock_table.html:48
msgid "Add to selected stock items"
msgstr ""
-#: templates/stock_table.html:56
+#: templates/stock_table.html:49
msgid "Remove from selected stock items"
msgstr ""
-#: templates/stock_table.html:57
+#: templates/stock_table.html:50
msgid "Stocktake selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move stock"
msgstr ""
-#: templates/stock_table.html:59
+#: templates/stock_table.html:52
msgid "Order selected items"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change status"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change stock status"
msgstr ""
-#: templates/stock_table.html:63
+#: templates/stock_table.html:56
msgid "Delete selected items"
msgstr ""
@@ -8419,35 +8417,34 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:182
+#: users/models.py:187
msgid "Permission set"
msgstr ""
-#: users/models.py:190
+#: users/models.py:195
msgid "Group"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "View"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "Permission to view items"
msgstr ""
-#: users/models.py:195
+#: users/models.py:200
msgid "Permission to add items"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Change"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:199
+#: users/models.py:204
msgid "Permission to delete items"
msgstr ""
-
diff --git a/InvenTree/locale/id/LC_MESSAGES/django.mo b/InvenTree/locale/id/LC_MESSAGES/django.mo
new file mode 100644
index 0000000000..e0106c400d
Binary files /dev/null and b/InvenTree/locale/id/LC_MESSAGES/django.mo differ
diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po
index 1ccc38461c..39780487cc 100644
--- a/InvenTree/locale/id/LC_MESSAGES/django.po
+++ b/InvenTree/locale/id/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-11 06:21+0000\n"
+"POT-Creation-Date: 2021-11-22 22:08+0000\n"
"PO-Revision-Date: 2021-10-11 06:28\n"
"Last-Translator: \n"
"Language-Team: Indonesian\n"
@@ -33,260 +33,266 @@ msgstr ""
msgid "Enter date"
msgstr ""
-#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123
-#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27
-#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71
-#: part/forms.py:108 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:564
+#: InvenTree/forms.py:120 build/forms.py:48 build/forms.py:69 build/forms.py:93
+#: order/forms.py:26 order/forms.py:37 order/forms.py:48 order/forms.py:59
+#: order/forms.py:70 part/forms.py:108 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:594
msgid "Confirm"
msgstr ""
-#: InvenTree/forms.py:132
+#: InvenTree/forms.py:136
msgid "Confirm delete"
msgstr ""
-#: InvenTree/forms.py:133
+#: InvenTree/forms.py:137
msgid "Confirm item deletion"
msgstr ""
-#: InvenTree/forms.py:164
+#: InvenTree/forms.py:168
msgid "Enter password"
msgstr ""
-#: InvenTree/forms.py:165
+#: InvenTree/forms.py:169
msgid "Enter new password"
msgstr ""
-#: InvenTree/forms.py:172
+#: InvenTree/forms.py:176
msgid "Confirm password"
msgstr ""
-#: InvenTree/forms.py:173
+#: InvenTree/forms.py:177
msgid "Confirm new password"
msgstr ""
-#: InvenTree/forms.py:205
+#: InvenTree/forms.py:209
msgid "Select Category"
msgstr ""
-#: InvenTree/forms.py:226
-msgid "E-mail (again)"
-msgstr ""
-
#: InvenTree/forms.py:230
-msgid "E-mail address confirmation"
+msgid "Email (again)"
msgstr ""
-#: InvenTree/forms.py:250
+#: InvenTree/forms.py:234
+msgid "Email address confirmation"
+msgstr ""
+
+#: InvenTree/forms.py:254
msgid "You must type the same email each time."
msgstr ""
-#: InvenTree/helpers.py:401
+#: InvenTree/helpers.py:430
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr ""
-#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437
-#: stock/views.py:1340
+#: InvenTree/helpers.py:437 order/models.py:318 order/models.py:440
+#: stock/views.py:1264
msgid "Invalid quantity provided"
msgstr ""
-#: InvenTree/helpers.py:411
+#: InvenTree/helpers.py:440
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:462 InvenTree/helpers.py:465 InvenTree/helpers.py:468
+#: InvenTree/helpers.py:493
#, python-brace-format
msgid "Invalid group: {g}"
msgstr ""
-#: InvenTree/helpers.py:469
+#: InvenTree/helpers.py:498
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr ""
-#: InvenTree/helpers.py:477
+#: InvenTree/helpers.py:506
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:481
+#: InvenTree/helpers.py:510
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/models.py:66 stock/models.py:1823
+#: InvenTree/models.py:109 stock/models.py:1874
msgid "Attachment"
msgstr ""
-#: InvenTree/models.py:67
+#: InvenTree/models.py:110
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:69 templates/js/translated/attachment.js:87
+#: InvenTree/models.py:112 templates/js/translated/attachment.js:91
msgid "Comment"
msgstr ""
-#: InvenTree/models.py:69
+#: InvenTree/models.py:112
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055
-#: common/models.py:1056 part/models.py:2055
-#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/translated/stock.js:1669
+#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185
+#: common/models.py:1186 part/models.py:2205 part/models.py:2225
+#: report/templates/report/inventree_test_report_base.html:96
+#: templates/js/translated/stock.js:2054
msgid "User"
msgstr ""
-#: InvenTree/models.py:79
+#: InvenTree/models.py:122
msgid "upload date"
msgstr ""
-#: InvenTree/models.py:99
+#: InvenTree/models.py:142
msgid "Filename must not be empty"
msgstr ""
-#: InvenTree/models.py:122
+#: InvenTree/models.py:165
msgid "Invalid attachment directory"
msgstr ""
-#: InvenTree/models.py:132
+#: InvenTree/models.py:175
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr ""
-#: InvenTree/models.py:135
+#: InvenTree/models.py:178
msgid "Filename missing extension"
msgstr ""
-#: InvenTree/models.py:142
+#: InvenTree/models.py:185
msgid "Attachment with this filename already exists"
msgstr ""
-#: InvenTree/models.py:149
+#: InvenTree/models.py:192
msgid "Error renaming file"
msgstr ""
-#: InvenTree/models.py:184
+#: InvenTree/models.py:227
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415
-#: label/models.py:112 part/models.py:659 part/models.py:2216
-#: part/templates/part/part_base.html:241 report/models.py:181
-#: templates/js/translated/company.js:637 templates/js/translated/part.js:477
-#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141
-#: templates/js/translated/stock.js:1462
+#: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415
+#: label/models.py:112 part/models.py:741 part/models.py:2389
+#: part/templates/part/detail.html:25 report/models.py:181
+#: templates/js/translated/company.js:637 templates/js/translated/part.js:498
+#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272
+#: templates/js/translated/stock.js:1847
msgid "Name"
msgstr ""
-#: InvenTree/models.py:207 build/models.py:189
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/manufacturer_part.html:76
-#: company/templates/company/supplier_part.html:75 label/models.py:119
-#: order/models.py:158 part/models.py:682
-#: part/templates/part/part_base.html:246
+#: InvenTree/models.py:250 build/models.py:207
+#: build/templates/build/detail.html:25 company/models.py:354
+#: company/models.py:570 company/templates/company/manufacturer_part.html:80
+#: company/templates/company/supplier_part.html:81 label/models.py:119
+#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30
#: part/templates/part/set_category.html:14 report/models.py:194
-#: report/models.py:551 report/models.py:590
+#: report/models.py:553 report/models.py:592
#: report/templates/report/inventree_build_order_base.html:118
-#: templates/InvenTree/settings/header.html:9
-#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217
-#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344
+#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214
+#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621
+#: templates/js/translated/company.js:344
#: templates/js/translated/company.js:547
-#: templates/js/translated/company.js:836 templates/js/translated/order.js:672
-#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056
-#: templates/js/translated/part.js:536 templates/js/translated/part.js:724
-#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153
-#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819
-#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519
+#: templates/js/translated/company.js:836 templates/js/translated/order.js:673
+#: templates/js/translated/order.js:833 templates/js/translated/order.js:1069
+#: templates/js/translated/part.js:557 templates/js/translated/part.js:745
+#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291
+#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121
+#: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904
msgid "Description"
msgstr ""
-#: InvenTree/models.py:208
+#: InvenTree/models.py:251
msgid "Description (optional)"
msgstr ""
-#: InvenTree/models.py:216
+#: InvenTree/models.py:259
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:55 part/models.py:2475
+#: InvenTree/serializers.py:62 part/models.py:2674
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:244
+#: InvenTree/serializers.py:251
msgid "Filename"
msgstr ""
-#: InvenTree/settings.py:529
+#: InvenTree/settings.py:663
msgid "German"
msgstr ""
-#: InvenTree/settings.py:530
+#: InvenTree/settings.py:664
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:531
+#: InvenTree/settings.py:665
msgid "English"
msgstr ""
-#: InvenTree/settings.py:532
+#: InvenTree/settings.py:666
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:533
+#: InvenTree/settings.py:667
+msgid "Spanish (Mexican)"
+msgstr ""
+
+#: InvenTree/settings.py:668
msgid "French"
msgstr ""
-#: InvenTree/settings.py:534
+#: InvenTree/settings.py:669
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:535
+#: InvenTree/settings.py:670
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:536
+#: InvenTree/settings.py:671
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:537
+#: InvenTree/settings.py:672
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:538
+#: InvenTree/settings.py:673
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:539
+#: InvenTree/settings.py:674
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:540
+#: InvenTree/settings.py:675
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:541
+#: InvenTree/settings.py:676
+msgid "Portugese"
+msgstr ""
+
+#: InvenTree/settings.py:677
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:542
+#: InvenTree/settings.py:678
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:543
+#: InvenTree/settings.py:679
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:544
+#: InvenTree/settings.py:680
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:545
+#: InvenTree/settings.py:681
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:546
+#: InvenTree/settings.py:682
msgid "Chinese"
msgstr ""
@@ -302,196 +308,196 @@ msgstr ""
msgid "InvenTree system health checks failed"
msgstr ""
-#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145
-#: InvenTree/status_codes.py:314
+#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142
+#: InvenTree/status_codes.py:311
msgid "Pending"
msgstr ""
-#: InvenTree/status_codes.py:105
+#: InvenTree/status_codes.py:102
msgid "Placed"
msgstr ""
-#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317
+#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:314
msgid "Complete"
msgstr ""
-#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147
-#: InvenTree/status_codes.py:316
+#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144
+#: InvenTree/status_codes.py:313
msgid "Cancelled"
msgstr ""
-#: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148
-#: InvenTree/status_codes.py:190
+#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145
+#: InvenTree/status_codes.py:187
msgid "Lost"
msgstr ""
-#: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149
-#: InvenTree/status_codes.py:192
+#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146
+#: InvenTree/status_codes.py:189
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:146
-#: order/templates/order/sales_order_base.html:131
+#: InvenTree/status_codes.py:143
+#: order/templates/order/sales_order_base.html:147
msgid "Shipped"
msgstr ""
-#: InvenTree/status_codes.py:186
+#: InvenTree/status_codes.py:183
msgid "OK"
msgstr ""
-#: InvenTree/status_codes.py:187
+#: InvenTree/status_codes.py:184
msgid "Attention needed"
msgstr ""
-#: InvenTree/status_codes.py:188
+#: InvenTree/status_codes.py:185
msgid "Damaged"
msgstr ""
-#: InvenTree/status_codes.py:189
+#: InvenTree/status_codes.py:186
msgid "Destroyed"
msgstr ""
-#: InvenTree/status_codes.py:191
+#: InvenTree/status_codes.py:188
msgid "Rejected"
msgstr ""
-#: InvenTree/status_codes.py:272
+#: InvenTree/status_codes.py:269
msgid "Legacy stock tracking entry"
msgstr ""
-#: InvenTree/status_codes.py:274
+#: InvenTree/status_codes.py:271
msgid "Stock item created"
msgstr ""
-#: InvenTree/status_codes.py:276
+#: InvenTree/status_codes.py:273
msgid "Edited stock item"
msgstr ""
-#: InvenTree/status_codes.py:277
+#: InvenTree/status_codes.py:274
msgid "Assigned serial number"
msgstr ""
-#: InvenTree/status_codes.py:279
+#: InvenTree/status_codes.py:276
msgid "Stock counted"
msgstr ""
-#: InvenTree/status_codes.py:280
+#: InvenTree/status_codes.py:277
msgid "Stock manually added"
msgstr ""
-#: InvenTree/status_codes.py:281
+#: InvenTree/status_codes.py:278
msgid "Stock manually removed"
msgstr ""
-#: InvenTree/status_codes.py:283
+#: InvenTree/status_codes.py:280
msgid "Location changed"
msgstr ""
-#: InvenTree/status_codes.py:285
+#: InvenTree/status_codes.py:282
msgid "Installed into assembly"
msgstr ""
-#: InvenTree/status_codes.py:286
+#: InvenTree/status_codes.py:283
msgid "Removed from assembly"
msgstr ""
-#: InvenTree/status_codes.py:288
+#: InvenTree/status_codes.py:285
msgid "Installed component item"
msgstr ""
-#: InvenTree/status_codes.py:289
+#: InvenTree/status_codes.py:286
msgid "Removed component item"
msgstr ""
-#: InvenTree/status_codes.py:291
+#: InvenTree/status_codes.py:288
msgid "Split from parent item"
msgstr ""
-#: InvenTree/status_codes.py:292
+#: InvenTree/status_codes.py:289
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186
+#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202
msgid "Sent to customer"
msgstr ""
-#: InvenTree/status_codes.py:295
+#: InvenTree/status_codes.py:292
msgid "Returned from customer"
msgstr ""
-#: InvenTree/status_codes.py:297
+#: InvenTree/status_codes.py:294
msgid "Build order output created"
msgstr ""
-#: InvenTree/status_codes.py:298
+#: InvenTree/status_codes.py:295
msgid "Build order output completed"
msgstr ""
-#: InvenTree/status_codes.py:300
+#: InvenTree/status_codes.py:297
msgid "Received against purchase order"
msgstr ""
-#: InvenTree/status_codes.py:315
+#: InvenTree/status_codes.py:312
msgid "Production"
msgstr ""
-#: InvenTree/validators.py:22
+#: InvenTree/validators.py:23
msgid "Not a valid currency code"
msgstr ""
-#: InvenTree/validators.py:50
+#: InvenTree/validators.py:51
msgid "Invalid character in part name"
msgstr ""
-#: InvenTree/validators.py:63
+#: InvenTree/validators.py:64
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr ""
-#: InvenTree/validators.py:77 InvenTree/validators.py:91
-#: InvenTree/validators.py:105
+#: InvenTree/validators.py:78 InvenTree/validators.py:92
+#: InvenTree/validators.py:106
#, python-brace-format
msgid "Reference must match pattern {pattern}"
msgstr ""
-#: InvenTree/validators.py:113
+#: InvenTree/validators.py:114
#, python-brace-format
msgid "Illegal character in name ({x})"
msgstr ""
-#: InvenTree/validators.py:132 InvenTree/validators.py:148
+#: InvenTree/validators.py:133 InvenTree/validators.py:149
msgid "Overage value must not be negative"
msgstr ""
-#: InvenTree/validators.py:150
+#: InvenTree/validators.py:151
msgid "Overage must not exceed 100%"
msgstr ""
-#: InvenTree/validators.py:157
+#: InvenTree/validators.py:158
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:616
+#: InvenTree/views.py:536
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:665
+#: InvenTree/views.py:585
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:710
+#: InvenTree/views.py:630
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:954 templates/navbar.html:97
+#: InvenTree/views.py:863 templates/navbar.html:101
msgid "System Information"
msgstr ""
@@ -535,599 +541,566 @@ msgstr ""
msgid "Barcode associated with StockItem"
msgstr ""
-#: build/api.py:213
-msgid "Matching build order does not exist"
-msgstr ""
-
-#: build/forms.py:37
-msgid "Build Order reference"
-msgstr ""
-
-#: build/forms.py:38
-msgid "Order target date"
-msgstr ""
-
-#: build/forms.py:42 build/templates/build/build_base.html:146
-#: build/templates/build/detail.html:124
-#: order/templates/order/order_base.html:124
-#: order/templates/order/sales_order_base.html:124
-#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689
-#: templates/js/translated/order.js:1074
-msgid "Target Date"
-msgstr ""
-
-#: build/forms.py:43 build/models.py:279
-msgid "Target date for build completion. Build will be overdue after this date."
-msgstr ""
-
-#: build/forms.py:48 build/forms.py:90 build/models.py:1281
-#: build/templates/build/allocation_card.html:23
-#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:1087
-#: company/forms.py:42 company/templates/company/supplier_part.html:226
-#: order/forms.py:101 order/forms.py:123 order/models.py:720
-#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249
-#: part/forms.py:265 part/forms.py:281 part/models.py:2377
+#: build/forms.py:36 build/models.py:1283
+#: build/templates/build/build_base.html:124
+#: build/templates/build/detail.html:35 common/models.py:1225
+#: company/forms.py:42 company/templates/company/supplier_part.html:251
+#: order/forms.py:102 order/models.py:729 order/models.py:991
+#: order/templates/order/order_wizard/match_parts.html:30
+#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237
+#: part/forms.py:253 part/forms.py:269 part/models.py:2576
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030
+#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
-#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:140 stock/templates/stock/item_base.html:269
-#: stock/templates/stock/stock_adjust.html:18
-#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264
-#: templates/js/translated/build.js:314 templates/js/translated/build.js:638
-#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515
-#: templates/js/translated/model_renderers.js:74
-#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170
-#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444
-#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487
-#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654
-#: templates/js/translated/stock.js:1829
+#: report/templates/report/inventree_test_report_base.html:81
+#: report/templates/report/inventree_test_report_base.html:139
+#: stock/forms.py:156 stock/serializers.py:286
+#: stock/templates/stock/item_base.html:256
+#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441
+#: templates/js/translated/build.js:235 templates/js/translated/build.js:435
+#: templates/js/translated/build.js:629 templates/js/translated/build.js:639
+#: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362
+#: templates/js/translated/model_renderers.js:99
+#: templates/js/translated/order.js:870 templates/js/translated/order.js:1183
+#: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268
+#: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457
+#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626
+#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347
+#: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141
msgid "Quantity"
msgstr ""
-#: build/forms.py:49
-msgid "Number of items to build"
-msgstr ""
-
-#: build/forms.py:91
+#: build/forms.py:37
msgid "Enter quantity for build output"
msgstr ""
-#: build/forms.py:95 order/forms.py:95 stock/forms.py:83
+#: build/forms.py:41 order/forms.py:96 stock/forms.py:95
+#: stock/serializers.py:307 templates/js/translated/stock.js:194
+#: templates/js/translated/stock.js:348
msgid "Serial Numbers"
msgstr ""
-#: build/forms.py:97
+#: build/forms.py:43
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/forms.py:103
+#: build/forms.py:49
msgid "Confirm creation of build output"
msgstr ""
-#: build/forms.py:124
+#: build/forms.py:70
msgid "Confirm deletion of build output"
msgstr ""
-#: build/forms.py:145
-msgid "Confirm unallocation of stock"
-msgstr ""
-
-#: build/forms.py:174
+#: build/forms.py:94
msgid "Mark build as complete"
msgstr ""
-#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284
-#: stock/forms.py:280 stock/serializers.py:553
-#: stock/templates/stock/item_base.html:299
-#: stock/templates/stock/stock_adjust.html:17
-#: templates/js/translated/barcode.js:385
-#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299
-#: templates/js/translated/build.js:650 templates/js/translated/order.js:347
-#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263
-#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179
-#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921
-#: templates/js/translated/stock.js:1546
-msgid "Location"
-msgstr ""
-
-#: build/forms.py:199
-msgid "Location of completed parts"
-msgstr ""
-
-#: build/forms.py:203 build/templates/build/build_base.html:138
-#: build/templates/build/detail.html:62 order/models.py:563
-#: order/serializers.py:238 stock/templates/stock/item_base.html:422
-#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251
-#: templates/js/translated/order.js:430 templates/js/translated/order.js:676
-#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896
-#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845
-msgid "Status"
-msgstr ""
-
-#: build/forms.py:204
-msgid "Build output stock status"
-msgstr ""
-
-#: build/forms.py:211
-msgid "Confirm incomplete"
-msgstr ""
-
-#: build/forms.py:212
-msgid "Confirm completion with incomplete stock allocation"
-msgstr ""
-
-#: build/forms.py:215
-msgid "Confirm build completion"
-msgstr ""
-
-#: build/forms.py:240
+#: build/forms.py:107
msgid "Confirm cancel"
msgstr ""
-#: build/forms.py:240 build/views.py:65
+#: build/forms.py:107 build/views.py:65
msgid "Confirm build cancellation"
msgstr ""
-#: build/models.py:115
+#: build/models.py:133
msgid "Invalid choice for parent build"
msgstr ""
-#: build/models.py:119 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:73
+#: build/models.py:137 build/templates/build/build_base.html:9
+#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:276
+#: templates/js/translated/build.js:397
msgid "Build Order"
msgstr ""
-#: build/models.py:120 build/templates/build/index.html:8
-#: build/templates/build/index.html:15
-#: order/templates/order/sales_order_detail.html:34
-#: order/templates/order/so_navbar.html:19
-#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50
-#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229
-#: templates/InvenTree/search.html:171
-#: templates/InvenTree/settings/navbar.html:113
-#: templates/InvenTree/settings/navbar.html:115 users/models.py:44
+#: build/models.py:138 build/templates/build/build_base.html:13
+#: build/templates/build/index.html:8 build/templates/build/index.html:12
+#: order/templates/order/sales_order_detail.html:42
+#: templates/InvenTree/index.html:221 templates/InvenTree/search.html:145
+#: users/models.py:44
msgid "Build Orders"
msgstr ""
-#: build/models.py:180
+#: build/models.py:198
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:181 order/models.py:246 order/models.py:547
-#: order/models.py:727 part/models.py:2386
+#: build/models.py:199 order/models.py:249 order/models.py:556
+#: order/models.py:736 part/models.py:2585
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734
-#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863
-#: templates/js/translated/order.js:1438
+#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119
+#: templates/js/translated/order.js:864 templates/js/translated/order.js:1451
msgid "Reference"
msgstr ""
-#: build/models.py:192
+#: build/models.py:210
msgid "Brief description of the build"
msgstr ""
-#: build/models.py:201 build/templates/build/build_base.html:163
-#: build/templates/build/detail.html:80
+#: build/models.py:219 build/templates/build/build_base.html:156
+#: build/templates/build/detail.html:88
msgid "Parent Build"
msgstr ""
-#: build/models.py:202
+#: build/models.py:220
msgid "BuildOrder to which this build is allocated"
msgstr ""
-#: build/models.py:207 build/templates/build/build_base.html:128
-#: build/templates/build/detail.html:29 company/models.py:705
-#: order/models.py:780 order/models.py:851
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298
-#: part/models.py:2000 part/models.py:2016 part/models.py:2035
-#: part/models.py:2053 part/models.py:2132 part/models.py:2254
-#: part/models.py:2361 part/templates/part/detail.html:199
+#: build/models.py:225 build/templates/build/build_base.html:119
+#: build/templates/build/detail.html:30 company/models.py:705
+#: order/models.py:789 order/models.py:860
+#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357
+#: part/models.py:2151 part/models.py:2167 part/models.py:2186
+#: part/models.py:2203 part/models.py:2305 part/models.py:2427
+#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
-#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384
-#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611
-#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222
-#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488
-#: templates/js/translated/company.js:745 templates/js/translated/order.js:425
-#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422
-#: templates/js/translated/part.js:705 templates/js/translated/part.js:875
-#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776
-#: templates/js/translated/stock.js:1817
+#: templates/InvenTree/search.html:86
+#: templates/email/build_order_required_stock.html:17
+#: templates/email/low_stock_notification.html:16
+#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213
+#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620
+#: templates/js/translated/build.js:988 templates/js/translated/build.js:1359
+#: templates/js/translated/build.js:1626 templates/js/translated/company.js:488
+#: templates/js/translated/company.js:745 templates/js/translated/order.js:426
+#: templates/js/translated/order.js:818 templates/js/translated/order.js:1435
+#: templates/js/translated/part.js:726 templates/js/translated/part.js:892
+#: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:2129
msgid "Part"
msgstr ""
-#: build/models.py:215
+#: build/models.py:233
msgid "Select part to build"
msgstr ""
-#: build/models.py:220
+#: build/models.py:238
msgid "Sales Order Reference"
msgstr ""
-#: build/models.py:224
+#: build/models.py:242
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:229 templates/js/translated/build.js:962
+#: build/models.py:247 templates/js/translated/build.js:1347
msgid "Source Location"
msgstr ""
-#: build/models.py:233
+#: build/models.py:251
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr ""
-#: build/models.py:238
+#: build/models.py:256
msgid "Destination Location"
msgstr ""
-#: build/models.py:242
+#: build/models.py:260
msgid "Select location where the completed items will be stored"
msgstr ""
-#: build/models.py:246
+#: build/models.py:264
msgid "Build Quantity"
msgstr ""
-#: build/models.py:249
+#: build/models.py:267
msgid "Number of stock items to build"
msgstr ""
-#: build/models.py:253
+#: build/models.py:271
msgid "Completed items"
msgstr ""
-#: build/models.py:255
+#: build/models.py:273
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:259 part/templates/part/part_base.html:198
+#: build/models.py:277 part/templates/part/part_base.html:216
msgid "Build Status"
msgstr ""
-#: build/models.py:263
+#: build/models.py:281
msgid "Build status code"
msgstr ""
-#: build/models.py:267 stock/models.py:513
+#: build/models.py:285 stock/models.py:544
msgid "Batch Code"
msgstr ""
-#: build/models.py:271
+#: build/models.py:289
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:274 order/models.py:162 part/models.py:854
-#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069
+#: build/models.py:292 order/models.py:165 part/models.py:936
+#: part/templates/part/detail.html:86 templates/js/translated/order.js:1082
msgid "Creation Date"
msgstr ""
-#: build/models.py:278 order/models.py:569
+#: build/models.py:296 order/models.py:578
msgid "Target completion date"
msgstr ""
-#: build/models.py:282 order/models.py:288
-#: templates/js/translated/build.js:1293
+#: build/models.py:297
+msgid "Target date for build completion. Build will be overdue after this date."
+msgstr ""
+
+#: build/models.py:300 order/models.py:291
+#: templates/js/translated/build.js:1697
msgid "Completion Date"
msgstr ""
-#: build/models.py:288
+#: build/models.py:306
msgid "completed by"
msgstr ""
-#: build/models.py:296 templates/js/translated/build.js:1264
+#: build/models.py:314 templates/js/translated/build.js:1668
msgid "Issued by"
msgstr ""
-#: build/models.py:297
+#: build/models.py:315
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:305 build/templates/build/build_base.html:184
-#: build/templates/build/detail.html:108 order/models.py:176
-#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:145 part/models.py:858
+#: build/models.py:323 build/templates/build/build_base.html:177
+#: build/templates/build/detail.html:116 order/models.py:179
+#: order/templates/order/order_base.html:154
+#: order/templates/order/sales_order_base.html:161 part/models.py:940
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1680
msgid "Responsible"
msgstr ""
-#: build/models.py:306
+#: build/models.py:324
msgid "User responsible for this build order"
msgstr ""
-#: build/models.py:311 build/templates/build/detail.html:94
-#: company/templates/company/manufacturer_part.html:83
-#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:266 stock/models.py:507
-#: stock/templates/stock/item_base.html:359
+#: build/models.py:329 build/templates/build/detail.html:102
+#: company/templates/company/manufacturer_part.html:87
+#: company/templates/company/supplier_part.html:88
+#: part/templates/part/detail.html:80 stock/models.py:538
+#: stock/templates/stock/item_base.html:346
msgid "External Link"
msgstr ""
-#: build/models.py:312 part/models.py:716 stock/models.py:509
+#: build/models.py:330 part/models.py:798 stock/models.py:540
msgid "Link to external URL"
msgstr ""
-#: build/models.py:316 build/templates/build/navbar.html:52
-#: company/models.py:142 company/models.py:577
-#: company/templates/company/navbar.html:69
-#: company/templates/company/navbar.html:72 order/models.py:180
-#: order/models.py:729 order/templates/order/po_navbar.html:38
-#: order/templates/order/po_navbar.html:41
-#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:843
-#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120
-#: part/templates/part/navbar.html:123
+#: build/models.py:334 build/serializers.py:201 company/models.py:142
+#: company/models.py:577 order/models.py:183 order/models.py:738
+#: part/models.py:925 part/templates/part/detail.html:223
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579
-#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451
-#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59
-#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841
-#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540
-#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040
+#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610
+#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325
+#: stock/serializers.py:584 templates/js/translated/barcode.js:58
+#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841
+#: templates/js/translated/order.js:963 templates/js/translated/order.js:1561
+#: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340
msgid "Notes"
msgstr ""
-#: build/models.py:317
+#: build/models.py:335
msgid "Extra build notes"
msgstr ""
-#: build/models.py:714
+#: build/models.py:710
msgid "No build output specified"
msgstr ""
-#: build/models.py:717
+#: build/models.py:713
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:720
+#: build/models.py:716
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1102
+#: build/models.py:1108
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1111
+#: build/models.py:1117
#, python-brace-format
msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1121
+#: build/models.py:1127
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1127 order/models.py:955
+#: build/models.py:1133 order/models.py:964
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1133
+#: build/models.py:1139
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1191
+#: build/models.py:1193
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1251 stock/templates/stock/item_base.html:331
-#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195
-#: templates/navbar.html:35
+#: build/models.py:1253 stock/templates/stock/item_base.html:318
+#: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599
+#: templates/navbar.html:33
msgid "Build"
msgstr ""
-#: build/models.py:1252
+#: build/models.py:1254
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1268 build/serializers.py:151
+#: build/models.py:1270 build/serializers.py:328
#: stock/templates/stock/item_base.html:8
-#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:353
-#: stock/templates/stock/stock_adjust.html:16
-#: templates/js/translated/build.js:287 templates/js/translated/build.js:292
-#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148
-#: templates/js/translated/stock.js:1605
+#: stock/templates/stock/item_base.html:16
+#: stock/templates/stock/item_base.html:340
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:413
+#: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742
+#: templates/js/translated/order.js:1156 templates/js/translated/order.js:1161
+#: templates/js/translated/stock.js:1990
msgid "Stock Item"
msgstr ""
-#: build/models.py:1269
+#: build/models.py:1271
msgid "Source stock item"
msgstr ""
-#: build/models.py:1282
+#: build/models.py:1284
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1290
+#: build/models.py:1292
msgid "Install into"
msgstr ""
-#: build/models.py:1291
+#: build/models.py:1293
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:133 part/models.py:2501
-msgid "BOM Item"
-msgstr ""
-
-#: build/serializers.py:142
-msgid "bom_item.part must point to the same part as the build order"
-msgstr ""
-
-#: build/serializers.py:157
-msgid "Item must be in stock"
-msgstr ""
-
-#: build/serializers.py:171 order/models.py:313 order/serializers.py:231
-#: stock/models.py:351 stock/models.py:1072
-msgid "Quantity must be greater than zero"
-msgstr ""
-
-#: build/serializers.py:180
+#: build/serializers.py:137 build/serializers.py:357
msgid "Build Output"
msgstr ""
+#: build/serializers.py:146
+msgid "Build output does not match the parent build"
+msgstr ""
+
+#: build/serializers.py:150
+msgid "Output part does not match BuildOrder part"
+msgstr ""
+
+#: build/serializers.py:154
+msgid "This build output has already been completed"
+msgstr ""
+
+#: build/serializers.py:158
+msgid "This build output is not fully allocated"
+msgstr ""
+
+#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285
+#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686
+#: stock/templates/stock/item_base.html:286
+#: templates/js/translated/barcode.js:384
+#: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420
+#: templates/js/translated/build.js:1027 templates/js/translated/order.js:348
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1276
+#: templates/js/translated/order.js:1282 templates/js/translated/part.js:180
+#: templates/js/translated/stock.js:480 templates/js/translated/stock.js:1221
+#: templates/js/translated/stock.js:1931
+msgid "Location"
+msgstr ""
+
+#: build/serializers.py:191
+msgid "Location for completed build outputs"
+msgstr ""
+
+#: build/serializers.py:197 build/templates/build/build_base.html:129
+#: build/templates/build/detail.html:63 order/models.py:572
+#: order/serializers.py:238 stock/templates/stock/item_base.html:409
+#: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655
+#: templates/js/translated/order.js:431 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196
+#: templates/js/translated/stock.js:2008 templates/js/translated/stock.js:2157
+msgid "Status"
+msgstr ""
+
#: build/serializers.py:213
+msgid "A list of build outputs must be provided"
+msgstr ""
+
+#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700
+#: part/models.py:2859
+msgid "BOM Item"
+msgstr ""
+
+#: build/serializers.py:269
+msgid "Build output"
+msgstr ""
+
+#: build/serializers.py:278
+msgid "Build output must point to the same build"
+msgstr ""
+
+#: build/serializers.py:319
+msgid "bom_item.part must point to the same part as the build order"
+msgstr ""
+
+#: build/serializers.py:334
+msgid "Item must be in stock"
+msgstr ""
+
+#: build/serializers.py:348 order/models.py:316 order/serializers.py:231
+#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298
+msgid "Quantity must be greater than zero"
+msgstr ""
+
+#: build/serializers.py:390
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:219
+#: build/serializers.py:396
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:226
+#: build/serializers.py:403
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:254
+#: build/serializers.py:431
msgid "Allocation items must be provided"
msgstr ""
-#: build/templates/build/allocation_card.html:21
-#: build/templates/build/complete_output.html:46
-#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:501 stock/templates/stock/item_base.html:251
-#: templates/js/translated/build.js:636
-#: templates/js/translated/model_renderers.js:72
-#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342
-msgid "Serial Number"
+#: build/tasks.py:92
+msgid "Stock required for build order"
msgstr ""
-#: build/templates/build/build_base.html:18
+#: build/templates/build/build_base.html:39
+#: order/templates/order/order_base.html:28
+#: order/templates/order/sales_order_base.html:38
+msgid "Print actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:43
+msgid "Print build order report"
+msgstr ""
+
+#: build/templates/build/build_base.html:50
+msgid "Build actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:54
+msgid "Edit Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:56
+#: build/templates/build/build_base.html:207 build/views.py:56
+msgid "Cancel Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:59
+msgid "Delete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:64
+#: build/templates/build/build_base.html:65
+#: build/templates/build/build_base.html:223
+msgid "Complete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:79
#, python-format
msgid "This Build Order is allocated to Sales Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:25
+#: build/templates/build/build_base.html:86
#, python-format
msgid "This Build Order is a child of Build Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:32
+#: build/templates/build/build_base.html:93
msgid "Build Order is ready to mark as completed"
msgstr ""
-#: build/templates/build/build_base.html:37
+#: build/templates/build/build_base.html:98
msgid "Build Order cannot be completed as outstanding outputs remain"
msgstr ""
-#: build/templates/build/build_base.html:42
+#: build/templates/build/build_base.html:103
msgid "Required build quantity has not yet been completed"
msgstr ""
-#: build/templates/build/build_base.html:47
+#: build/templates/build/build_base.html:108
msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
-#: build/templates/build/build_base.html:75
-#: company/templates/company/company_base.html:40
-#: company/templates/company/manufacturer_part.html:29
-#: company/templates/company/supplier_part.html:30
-#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:30
-#: stock/templates/stock/item_base.html:62
-#: stock/templates/stock/location.html:31
-msgid "Admin view"
+#: build/templates/build/build_base.html:138
+#: build/templates/build/detail.html:132
+#: order/templates/order/order_base.html:140
+#: order/templates/order/sales_order_base.html:140
+#: report/templates/report/inventree_build_order_base.html:126
+#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690
+#: templates/js/translated/order.js:1087
+msgid "Target Date"
msgstr ""
-#: build/templates/build/build_base.html:81
-#: build/templates/build/build_base.html:150
-#: order/templates/order/order_base.html:32
-#: order/templates/order/order_base.html:86
-#: order/templates/order/sales_order_base.html:43
-#: order/templates/order/sales_order_base.html:93
-#: templates/js/translated/table_filters.js:272
-#: templates/js/translated/table_filters.js:300
-#: templates/js/translated/table_filters.js:317
-msgid "Overdue"
-msgstr ""
-
-#: build/templates/build/build_base.html:90
-msgid "Print actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:94
-msgid "Print Build Order"
-msgstr ""
-
-#: build/templates/build/build_base.html:100
-#: build/templates/build/build_base.html:222
-msgid "Complete Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:105
-msgid "Build actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:109
-msgid "Edit Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:111
-#: build/templates/build/build_base.html:206 build/views.py:56
-msgid "Cancel Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:114
-msgid "Delete Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:124
-#: build/templates/build/detail.html:15
-msgid "Build Details"
-msgstr ""
-
-#: build/templates/build/build_base.html:150
+#: build/templates/build/build_base.html:143
#, python-format
msgid "This build was due on %(target)s"
msgstr ""
-#: build/templates/build/build_base.html:157
-#: build/templates/build/detail.html:67
-msgid "Progress"
+#: build/templates/build/build_base.html:143
+#: build/templates/build/build_base.html:188
+#: order/templates/order/order_base.html:81
+#: order/templates/order/order_base.html:102
+#: order/templates/order/sales_order_base.html:78
+#: order/templates/order/sales_order_base.html:107
+#: templates/js/translated/table_filters.js:288
+#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:333
+msgid "Overdue"
msgstr ""
-#: build/templates/build/build_base.html:170
-#: build/templates/build/detail.html:87 order/models.py:848
+#: build/templates/build/build_base.html:150
+#: build/templates/build/detail.html:68 build/templates/build/detail.html:143
+#: templates/js/translated/build.js:1641
+#: templates/js/translated/table_filters.js:298
+msgid "Completed"
+msgstr ""
+
+#: build/templates/build/build_base.html:163
+#: build/templates/build/detail.html:95 order/models.py:857
#: order/templates/order/sales_order_base.html:9
-#: order/templates/order/sales_order_base.html:35
+#: order/templates/order/sales_order_base.html:28
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:293
-#: templates/js/translated/order.js:1016
+#: stock/templates/stock/item_base.html:280
+#: templates/js/translated/order.js:1029
msgid "Sales Order"
msgstr ""
-#: build/templates/build/build_base.html:177
-#: build/templates/build/detail.html:101
+#: build/templates/build/build_base.html:170
+#: build/templates/build/detail.html:109
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:214
+#: build/templates/build/build_base.html:215
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:215
+#: build/templates/build/build_base.html:216
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
@@ -1175,220 +1148,195 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/templates/build/complete_output.html:10
-msgid "Stock allocation is complete for this output"
+#: build/templates/build/detail.html:16
+msgid "Build Details"
msgstr ""
-#: build/templates/build/complete_output.html:14
-msgid "Stock allocation is incomplete"
-msgstr ""
-
-#: build/templates/build/complete_output.html:20
-msgid "tracked parts have not been fully allocated"
-msgstr ""
-
-#: build/templates/build/complete_output.html:41
-msgid "The following items will be created"
-msgstr ""
-
-#: build/templates/build/detail.html:38
+#: build/templates/build/detail.html:39
msgid "Stock Source"
msgstr ""
-#: build/templates/build/detail.html:43
+#: build/templates/build/detail.html:44
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134
-#: templates/js/translated/order.js:431 templates/js/translated/order.js:939
+#: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150
+#: templates/js/translated/order.js:432 templates/js/translated/order.js:952
msgid "Destination"
msgstr ""
-#: build/templates/build/detail.html:56
+#: build/templates/build/detail.html:57
msgid "Destination location not specified"
msgstr ""
-#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:317
-#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852
-#: templates/js/translated/table_filters.js:129
-#: templates/js/translated/table_filters.js:211
+#: build/templates/build/detail.html:74 templates/js/translated/build.js:647
+msgid "Allocated Parts"
+msgstr ""
+
+#: build/templates/build/detail.html:81
+#: stock/templates/stock/item_base.html:304
+#: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164
+#: templates/js/translated/table_filters.js:145
+#: templates/js/translated/table_filters.js:227
msgid "Batch"
msgstr ""
-#: build/templates/build/detail.html:119
-#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:118
-#: templates/js/translated/build.js:1259
+#: build/templates/build/detail.html:127
+#: order/templates/order/order_base.html:127
+#: order/templates/order/sales_order_base.html:134
+#: templates/js/translated/build.js:1663
msgid "Created"
msgstr ""
-#: build/templates/build/detail.html:130
+#: build/templates/build/detail.html:138
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237
-#: templates/js/translated/table_filters.js:282
-msgid "Completed"
-msgstr ""
-
-#: build/templates/build/detail.html:139
+#: build/templates/build/detail.html:147
msgid "Build not complete"
msgstr ""
-#: build/templates/build/detail.html:150 build/templates/build/navbar.html:35
+#: build/templates/build/detail.html:158
msgid "Child Build Orders"
msgstr ""
-#: build/templates/build/detail.html:166
+#: build/templates/build/detail.html:173
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:172
-msgid "Allocate stock to build"
-msgstr ""
-
-#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20
-#: build/templates/build/navbar.html:23
-msgid "Allocate Stock"
-msgstr ""
-
-#: build/templates/build/detail.html:175 templates/js/translated/build.js:817
+#: build/templates/build/detail.html:177 templates/js/translated/build.js:1202
msgid "Unallocate stock"
msgstr ""
-#: build/templates/build/detail.html:176 build/views.py:257
+#: build/templates/build/detail.html:178
msgid "Unallocate Stock"
msgstr ""
-#: build/templates/build/detail.html:179
+#: build/templates/build/detail.html:180
+msgid "Allocate stock to build"
+msgstr ""
+
+#: build/templates/build/detail.html:181
+msgid "Allocate Stock"
+msgstr ""
+
+#: build/templates/build/detail.html:184
msgid "Order required parts"
msgstr ""
-#: build/templates/build/detail.html:180
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72 order/views.py:509
-#: part/templates/part/category.html:140
+#: build/templates/build/detail.html:185
+#: company/templates/company/detail.html:38
+#: company/templates/company/detail.html:85 order/views.py:509
+#: part/templates/part/category.html:166
msgid "Order Parts"
msgstr ""
-#: build/templates/build/detail.html:186
+#: build/templates/build/detail.html:197
msgid "Untracked stock has been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:190
+#: build/templates/build/detail.html:201
msgid "Untracked stock has not been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:197
+#: build/templates/build/detail.html:208
msgid "Allocate selected items"
msgstr ""
-#: build/templates/build/detail.html:209
+#: build/templates/build/detail.html:218
msgid "This Build Order does not have any associated untracked BOM items"
msgstr ""
-#: build/templates/build/detail.html:218
+#: build/templates/build/detail.html:227
msgid "Incomplete Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:223
+#: build/templates/build/detail.html:231
msgid "Create new build output"
msgstr ""
-#: build/templates/build/detail.html:224
-msgid "Create New Output"
+#: build/templates/build/detail.html:232
+msgid "New Build Output"
msgstr ""
-#: build/templates/build/detail.html:237
-msgid "Create a new build output"
+#: build/templates/build/detail.html:246
+msgid "Output Actions"
msgstr ""
-#: build/templates/build/detail.html:238
-msgid "No incomplete build outputs remain."
+#: build/templates/build/detail.html:250
+msgid "Complete selected items"
msgstr ""
-#: build/templates/build/detail.html:239
-msgid "Create a new build output using the button above"
+#: build/templates/build/detail.html:251
+msgid "Complete outputs"
msgstr ""
-#: build/templates/build/detail.html:247
+#: build/templates/build/detail.html:266
msgid "Completed Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42
-#: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35
-#: order/templates/order/sales_order_detail.html:43
-#: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173
-#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117
-#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47
-#: stock/templates/stock/navbar.html:50
+#: build/templates/build/detail.html:278
+#: order/templates/order/purchase_order_detail.html:60
+#: order/templates/order/sales_order_detail.html:52
+#: part/templates/part/detail.html:300 stock/templates/stock/item.html:95
msgid "Attachments"
msgstr ""
-#: build/templates/build/detail.html:269
+#: build/templates/build/detail.html:294
msgid "Build Notes"
msgstr ""
-#: build/templates/build/detail.html:273 build/templates/build/detail.html:414
-#: company/templates/company/detail.html:169
-#: company/templates/company/detail.html:196
-#: order/templates/order/purchase_order_detail.html:71
-#: order/templates/order/purchase_order_detail.html:104
-#: order/templates/order/sales_order_detail.html:58
-#: order/templates/order/sales_order_detail.html:85
-#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103
-#: stock/templates/stock/item.html:188
+#: build/templates/build/detail.html:298 build/templates/build/detail.html:489
+#: company/templates/company/detail.html:188
+#: company/templates/company/detail.html:215
+#: order/templates/order/purchase_order_detail.html:80
+#: order/templates/order/purchase_order_detail.html:108
+#: order/templates/order/sales_order_detail.html:72
+#: order/templates/order/sales_order_detail.html:99
+#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115
+#: stock/templates/stock/item.html:205
msgid "Edit Notes"
msgstr ""
-#: build/templates/build/detail.html:373
-#: order/templates/order/po_attachments.html:79
-#: order/templates/order/purchase_order_detail.html:166
-#: order/templates/order/sales_order_detail.html:146
-#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253
-#: templates/attachment_table.html:6
+#: build/templates/build/detail.html:448
+#: order/templates/order/purchase_order_detail.html:170
+#: order/templates/order/sales_order_detail.html:160
+#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270
+#: templates/attachment_button.html:4
msgid "Add Attachment"
msgstr ""
-#: build/templates/build/detail.html:392
-#: order/templates/order/po_attachments.html:51
-#: order/templates/order/purchase_order_detail.html:138
-#: order/templates/order/sales_order_detail.html:119
-#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221
+#: build/templates/build/detail.html:467
+#: order/templates/order/purchase_order_detail.html:142
+#: order/templates/order/sales_order_detail.html:133
+#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238
msgid "Edit Attachment"
msgstr ""
-#: build/templates/build/detail.html:399
-#: order/templates/order/po_attachments.html:58
-#: order/templates/order/purchase_order_detail.html:145
-#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230
-#: templates/js/translated/order.js:1230
+#: build/templates/build/detail.html:474
+#: order/templates/order/purchase_order_detail.html:149
+#: order/templates/order/sales_order_detail.html:139
+#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247
+#: templates/js/translated/order.js:1243
msgid "Confirm Delete Operation"
msgstr ""
-#: build/templates/build/detail.html:400
-#: order/templates/order/po_attachments.html:59
-#: order/templates/order/purchase_order_detail.html:146
-#: order/templates/order/sales_order_detail.html:126
-#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231
+#: build/templates/build/detail.html:475
+#: order/templates/order/purchase_order_detail.html:150
+#: order/templates/order/sales_order_detail.html:140
+#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248
msgid "Delete Attachment"
msgstr ""
-#: build/templates/build/detail.html:443
+#: build/templates/build/detail.html:513
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:444
+#: build/templates/build/detail.html:514
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/edit_build_item.html:7
-msgid "Alter the quantity of stock allocated to the build output"
-msgstr ""
-
-#: build/templates/build/index.html:28
+#: build/templates/build/index.html:18 part/templates/part/detail.html:433
msgid "New Build Order"
msgstr ""
@@ -1396,47 +1344,18 @@ msgstr ""
msgid "Print Build Orders"
msgstr ""
-#: build/templates/build/index.html:43
-#: order/templates/order/purchase_orders.html:27
-#: order/templates/order/sales_orders.html:27
+#: build/templates/build/index.html:44
+#: order/templates/order/purchase_orders.html:34
+#: order/templates/order/sales_orders.html:37
msgid "Display calendar view"
msgstr ""
-#: build/templates/build/index.html:46
-#: order/templates/order/purchase_orders.html:30
-#: order/templates/order/sales_orders.html:30
+#: build/templates/build/index.html:47
+#: order/templates/order/purchase_orders.html:37
+#: order/templates/order/sales_orders.html:40
msgid "Display list view"
msgstr ""
-#: build/templates/build/navbar.html:12
-msgid "Build Order Details"
-msgstr ""
-
-#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/translated/stock.js:1534
-msgid "Details"
-msgstr ""
-
-#: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31
-msgid "Build Outputs"
-msgstr ""
-
-#: build/templates/build/navbar.html:38
-msgid "Child Builds"
-msgstr ""
-
-#: build/templates/build/navbar.html:49
-msgid "Build Order Notes"
-msgstr ""
-
-#: build/templates/build/unallocate.html:10
-msgid "Are you sure you wish to unallocate all stock for this build?"
-msgstr ""
-
-#: build/templates/build/unallocate.html:12
-msgid "All incomplete stock allocations will be removed from the build"
-msgstr ""
-
#: build/views.py:76
msgid "Build was cancelled"
msgstr ""
@@ -1449,7 +1368,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:122 stock/views.py:1366
+#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290
msgid "Serial numbers already exist"
msgstr ""
@@ -1461,11 +1380,11 @@ msgstr ""
msgid "Delete Build Output"
msgstr ""
-#: build/views.py:218 build/views.py:308
+#: build/views.py:218
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:219 build/views.py:309 stock/views.py:381
+#: build/views.py:219 stock/views.py:385
msgid "Check the confirmation box"
msgstr ""
@@ -1473,7 +1392,7 @@ msgstr ""
msgid "Build output does not match build"
msgstr ""
-#: build/views.py:233 build/views.py:434
+#: build/views.py:233
msgid "Build output must be specified"
msgstr ""
@@ -1481,39 +1400,19 @@ msgstr ""
msgid "Build output deleted"
msgstr ""
-#: build/views.py:343
+#: build/views.py:261
msgid "Complete Build Order"
msgstr ""
-#: build/views.py:349
+#: build/views.py:267
msgid "Build order cannot be completed - incomplete outputs remain"
msgstr ""
-#: build/views.py:360
+#: build/views.py:278
msgid "Completed build order"
msgstr ""
-#: build/views.py:376
-msgid "Complete Build Output"
-msgstr ""
-
-#: build/views.py:418
-msgid "Invalid stock status value selected"
-msgstr ""
-
-#: build/views.py:425
-msgid "Quantity to complete cannot exceed build output quantity"
-msgstr ""
-
-#: build/views.py:431
-msgid "Confirm completion of incomplete build"
-msgstr ""
-
-#: build/views.py:530
-msgid "Build output completed"
-msgstr ""
-
-#: build/views.py:567
+#: build/views.py:319
msgid "Delete Build Order"
msgstr ""
@@ -1554,728 +1453,728 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:308 common/models.py:887 common/models.py:1048
+#: common/models.py:340 common/models.py:970 common/models.py:1178
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:310
+#: common/models.py:342
msgid "Settings value"
msgstr ""
-#: common/models.py:345
+#: common/models.py:377
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:368
+#: common/models.py:382
+msgid "Chosen value is not a valid option"
+msgstr ""
+
+#: common/models.py:405
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:379
+#: common/models.py:416
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:402
+#: common/models.py:439
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:509
+#: common/models.py:559
+msgid "No group"
+msgstr ""
+
+#: common/models.py:601
+msgid "Restart required"
+msgstr ""
+
+#: common/models.py:602
+msgid "A setting has been changed which requires a server restart"
+msgstr ""
+
+#: common/models.py:609
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:511
+#: common/models.py:611
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:515
+#: common/models.py:615
msgid "Use instance name"
msgstr ""
-#: common/models.py:516
+#: common/models.py:616
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:522 company/models.py:100 company/models.py:101
+#: common/models.py:622 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr ""
-#: common/models.py:523
+#: common/models.py:623
msgid "Internal company name"
msgstr ""
-#: common/models.py:528
+#: common/models.py:628
msgid "Base URL"
msgstr ""
-#: common/models.py:529
+#: common/models.py:629
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:535
+#: common/models.py:635
msgid "Default Currency"
msgstr ""
-#: common/models.py:536
+#: common/models.py:636
msgid "Default currency"
msgstr ""
-#: common/models.py:542
+#: common/models.py:642
msgid "Download from URL"
msgstr ""
-#: common/models.py:543
+#: common/models.py:643
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:549
+#: common/models.py:649
msgid "Barcode Support"
msgstr ""
-#: common/models.py:550
+#: common/models.py:650
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:556
+#: common/models.py:656
msgid "IPN Regex"
msgstr ""
-#: common/models.py:557
+#: common/models.py:657
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:561
+#: common/models.py:661
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:562
+#: common/models.py:662
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:568
+#: common/models.py:668
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:569
+#: common/models.py:669
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:575
+#: common/models.py:675
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:576
+#: common/models.py:676
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:582
+#: common/models.py:682
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:583
+#: common/models.py:683
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:589
+#: common/models.py:689
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:590
+#: common/models.py:690
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:596
+#: common/models.py:696
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:597
+#: common/models.py:697
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:603 part/models.py:2256 report/models.py:187
-#: stock/forms.py:224 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:351
+#: common/models.py:703 part/models.py:2429 report/models.py:187
+#: templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:367
msgid "Template"
msgstr ""
-#: common/models.py:604
+#: common/models.py:704
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:610 part/models.py:806
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:363
+#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954
+#: templates/js/translated/table_filters.js:162
+#: templates/js/translated/table_filters.js:379
msgid "Assembly"
msgstr ""
-#: common/models.py:611
+#: common/models.py:711
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:617 part/models.py:812
-#: templates/js/translated/table_filters.js:367
+#: common/models.py:717 part/models.py:894
+#: templates/js/translated/table_filters.js:383
msgid "Component"
msgstr ""
-#: common/models.py:618
+#: common/models.py:718
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:624 part/models.py:823
+#: common/models.py:724 part/models.py:905
msgid "Purchaseable"
msgstr ""
-#: common/models.py:625
+#: common/models.py:725
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:631 part/models.py:828
-#: templates/js/translated/table_filters.js:375
+#: common/models.py:731 part/models.py:910
+#: templates/js/translated/table_filters.js:391
msgid "Salable"
msgstr ""
-#: common/models.py:632
+#: common/models.py:732
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:638 part/models.py:818
+#: common/models.py:738 part/models.py:900
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:379
+#: templates/js/translated/table_filters.js:94
+#: templates/js/translated/table_filters.js:395
msgid "Trackable"
msgstr ""
-#: common/models.py:639
+#: common/models.py:739
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:645 part/models.py:838
-#: part/templates/part/part_base.html:66
+#: common/models.py:745 part/models.py:920
+#: part/templates/part/part_base.html:144
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:646
+#: common/models.py:746
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:652
+#: common/models.py:752
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:653
+#: common/models.py:753
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:659
+#: common/models.py:759
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:660
+#: common/models.py:760
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:671
+#: common/models.py:771
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:672
+#: common/models.py:772
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:678
+#: common/models.py:778
msgid "Show related parts"
msgstr ""
-#: common/models.py:679
+#: common/models.py:779
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:685
+#: common/models.py:785
msgid "Create initial stock"
msgstr ""
-#: common/models.py:686
+#: common/models.py:786
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:692
+#: common/models.py:792
msgid "Internal Prices"
msgstr ""
-#: common/models.py:693
+#: common/models.py:793
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:699
+#: common/models.py:799
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:700
+#: common/models.py:800
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:706 templates/stats.html:25
+#: common/models.py:806
+msgid "Part Name Display Format"
+msgstr ""
+
+#: common/models.py:807
+msgid "Format to display the part name"
+msgstr ""
+
+#: common/models.py:814
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:815
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:821 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:707
+#: common/models.py:822
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:713
+#: common/models.py:828
msgid "Page Size"
msgstr ""
-#: common/models.py:714
+#: common/models.py:829
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:724
+#: common/models.py:839
msgid "Test Reports"
msgstr ""
-#: common/models.py:725
+#: common/models.py:840
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:731
+#: common/models.py:846
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:732
+#: common/models.py:847
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:738
+#: common/models.py:853
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:739
+#: common/models.py:854
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:745
+#: common/models.py:860
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:746
+#: common/models.py:861
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:748
+#: common/models.py:863
msgid "days"
msgstr ""
-#: common/models.py:753
+#: common/models.py:868
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:754
+#: common/models.py:869
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:760
+#: common/models.py:875
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:761
+#: common/models.py:876
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:767
+#: common/models.py:882
msgid "Group by Part"
msgstr ""
-#: common/models.py:768
+#: common/models.py:883
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:774
+#: common/models.py:889
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:775
+#: common/models.py:890
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:780
+#: common/models.py:895
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:781
+#: common/models.py:896
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:785
+#: common/models.py:900
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:786
+#: common/models.py:901
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:791
+#: common/models.py:906
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:792
+#: common/models.py:907
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:798
-msgid "Enable build"
-msgstr ""
-
-#: common/models.py:799
-msgid "Enable build functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:804
-msgid "Enable buy"
-msgstr ""
-
-#: common/models.py:805
-msgid "Enable buy functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:810
-msgid "Enable sell"
-msgstr ""
-
-#: common/models.py:811
-msgid "Enable sell functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:816
-msgid "Enable stock"
-msgstr ""
-
-#: common/models.py:817
-msgid "Enable stock functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:822
-msgid "Enable SO"
-msgstr ""
-
-#: common/models.py:823
-msgid "Enable SO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:828
-msgid "Enable PO"
-msgstr ""
-
-#: common/models.py:829
-msgid "Enable PO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:836
+#: common/models.py:913
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:837
-msgid "Enable password forgot function on the login-pages"
+#: common/models.py:914
+msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:842
+#: common/models.py:919
msgid "Enable registration"
msgstr ""
-#: common/models.py:843
-msgid "Enable self-registration for users on the login-pages"
+#: common/models.py:920
+msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:848
+#: common/models.py:925
msgid "Enable SSO"
msgstr ""
-#: common/models.py:849
-msgid "Enable SSO on the login-pages"
+#: common/models.py:926
+msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:854
-msgid "E-Mail required"
+#: common/models.py:931
+msgid "Email required"
msgstr ""
-#: common/models.py:855
+#: common/models.py:932
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:860
+#: common/models.py:937
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:861
+#: common/models.py:938
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:943
msgid "Mail twice"
msgstr ""
-#: common/models.py:867
+#: common/models.py:944
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:872
+#: common/models.py:949
msgid "Password twice"
msgstr ""
-#: common/models.py:873
+#: common/models.py:950
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:898
-msgid "Show starred parts"
+#: common/models.py:955
+msgid "Group on signup"
msgstr ""
-#: common/models.py:899
-msgid "Show starred parts on the homepage"
+#: common/models.py:956
+msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:904
-msgid "Show latest parts"
-msgstr ""
-
-#: common/models.py:905
-msgid "Show latest parts on the homepage"
-msgstr ""
-
-#: common/models.py:910
-msgid "Recent Part Count"
-msgstr ""
-
-#: common/models.py:911
-msgid "Number of recent parts to display on index page"
-msgstr ""
-
-#: common/models.py:917
-msgid "Show unvalidated BOMs"
-msgstr ""
-
-#: common/models.py:918
-msgid "Show BOMs that await validation on the homepage"
-msgstr ""
-
-#: common/models.py:923
-msgid "Show recent stock changes"
-msgstr ""
-
-#: common/models.py:924
-msgid "Show recently changed stock items on the homepage"
-msgstr ""
-
-#: common/models.py:929
-msgid "Recent Stock Count"
-msgstr ""
-
-#: common/models.py:930
-msgid "Number of recent stock items to display on index page"
-msgstr ""
-
-#: common/models.py:935
-msgid "Show low stock"
-msgstr ""
-
-#: common/models.py:936
-msgid "Show low stock items on the homepage"
-msgstr ""
-
-#: common/models.py:941
-msgid "Show depleted stock"
-msgstr ""
-
-#: common/models.py:942
-msgid "Show depleted stock items on the homepage"
-msgstr ""
-
-#: common/models.py:947
-msgid "Show needed stock"
-msgstr ""
-
-#: common/models.py:948
-msgid "Show stock items needed for builds on the homepage"
-msgstr ""
-
-#: common/models.py:953
-msgid "Show expired stock"
-msgstr ""
-
-#: common/models.py:954
-msgid "Show expired stock items on the homepage"
-msgstr ""
-
-#: common/models.py:959
-msgid "Show stale stock"
-msgstr ""
-
-#: common/models.py:960
-msgid "Show stale stock items on the homepage"
-msgstr ""
-
-#: common/models.py:965
-msgid "Show pending builds"
-msgstr ""
-
-#: common/models.py:966
-msgid "Show pending builds on the homepage"
-msgstr ""
-
-#: common/models.py:971
-msgid "Show overdue builds"
-msgstr ""
-
-#: common/models.py:972
-msgid "Show overdue builds on the homepage"
-msgstr ""
-
-#: common/models.py:977
-msgid "Show outstanding POs"
-msgstr ""
-
-#: common/models.py:978
-msgid "Show outstanding POs on the homepage"
-msgstr ""
-
-#: common/models.py:983
-msgid "Show overdue POs"
-msgstr ""
-
-#: common/models.py:984
-msgid "Show overdue POs on the homepage"
-msgstr ""
-
-#: common/models.py:989
-msgid "Show outstanding SOs"
-msgstr ""
-
-#: common/models.py:990
-msgid "Show outstanding SOs on the homepage"
-msgstr ""
-
-#: common/models.py:995
-msgid "Show overdue SOs"
-msgstr ""
-
-#: common/models.py:996
-msgid "Show overdue SOs on the homepage"
+#: common/models.py:1001
+msgid "Show subscribed parts"
msgstr ""
#: common/models.py:1002
+msgid "Show subscribed parts on the homepage"
+msgstr ""
+
+#: common/models.py:1007
+msgid "Show subscribed categories"
+msgstr ""
+
+#: common/models.py:1008
+msgid "Show subscribed part categories on the homepage"
+msgstr ""
+
+#: common/models.py:1013
+msgid "Show latest parts"
+msgstr ""
+
+#: common/models.py:1014
+msgid "Show latest parts on the homepage"
+msgstr ""
+
+#: common/models.py:1019
+msgid "Recent Part Count"
+msgstr ""
+
+#: common/models.py:1020
+msgid "Number of recent parts to display on index page"
+msgstr ""
+
+#: common/models.py:1026
+msgid "Show unvalidated BOMs"
+msgstr ""
+
+#: common/models.py:1027
+msgid "Show BOMs that await validation on the homepage"
+msgstr ""
+
+#: common/models.py:1032
+msgid "Show recent stock changes"
+msgstr ""
+
+#: common/models.py:1033
+msgid "Show recently changed stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1038
+msgid "Recent Stock Count"
+msgstr ""
+
+#: common/models.py:1039
+msgid "Number of recent stock items to display on index page"
+msgstr ""
+
+#: common/models.py:1044
+msgid "Show low stock"
+msgstr ""
+
+#: common/models.py:1045
+msgid "Show low stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1050
+msgid "Show depleted stock"
+msgstr ""
+
+#: common/models.py:1051
+msgid "Show depleted stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1056
+msgid "Show needed stock"
+msgstr ""
+
+#: common/models.py:1057
+msgid "Show stock items needed for builds on the homepage"
+msgstr ""
+
+#: common/models.py:1062
+msgid "Show expired stock"
+msgstr ""
+
+#: common/models.py:1063
+msgid "Show expired stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1068
+msgid "Show stale stock"
+msgstr ""
+
+#: common/models.py:1069
+msgid "Show stale stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1074
+msgid "Show pending builds"
+msgstr ""
+
+#: common/models.py:1075
+msgid "Show pending builds on the homepage"
+msgstr ""
+
+#: common/models.py:1080
+msgid "Show overdue builds"
+msgstr ""
+
+#: common/models.py:1081
+msgid "Show overdue builds on the homepage"
+msgstr ""
+
+#: common/models.py:1086
+msgid "Show outstanding POs"
+msgstr ""
+
+#: common/models.py:1087
+msgid "Show outstanding POs on the homepage"
+msgstr ""
+
+#: common/models.py:1092
+msgid "Show overdue POs"
+msgstr ""
+
+#: common/models.py:1093
+msgid "Show overdue POs on the homepage"
+msgstr ""
+
+#: common/models.py:1098
+msgid "Show outstanding SOs"
+msgstr ""
+
+#: common/models.py:1099
+msgid "Show outstanding SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Show overdue SOs"
+msgstr ""
+
+#: common/models.py:1105
+msgid "Show overdue SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1111
msgid "Inline label display"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1112
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1118
msgid "Inline report display"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1119
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1125
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1126
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:1023
+#: common/models.py:1132
+msgid "Search Show Stock"
+msgstr ""
+
+#: common/models.py:1133
+msgid "Display stock levels in search preview window"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Hide Inactive Parts"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Hide inactive parts in search preview window"
+msgstr ""
+
+#: common/models.py:1146
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1024
+#: common/models.py:1147
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1153
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1154
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1088 company/forms.py:43
+#: common/models.py:1160
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1161
+msgid "InvenTree navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1226 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1095 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1369
+#: common/models.py:1233 company/serializers.py:264
+#: company/templates/company/supplier_part.html:256
+#: templates/js/translated/part.js:1508
msgid "Price"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1234
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1189
-msgid "Default"
-msgstr ""
-
-#: common/templates/common/edit_setting.html:11
-msgid "Current value"
-msgstr ""
-
-#: common/views.py:33
-msgid "Change Setting"
-msgstr ""
-
-#: common/views.py:119
-msgid "Supplied value is not allowed"
-msgstr ""
-
-#: common/views.py:128
-msgid "Supplied value must be a boolean"
-msgstr ""
-
-#: common/views.py:138
-msgid "Change User Setting"
-msgstr ""
-
-#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42
-#: order/templates/order/po_navbar.html:19
-#: order/templates/order/po_navbar.html:22
-#: order/templates/order/purchase_order_detail.html:27 order/views.py:289
-#: part/templates/part/bom_upload/upload_file.html:65
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
-#: part/views.py:882
+#: common/views.py:93 order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:289
+#: part/templates/part/bom_upload/upload_file.html:51
+#: part/templates/part/import_wizard/part_upload.html:46 part/views.py:281
+#: part/views.py:923
msgid "Upload File"
msgstr ""
-#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
+#: common/views.py:94 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
-#: part/views.py:883
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:282
+#: part/views.py:924
msgid "Match Fields"
msgstr ""
-#: common/views.py:215
+#: common/views.py:95
msgid "Match Items"
msgstr ""
-#: common/views.py:560
+#: common/views.py:440
msgid "Fields matching failed"
msgstr ""
-#: common/views.py:615
+#: common/views.py:495
msgid "Parts imported"
msgstr ""
-#: common/views.py:637 order/templates/order/order_wizard/match_fields.html:27
+#: common/views.py:517 order/templates/order/order_wizard/match_fields.html:27
#: order/templates/order/order_wizard/match_parts.html:19
-#: order/templates/order/order_wizard/po_upload.html:40
+#: order/templates/order/order_wizard/po_upload.html:46
#: part/templates/part/bom_upload/match_fields.html:27
#: part/templates/part/bom_upload/match_parts.html:19
-#: part/templates/part/bom_upload/upload_file.html:63
+#: part/templates/part/bom_upload/upload_file.html:49
#: part/templates/part/import_wizard/match_fields.html:27
#: part/templates/part/import_wizard/match_references.html:19
-#: part/templates/part/import_wizard/part_upload.html:43
+#: part/templates/part/import_wizard/part_upload.html:44
msgid "Previous Step"
msgstr ""
@@ -2321,6 +2220,7 @@ msgid "Contact phone number"
msgstr ""
#: company/models.py:125 company/templates/company/company_base.html:102
+#: templates/InvenTree/settings/user.html:46
msgid "Email"
msgstr ""
@@ -2337,10 +2237,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:131 company/models.py:348 company/models.py:564
-#: order/models.py:160 part/models.py:715
+#: order/models.py:163 part/models.py:797
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:536
-#: templates/js/translated/company.js:825 templates/js/translated/part.js:983
+#: templates/js/translated/company.js:825 templates/js/translated/part.js:984
msgid "Link"
msgstr ""
@@ -2348,7 +2248,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:725
+#: company/models.py:139 part/models.py:807
msgid "Image"
msgstr ""
@@ -2376,8 +2276,8 @@ msgstr ""
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:152 company/serializers.py:264
-#: company/templates/company/company_base.html:76 stock/serializers.py:158
+#: company/models.py:152 company/serializers.py:270
+#: company/templates/company/company_base.html:76 stock/serializers.py:172
msgid "Currency"
msgstr ""
@@ -2385,8 +2285,8 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:454
-#: stock/templates/stock/item_base.html:237
+#: company/models.py:320 company/models.py:535 stock/models.py:484
+#: stock/templates/stock/item_base.html:224
msgid "Base Part"
msgstr ""
@@ -2395,28 +2295,28 @@ msgid "Select part"
msgstr ""
#: company/models.py:335 company/templates/company/company_base.html:116
-#: company/templates/company/manufacturer_part.html:89
-#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:247 stock/templates/stock/item_base.html:366
+#: company/templates/company/manufacturer_part.html:93
+#: company/templates/company/supplier_part.html:104
+#: stock/templates/stock/item_base.html:353
#: templates/js/translated/company.js:332
#: templates/js/translated/company.js:513
-#: templates/js/translated/company.js:796 templates/js/translated/part.js:227
+#: templates/js/translated/company.js:796 templates/js/translated/part.js:228
msgid "Manufacturer"
msgstr ""
-#: company/models.py:336 templates/js/translated/part.js:228
+#: company/models.py:336 templates/js/translated/part.js:229
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:342 company/templates/company/manufacturer_part.html:93
-#: company/templates/company/supplier_part.html:106 part/bom.py:171
-#: part/bom.py:248 templates/js/translated/company.js:529
-#: templates/js/translated/company.js:814 templates/js/translated/order.js:851
-#: templates/js/translated/part.js:238
+#: company/models.py:342 company/templates/company/manufacturer_part.html:97
+#: company/templates/company/supplier_part.html:112
+#: templates/js/translated/company.js:529
+#: templates/js/translated/company.js:814 templates/js/translated/order.js:852
+#: templates/js/translated/part.js:239
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:239
+#: company/models.py:343 templates/js/translated/part.js:240
msgid "Manufacturer Part Number"
msgstr ""
@@ -2431,7 +2331,7 @@ msgstr ""
#: company/models.py:409 company/models.py:558
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:376
+#: stock/templates/stock/item_base.html:363
msgid "Manufacturer Part"
msgstr ""
@@ -2440,10 +2340,9 @@ msgid "Parameter name"
msgstr ""
#: company/models.py:422
-#: report/templates/report/inventree_test_report_base.html:90
-#: stock/models.py:1816 templates/InvenTree/settings/header.html:8
-#: templates/js/translated/company.js:643 templates/js/translated/part.js:623
-#: templates/js/translated/stock.js:555
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:1867 templates/js/translated/company.js:643
+#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848
msgid "Value"
msgstr ""
@@ -2451,8 +2350,9 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:800 part/models.py:2224
-#: templates/js/translated/company.js:649 templates/js/translated/part.js:629
+#: company/models.py:429 part/models.py:882 part/models.py:2397
+#: part/templates/part/detail.html:59 templates/js/translated/company.js:649
+#: templates/js/translated/part.js:650
msgid "Units"
msgstr ""
@@ -2465,27 +2365,27 @@ msgid "Linked manufacturer part must reference the same base part"
msgstr ""
#: company/models.py:545 company/templates/company/company_base.html:121
-#: company/templates/company/supplier_part.html:88 order/models.py:260
-#: order/templates/order/order_base.html:92
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:292 stock/templates/stock/item_base.html:383
+#: company/templates/company/supplier_part.html:94 order/models.py:263
+#: order/templates/order/order_base.html:108
+#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219
+#: part/bom.py:247 stock/templates/stock/item_base.html:370
#: templates/js/translated/company.js:336
-#: templates/js/translated/company.js:770 templates/js/translated/order.js:659
-#: templates/js/translated/part.js:208
+#: templates/js/translated/company.js:770 templates/js/translated/order.js:660
+#: templates/js/translated/part.js:209
msgid "Supplier"
msgstr ""
-#: company/models.py:546 templates/js/translated/part.js:209
+#: company/models.py:546 templates/js/translated/part.js:210
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:92
-#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838
-#: templates/js/translated/part.js:219
+#: company/models.py:551 company/templates/company/supplier_part.html:98
+#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:839
+#: templates/js/translated/part.js:220
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:220
+#: company/models.py:552 templates/js/translated/part.js:221
msgid "Supplier stock keeping unit"
msgstr ""
@@ -2501,23 +2401,23 @@ msgstr ""
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:120
-#: part/models.py:2389 report/templates/report/inventree_po_report.html:93
+#: company/models.py:576 company/templates/company/supplier_part.html:126
+#: part/models.py:2588 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:113
-#: stock/models.py:478 stock/templates/stock/item_base.html:324
-#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036
+#: company/models.py:582 company/templates/company/supplier_part.html:119
+#: stock/models.py:507 stock/templates/stock/item_base.html:311
+#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336
msgid "Packaging"
msgstr ""
@@ -2525,7 +2425,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1605
+#: company/models.py:584 part/models.py:1750
msgid "multiple"
msgstr ""
@@ -2533,46 +2433,42 @@ msgstr ""
msgid "Order multiple"
msgstr ""
-#: company/serializers.py:68
+#: company/serializers.py:70
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:69
+#: company/serializers.py:71
msgid "Currency Code"
msgstr ""
-#: company/templates/company/company_base.html:9
-#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321
+#: company/templates/company/company_base.html:8
+#: company/templates/company/company_base.html:12
+#: templates/InvenTree/search.html:182 templates/js/translated/company.js:321
msgid "Company"
msgstr ""
-#: company/templates/company/company_base.html:25
-#: part/templates/part/part_thumb.html:21
-msgid "Upload new image"
-msgstr ""
-
-#: company/templates/company/company_base.html:27
-#: part/templates/part/part_thumb.html:23
-msgid "Download image from URL"
-msgstr ""
-
-#: company/templates/company/company_base.html:46
-#: templates/js/translated/order.js:120
+#: company/templates/company/company_base.html:22
+#: templates/js/translated/order.js:121
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:51
+#: company/templates/company/company_base.html:27
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:56
-#: company/templates/company/company_base.html:153
+#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:148
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:64
-msgid "Company Details"
+#: company/templates/company/company_base.html:48
+#: part/templates/part/part_thumb.html:12
+msgid "Upload new image"
+msgstr ""
+
+#: company/templates/company/company_base.html:51
+#: part/templates/part/part_thumb.html:14
+msgid "Download image from URL"
msgstr ""
#: company/templates/company/company_base.html:81
@@ -2583,145 +2479,133 @@ msgstr ""
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:126 order/models.py:558
-#: order/templates/order/sales_order_base.html:99 stock/models.py:496
-#: stock/models.py:497 stock/templates/stock/item_base.html:276
-#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038
-#: templates/js/translated/stock.js:1587
+#: company/templates/company/company_base.html:126 order/models.py:567
+#: order/templates/order/sales_order_base.html:114 stock/models.py:525
+#: stock/models.py:526 stock/templates/stock/item_base.html:263
+#: templates/js/translated/company.js:328 templates/js/translated/order.js:1051
+#: templates/js/translated/stock.js:1972
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:199
-#: part/templates/part/part_base.html:424
+#: company/templates/company/company_base.html:194
+#: part/templates/part/part_base.html:342
msgid "Upload Image"
msgstr ""
-#: company/templates/company/detail.html:14
-#: company/templates/company/manufacturer_part_navbar.html:18
-#: templates/InvenTree/search.html:150
+#: company/templates/company/detail.html:15 templates/InvenTree/search.html:124
msgid "Supplier Parts"
msgstr ""
-#: company/templates/company/detail.html:22
+#: company/templates/company/detail.html:19
#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr ""
-#: company/templates/company/detail.html:23
-#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289
+#: company/templates/company/detail.html:20
+#: company/templates/company/manufacturer_part.html:112
+#: part/templates/part/detail.html:466
msgid "New Supplier Part"
msgstr ""
-#: company/templates/company/detail.html:27
-#: company/templates/company/detail.html:67
-#: company/templates/company/manufacturer_part.html:112
-#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/category.html:135 part/templates/part/detail.html:292
-#: part/templates/part/detail.html:315
+#: company/templates/company/detail.html:32
+#: company/templates/company/detail.html:79
+#: company/templates/company/manufacturer_part.html:121
+#: company/templates/company/manufacturer_part.html:150
+#: part/templates/part/category.html:160 part/templates/part/detail.html:475
+#: part/templates/part/detail.html:503
msgid "Options"
msgstr ""
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72
-#: part/templates/part/category.html:140
+#: company/templates/company/detail.html:37
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:166
msgid "Order parts"
msgstr ""
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:42
+#: company/templates/company/detail.html:89
msgid "Delete parts"
msgstr ""
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:43
+#: company/templates/company/detail.html:90
msgid "Delete Parts"
msgstr ""
-#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135
+#: company/templates/company/detail.html:62 templates/InvenTree/search.html:109
msgid "Manufacturer Parts"
msgstr ""
-#: company/templates/company/detail.html:62
+#: company/templates/company/detail.html:66
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:63 part/templates/part/detail.html:312
+#: company/templates/company/detail.html:67 part/templates/part/detail.html:493
msgid "New Manufacturer Part"
msgstr ""
-#: company/templates/company/detail.html:93
+#: company/templates/company/detail.html:107
msgid "Supplier Stock"
msgstr ""
-#: company/templates/company/detail.html:102
-#: company/templates/company/navbar.html:46
-#: company/templates/company/navbar.html:49
+#: company/templates/company/detail.html:117
+#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
-#: order/templates/order/purchase_orders.html:13
-#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82
-#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260
-#: templates/InvenTree/search.html:229
-#: templates/InvenTree/settings/navbar.html:119
-#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44
+#: order/templates/order/purchase_orders.html:12
+#: part/templates/part/detail.html:171 templates/InvenTree/index.html:252
+#: templates/InvenTree/search.html:203 templates/navbar.html:45
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
-#: company/templates/company/detail.html:108
-#: order/templates/order/purchase_orders.html:20
+#: company/templates/company/detail.html:121
+#: order/templates/order/purchase_orders.html:17
msgid "Create new purchase order"
msgstr ""
-#: company/templates/company/detail.html:109
-#: order/templates/order/purchase_orders.html:21
+#: company/templates/company/detail.html:122
+#: order/templates/order/purchase_orders.html:18
msgid "New Purchase Order"
msgstr ""
-#: company/templates/company/detail.html:124
-#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58
+#: company/templates/company/detail.html:143
+#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
-#: order/templates/order/sales_orders.html:13
-#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91
-#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291
-#: templates/InvenTree/search.html:249
-#: templates/InvenTree/settings/navbar.html:125
-#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55
+#: order/templates/order/sales_orders.html:15
+#: part/templates/part/detail.html:194 templates/InvenTree/index.html:283
+#: templates/InvenTree/search.html:223 templates/navbar.html:56
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
-#: company/templates/company/detail.html:130
+#: company/templates/company/detail.html:147
#: order/templates/order/sales_orders.html:20
msgid "Create new sales order"
msgstr ""
-#: company/templates/company/detail.html:131
+#: company/templates/company/detail.html:148
#: order/templates/order/sales_orders.html:21
msgid "New Sales Order"
msgstr ""
-#: company/templates/company/detail.html:147
-#: company/templates/company/navbar.html:61
-#: company/templates/company/navbar.html:64
-#: templates/js/translated/build.js:622
+#: company/templates/company/detail.html:168
+#: templates/js/translated/build.js:999
msgid "Assigned Stock"
msgstr ""
-#: company/templates/company/detail.html:165
+#: company/templates/company/detail.html:184
msgid "Company Notes"
msgstr ""
-#: company/templates/company/detail.html:364
-#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:357
+#: company/templates/company/detail.html:383
+#: company/templates/company/manufacturer_part.html:209
+#: part/templates/part/detail.html:546
msgid "Delete Supplier Parts?"
msgstr ""
-#: company/templates/company/detail.html:365
-#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:358
+#: company/templates/company/detail.html:384
+#: company/templates/company/manufacturer_part.html:210
+#: part/templates/part/detail.html:547
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2729,204 +2613,172 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:40
-#: company/templates/company/supplier_part.html:40
-#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116
+#: company/templates/company/manufacturer_part.html:14 company/views.py:55
+#: part/templates/part/prices.html:167 templates/InvenTree/search.html:184
+#: templates/navbar.html:44
+msgid "Manufacturers"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:35
+#: company/templates/company/supplier_part.html:34
+#: company/templates/company/supplier_part.html:159
+#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:40
#: templates/js/translated/company.js:561
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:49
+#: company/templates/company/manufacturer_part.html:44
#: templates/js/translated/company.js:562
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:61
-msgid "Manufacturer Part Details"
-msgstr ""
-
-#: company/templates/company/manufacturer_part.html:66
-#: company/templates/company/supplier_part.html:65
+#: company/templates/company/manufacturer_part.html:70
+#: company/templates/company/supplier_part.html:71
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/manufacturer_part_navbar.html:21
-#: company/views.py:49 part/templates/part/navbar.html:75
-#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163
-#: templates/InvenTree/search.html:220 templates/navbar.html:41
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: part/templates/part/prices.html:163 templates/InvenTree/search.html:194
+#: templates/navbar.html:43
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: part/templates/part/detail.html:294
+#: company/templates/company/manufacturer_part.html:123
+#: part/templates/part/detail.html:477
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: company/templates/company/manufacturer_part.html:138
-#: company/templates/company/manufacturer_part.html:239
-#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/translated/company.js:424
-#: templates/js/translated/helpers.js:31 users/models.py:199
+#: company/templates/company/manufacturer_part.html:123
+#: company/templates/company/manufacturer_part.html:152
+#: company/templates/company/manufacturer_part.html:248
+#: part/templates/part/detail.html:351 part/templates/part/detail.html:477
+#: part/templates/part/detail.html:505 templates/js/translated/company.js:424
+#: templates/js/translated/helpers.js:31 users/models.py:204
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:127
-#: company/templates/company/manufacturer_part_navbar.html:11
-#: company/templates/company/manufacturer_part_navbar.html:14
-#: part/templates/part/category_navbar.html:38
-#: part/templates/part/category_navbar.html:41
-#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20
-#: part/templates/part/navbar.html:23
+#: company/templates/company/manufacturer_part.html:137
+#: part/templates/part/detail.html:277
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:133
-#: part/templates/part/detail.html:162
-#: templates/InvenTree/settings/category.html:26
-#: templates/InvenTree/settings/part.html:63
+#: company/templates/company/manufacturer_part.html:141
+#: part/templates/part/detail.html:282
+#: templates/InvenTree/settings/category.html:12
+#: templates/InvenTree/settings/part.html:65
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:138
+#: company/templates/company/manufacturer_part.html:152
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:805
+#: company/templates/company/manufacturer_part.html:185
+#: part/templates/part/detail.html:983
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:224
+#: company/templates/company/manufacturer_part.html:233
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:236
+#: company/templates/company/manufacturer_part.html:245
msgid "Delete Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part_navbar.html:26
-msgid "Manufacturer Part Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:29
-#: company/templates/company/navbar.html:39
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/navbar.html:38 stock/api.py:52
-#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182
-#: templates/InvenTree/settings/navbar.html:107
-#: templates/InvenTree/settings/navbar.html:109
-#: templates/js/translated/part.js:540 templates/js/translated/part.js:769
-#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182
-#: templates/js/translated/stock.js:829 templates/navbar.html:32
-msgid "Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:33
-msgid "Manufacturer Part Orders"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:36
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr ""
-
-#: company/templates/company/navbar.html:17
-#: company/templates/company/navbar.html:20
-msgid "Manufactured Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:26
-#: company/templates/company/navbar.html:29
-msgid "Supplied Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35
-#: stock/templates/stock/location.html:119
-#: stock/templates/stock/location.html:134
-#: stock/templates/stock/location.html:148
-#: stock/templates/stock/location_navbar.html:18
-#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486
-#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
-msgid "Stock Items"
-msgstr ""
-
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:463
-#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993
+#: company/templates/company/supplier_part.html:24 stock/models.py:492
+#: stock/templates/stock/item_base.html:375
+#: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44
+#: company/templates/company/supplier_part.html:38
#: templates/js/translated/company.js:859
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48
+#: company/templates/company/supplier_part.html:42
#: templates/js/translated/company.js:860
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:60
-msgid "Supplier Part Details"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:131
+#: company/templates/company/supplier_part.html:138
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:140
+#: company/templates/company/supplier_part.html:141
+#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147
+msgid "Create new stock item"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:142
+#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148
+#: templates/js/translated/stock.js:324
+msgid "New Stock Item"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:155
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:147
-#: part/templates/part/detail.html:56
+#: company/templates/company/supplier_part.html:160
+#: part/templates/part/detail.html:175
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:158
-#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7
+#: company/templates/company/supplier_part.html:179
+#: part/templates/part/prices.html:7
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:164
-#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:271 part/views.py:1730
+#: company/templates/company/supplier_part.html:184
+#: company/templates/company/supplier_part.html:290
+#: part/templates/part/prices.html:271 part/views.py:1782
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:185
+#: company/templates/company/supplier_part.html:210
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:1792
+#: company/templates/company/supplier_part.html:224 part/views.py:1844
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:1778
+#: company/templates/company/supplier_part.html:238 part/views.py:1830
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
+#: company/templates/company/supplier_part.html:263
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:239
+#: company/templates/company/supplier_part.html:264
msgid "Delete price break"
msgstr ""
+#: company/templates/company/supplier_part_navbar.html:15
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426
+#: templates/js/translated/part.js:561 templates/js/translated/part.js:786
+#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479
+#: templates/js/translated/stock.js:1132 templates/navbar.html:26
+msgid "Stock"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:22
+msgid "Orders"
+msgstr ""
+
#: company/templates/company/supplier_part_navbar.html:26
msgid "Supplier Part Pricing"
msgstr ""
@@ -2939,17 +2791,12 @@ msgstr ""
msgid "New Supplier"
msgstr ""
-#: company/views.py:55 part/templates/part/prices.html:167
-#: templates/InvenTree/search.html:210 templates/navbar.html:42
-msgid "Manufacturers"
-msgstr ""
-
#: company/views.py:56
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:240
-#: templates/navbar.html:53
+#: company/views.py:61 templates/InvenTree/search.html:214
+#: templates/navbar.html:55
msgid "Customers"
msgstr ""
@@ -2965,24 +2812,24 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:608
+#: company/views.py:129 part/views.py:649
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:640
+#: company/views.py:158 part/views.py:681
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:647
+#: company/views.py:165 part/views.py:688
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:656
+#: company/views.py:174 part/views.py:697
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:57 report/api.py:201
+#: label/api.py:57 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -2994,7 +2841,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:167
+#: label/models.py:127
msgid "Label"
msgstr ""
@@ -3039,7 +2886,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:259 label/models.py:319 label/models.py:366
-#: report/models.py:322 report/models.py:457 report/models.py:495
+#: report/models.py:322 report/models.py:459 report/models.py:497
msgid "Filters"
msgstr ""
@@ -3051,240 +2898,236 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:250
-msgid "Matching purchase order does not exist"
-msgstr ""
-
-#: order/forms.py:27 order/templates/order/order_base.html:50
+#: order/forms.py:26 order/templates/order/order_base.html:52
msgid "Place order"
msgstr ""
-#: order/forms.py:38 order/templates/order/order_base.html:57
+#: order/forms.py:37 order/templates/order/order_base.html:59
msgid "Mark order as complete"
msgstr ""
-#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:64
+#: order/forms.py:48 order/forms.py:59 order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
msgid "Cancel order"
msgstr ""
-#: order/forms.py:71 order/templates/order/sales_order_base.html:61
+#: order/forms.py:70
msgid "Ship order"
msgstr ""
-#: order/forms.py:97
+#: order/forms.py:98
msgid "Enter stock item serial numbers"
msgstr ""
-#: order/forms.py:103
+#: order/forms.py:104
msgid "Enter quantity of stock items"
msgstr ""
-#: order/models.py:158
+#: order/models.py:161
msgid "Order description"
msgstr ""
-#: order/models.py:160
+#: order/models.py:163
msgid "Link to external page"
msgstr ""
-#: order/models.py:168
+#: order/models.py:171
msgid "Created By"
msgstr ""
-#: order/models.py:175
+#: order/models.py:178
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:180
+#: order/models.py:183
msgid "Order notes"
msgstr ""
-#: order/models.py:247 order/models.py:548
+#: order/models.py:250 order/models.py:557
msgid "Order reference"
msgstr ""
-#: order/models.py:252 order/models.py:563
+#: order/models.py:255 order/models.py:572
msgid "Purchase order status"
msgstr ""
-#: order/models.py:261
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/translated/order.js:668
+#: order/models.py:267 order/templates/order/order_base.html:114
+#: templates/js/translated/order.js:669
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:264
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:271
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:276
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:277
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:282
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:283
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:289
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:318
+#: order/models.py:321
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:428
+#: order/models.py:431
msgid "Quantity must be an integer"
msgstr ""
-#: order/models.py:432
+#: order/models.py:435
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:559
+#: order/models.py:568
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer Reference "
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:570
+#: order/models.py:579
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:573 templates/js/translated/order.js:1079
+#: order/models.py:582 templates/js/translated/order.js:1092
msgid "Shipment Date"
msgstr ""
-#: order/models.py:580
+#: order/models.py:589
msgid "shipped by"
msgstr ""
-#: order/models.py:624
+#: order/models.py:633
msgid "SalesOrder cannot be shipped as it is not currently pending"
msgstr ""
-#: order/models.py:721
+#: order/models.py:730
msgid "Item quantity"
msgstr ""
-#: order/models.py:727
+#: order/models.py:736
msgid "Line item reference"
msgstr ""
-#: order/models.py:729
+#: order/models.py:738
msgid "Line item notes"
msgstr ""
-#: order/models.py:759 order/models.py:847
-#: templates/js/translated/order.js:1131
+#: order/models.py:768 order/models.py:856
+#: templates/js/translated/order.js:1144
msgid "Order"
msgstr ""
-#: order/models.py:760 order/templates/order/order_base.html:9
-#: order/templates/order/order_base.html:24
+#: order/models.py:769 order/templates/order/order_base.html:9
+#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:338
-#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970
-#: templates/js/translated/stock.js:1568
+#: stock/templates/stock/item_base.html:325
+#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1270
+#: templates/js/translated/stock.js:1953
msgid "Purchase Order"
msgstr ""
-#: order/models.py:781
+#: order/models.py:790
msgid "Supplier part"
msgstr ""
-#: order/models.py:788 order/templates/order/order_base.html:131
-#: order/templates/order/sales_order_base.html:138
-#: templates/js/translated/order.js:428 templates/js/translated/order.js:919
+#: order/models.py:797 order/templates/order/order_base.html:147
+#: order/templates/order/sales_order_base.html:154
+#: templates/js/translated/order.js:429 templates/js/translated/order.js:932
msgid "Received"
msgstr ""
-#: order/models.py:789
+#: order/models.py:798
msgid "Number of items received"
msgstr ""
-#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588
-#: stock/serializers.py:150 stock/templates/stock/item_base.html:345
-#: templates/js/translated/stock.js:1024
+#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619
+#: stock/serializers.py:163 stock/templates/stock/item_base.html:332
+#: templates/js/translated/stock.js:1324
msgid "Purchase Price"
msgstr ""
-#: order/models.py:797
+#: order/models.py:806
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:805
+#: order/models.py:814
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:857 part/templates/part/part_pricing.html:112
+#: order/models.py:866 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:116 part/templates/part/prices.html:284
msgid "Sale Price"
msgstr ""
-#: order/models.py:858
+#: order/models.py:867
msgid "Unit sale price"
msgstr ""
-#: order/models.py:937 order/models.py:939
+#: order/models.py:946 order/models.py:948
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:943
+#: order/models.py:952
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:945
+#: order/models.py:954
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:948
+#: order/models.py:957
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:952
+#: order/models.py:961
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:958
+#: order/models.py:967
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:966
+#: order/models.py:975
msgid "Line"
msgstr ""
-#: order/models.py:978
+#: order/models.py:987
msgid "Item"
msgstr ""
-#: order/models.py:979
+#: order/models.py:988
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:982
+#: order/models.py:991
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3300,7 +3143,7 @@ msgstr ""
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:218 order/serializers.py:285
+#: order/serializers.py:218 order/serializers.py:286
msgid "Select destination location for received items"
msgstr ""
@@ -3312,72 +3155,70 @@ msgstr ""
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:259
+#: order/serializers.py:260
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:297
+#: order/serializers.py:298
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:314
+#: order/serializers.py:315
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:325
+#: order/serializers.py:326
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:569
+#: order/serializers.py:568
msgid "Sale price currency"
msgstr ""
#: order/templates/order/delete_attachment.html:5
#: stock/templates/stock/attachment_delete.html:5
-#: templates/attachment_delete.html:5
msgid "Are you sure you want to delete this attachment?"
msgstr ""
-#: order/templates/order/order_base.html:39
-#: order/templates/order/sales_order_base.html:50
-msgid "Print"
+#: order/templates/order/order_base.html:33
+msgid "Print purchase order report"
msgstr ""
-#: order/templates/order/order_base.html:42
-#: order/templates/order/sales_order_base.html:53
+#: order/templates/order/order_base.html:35
+#: order/templates/order/sales_order_base.html:45
msgid "Export order to file"
msgstr ""
-#: order/templates/order/order_base.html:46
-#: order/templates/order/sales_order_base.html:57
-msgid "Edit order information"
+#: order/templates/order/order_base.html:41
+#: order/templates/order/sales_order_base.html:54
+msgid "Order actions"
msgstr ""
-#: order/templates/order/order_base.html:54
+#: order/templates/order/order_base.html:45
+#: order/templates/order/sales_order_base.html:58
+msgid "Edit order"
+msgstr ""
+
+#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
-#: order/templates/order/order_base.html:72
-#: order/templates/order/po_navbar.html:12
-msgid "Purchase Order Details"
-msgstr ""
-
-#: order/templates/order/order_base.html:77
-#: order/templates/order/sales_order_base.html:84
+#: order/templates/order/order_base.html:93
+#: order/templates/order/sales_order_base.html:98
msgid "Order Reference"
msgstr ""
-#: order/templates/order/order_base.html:82
-#: order/templates/order/sales_order_base.html:89
+#: order/templates/order/order_base.html:98
+#: order/templates/order/sales_order_base.html:103
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:117
+#: order/templates/order/order_base.html:133
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:185
+#: order/templates/order/order_base.html:203
msgid "Edit Purchase Order"
msgstr ""
@@ -3453,7 +3294,8 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/build.js:869 templates/js/translated/order.js:376
+#: templates/js/translated/build.js:240 templates/js/translated/build.js:1251
+#: templates/js/translated/order.js:377
msgid "Remove row"
msgstr ""
@@ -3475,19 +3317,19 @@ msgstr ""
msgid "Select Supplier Part"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:11
+#: order/templates/order/order_wizard/po_upload.html:16
msgid "Upload File for Purchase Order"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:18
-#: part/templates/part/bom_upload/upload_file.html:34
+#: order/templates/order/order_wizard/po_upload.html:24
+#: part/templates/part/bom_upload/upload_file.html:20
#: part/templates/part/import_wizard/ajax_part_upload.html:10
-#: part/templates/part/import_wizard/part_upload.html:21
+#: part/templates/part/import_wizard/part_upload.html:22
#, python-format
msgid "Step %(step)s of %(count)s"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/order_wizard/po_upload.html:54
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
@@ -3530,7 +3372,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084
+#: templates/js/translated/order.js:695 templates/js/translated/order.js:1097
msgid "Items"
msgstr ""
@@ -3548,30 +3390,14 @@ msgstr ""
msgid "Select a purchase order for %(name)s"
msgstr ""
-#: order/templates/order/po_attachments.html:12
-#: order/templates/order/po_navbar.html:32
-#: order/templates/order/purchase_order_detail.html:56
-msgid "Purchase Order Attachments"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:26
-msgid "Received Stock Items"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:29
-#: order/templates/order/po_received_items.html:12
-#: order/templates/order/purchase_order_detail.html:47
-msgid "Received Items"
-msgstr ""
-
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:24
-#: order/templates/order/purchase_order_detail.html:212
+#: order/templates/order/purchase_order_detail.html:27
+#: order/templates/order/purchase_order_detail.html:216
#: order/templates/order/sales_order_detail.html:23
-#: order/templates/order/sales_order_detail.html:177
+#: order/templates/order/sales_order_detail.html:191
msgid "Add Line Item"
msgstr ""
@@ -3583,34 +3409,43 @@ msgstr ""
msgid "Receive Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
-#: order/templates/order/sales_order_detail.html:54
+#: order/templates/order/purchase_order_detail.html:50
+msgid "Received Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:76
+#: order/templates/order/sales_order_detail.html:68
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_orders.html:24
-#: order/templates/order/sales_orders.html:24
+#: order/templates/order/purchase_orders.html:30
+#: order/templates/order/sales_orders.html:33
msgid "Print Order Reports"
msgstr ""
-#: order/templates/order/sales_order_base.html:16
+#: order/templates/order/sales_order_base.html:43
+msgid "Print sales order report"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:47
+msgid "Print packing list"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:66
+#: order/templates/order/sales_order_base.html:67 order/views.py:222
+msgid "Ship Order"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:86
msgid "This Sales Order has not been fully allocated"
msgstr ""
-#: order/templates/order/sales_order_base.html:70
-msgid "Packing List"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:79
-msgid "Sales Order Details"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:105
-#: templates/js/translated/order.js:1051
+#: order/templates/order/sales_order_base.html:121
+#: templates/js/translated/order.js:1064
msgid "Customer Reference"
msgstr ""
-#: order/templates/order/sales_order_base.html:183
+#: order/templates/order/sales_order_base.html:194
msgid "Edit Sales Order"
msgstr ""
@@ -3625,7 +3460,7 @@ msgstr ""
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -3653,18 +3488,6 @@ msgstr ""
msgid "Allocate stock items by serial number"
msgstr ""
-#: order/templates/order/so_navbar.html:12
-msgid "Sales Order Line Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:15
-msgid "Order Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:26
-msgid "Sales Order Attachments"
-msgstr ""
-
#: order/views.py:103
msgid "Cancel Order"
msgstr ""
@@ -3705,10 +3528,6 @@ msgstr ""
msgid "Purchase order completed"
msgstr ""
-#: order/views.py:222
-msgid "Ship Order"
-msgstr ""
-
#: order/views.py:238
msgid "Confirm order shipment"
msgstr ""
@@ -3776,40 +3595,28 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7
-#: part/templates/part/category.html:108 part/templates/part/category.html:122
-#: part/templates/part/category_navbar.html:21
-#: part/templates/part/category_navbar.html:24
-#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97
-#: templates/js/translated/part.js:1165 templates/navbar.html:29
-#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
-msgid "Parts"
-msgstr ""
-
-#: part/api.py:700
+#: part/api.py:731
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:704
+#: part/api.py:735
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:719
+#: part/api.py:750
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773
+#: part/api.py:781 part/api.py:785 part/api.py:800 part/api.py:804
msgid "This field is required"
msgstr ""
-#: part/bom.py:133 part/models.py:76 part/models.py:734
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:290
+#: part/bom.py:125 part/models.py:81 part/models.py:816
+#: part/templates/part/category.html:90 part/templates/part/detail.html:104
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:156
+#: part/bom.py:126 part/templates/part/part_base.html:167
msgid "Available Stock"
msgstr ""
@@ -3869,7 +3676,7 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:96 part/models.py:2254
+#: part/forms.py:96 part/models.py:2427
msgid "Parent Part"
msgstr ""
@@ -3901,455 +3708,458 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:226
+#: part/forms.py:214
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:230
+#: part/forms.py:218
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:250
+#: part/forms.py:238
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:77
+#: part/models.py:82
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords"
msgstr ""
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:90 part/models.py:2300
+#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:91 part/templates/part/category.html:32
-#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
-#: templates/stats.html:84 users/models.py:40
+#: part/models.py:96 part/templates/part/category.html:117
+#: templates/InvenTree/search.html:101 templates/stats.html:84
+#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:384
+#: part/models.py:358 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:13 part/templates/part/category.html:122
+#: part/templates/part/category.html:142 templates/InvenTree/index.html:85
+#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304
+#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89
+#: users/models.py:41
+msgid "Parts"
+msgstr ""
+
+#: part/models.py:450
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:436 part/models.py:448
+#: part/models.py:502 part/models.py:514
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:545
+#: part/models.py:611
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:549
+#: part/models.py:615
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:554
+#: part/models.py:620
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:633
+#: part/models.py:715
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:658
+#: part/models.py:740
msgid "Part name"
msgstr ""
-#: part/models.py:665
+#: part/models.py:747
msgid "Is Template"
msgstr ""
-#: part/models.py:666
+#: part/models.py:748
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:676
+#: part/models.py:758
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:677
+#: part/models.py:759
msgid "Variant Of"
msgstr ""
-#: part/models.py:683
+#: part/models.py:765
msgid "Part description"
msgstr ""
-#: part/models.py:688 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:259
+#: part/models.py:770 part/templates/part/category.html:97
+#: part/templates/part/detail.html:73
msgid "Keywords"
msgstr ""
-#: part/models.py:689
+#: part/models.py:771
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:696 part/models.py:2299
-#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:169
-#: templates/js/translated/part.js:927
+#: part/models.py:778 part/models.py:2223 part/models.py:2472
+#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15
+#: templates/InvenTree/settings/settings.html:163
+#: templates/js/translated/part.js:928
msgid "Category"
msgstr ""
-#: part/models.py:697
+#: part/models.py:779
msgid "Part category"
msgstr ""
-#: part/models.py:702 part/templates/part/part_base.html:235
-#: templates/js/translated/part.js:528 templates/js/translated/part.js:760
+#: part/models.py:784 part/templates/part/detail.html:45
+#: templates/js/translated/part.js:549
msgid "IPN"
msgstr ""
-#: part/models.py:703
+#: part/models.py:785
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:709
+#: part/models.py:791
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:710 part/templates/part/part_base.html:252
-#: report/models.py:200 templates/js/translated/part.js:532
+#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200
+#: templates/js/translated/part.js:553
msgid "Revision"
msgstr ""
-#: part/models.py:732
+#: part/models.py:814
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:779 part/templates/part/part_base.html:297
+#: part/models.py:861 part/templates/part/detail.html:113
msgid "Default Supplier"
msgstr ""
-#: part/models.py:780
+#: part/models.py:862
msgid "Default supplier part"
msgstr ""
-#: part/models.py:787
+#: part/models.py:869
msgid "Default Expiry"
msgstr ""
-#: part/models.py:788
+#: part/models.py:870
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:793
+#: part/models.py:875 part/templates/part/part_base.html:178
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:794
+#: part/models.py:876
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:801
+#: part/models.py:883
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:807
+#: part/models.py:889
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:813
+#: part/models.py:895
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:819
+#: part/models.py:901
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:824
+#: part/models.py:906
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:911
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:833 templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:82
-#: templates/js/translated/table_filters.js:268
-#: templates/js/translated/table_filters.js:346
+#: part/models.py:915 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:362
msgid "Active"
msgstr ""
-#: part/models.py:834
+#: part/models.py:916
msgid "Is this part active?"
msgstr ""
-#: part/models.py:839
+#: part/models.py:921
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:844
+#: part/models.py:926
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "BOM checksum"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:850
+#: part/models.py:932
msgid "BOM checked by"
msgstr ""
-#: part/models.py:852
+#: part/models.py:934
msgid "BOM checked date"
msgstr ""
-#: part/models.py:856
+#: part/models.py:938
msgid "Creation User"
msgstr ""
-#: part/models.py:1605
+#: part/models.py:1750
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2100
+#: part/models.py:2273
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2117
+#: part/models.py:2290
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2137 templates/js/translated/part.js:1216
-#: templates/js/translated/stock.js:535
+#: part/models.py:2310 templates/js/translated/part.js:1355
+#: templates/js/translated/stock.js:828
msgid "Test Name"
msgstr ""
-#: part/models.py:2138
+#: part/models.py:2311
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2143
+#: part/models.py:2316
msgid "Test Description"
msgstr ""
-#: part/models.py:2144
+#: part/models.py:2317
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2149 templates/js/translated/part.js:1225
-#: templates/js/translated/table_filters.js:254
+#: part/models.py:2322 templates/js/translated/part.js:1364
+#: templates/js/translated/table_filters.js:270
msgid "Required"
msgstr ""
-#: part/models.py:2150
+#: part/models.py:2323
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2155 templates/js/translated/part.js:1233
+#: part/models.py:2328 templates/js/translated/part.js:1372
msgid "Requires Value"
msgstr ""
-#: part/models.py:2156
+#: part/models.py:2329
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2161 templates/js/translated/part.js:1240
+#: part/models.py:2334 templates/js/translated/part.js:1379
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2162
+#: part/models.py:2335
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2173
+#: part/models.py:2346
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2209
+#: part/models.py:2382
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2217
+#: part/models.py:2390
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2224
+#: part/models.py:2397
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2256 part/models.py:2305 part/models.py:2306
-#: templates/InvenTree/settings/settings.html:164
+#: part/models.py:2429 part/models.py:2478 part/models.py:2479
+#: templates/InvenTree/settings/settings.html:158
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Data"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2310 templates/InvenTree/settings/settings.html:173
+#: part/models.py:2483 templates/InvenTree/settings/settings.html:167
msgid "Default Value"
msgstr ""
-#: part/models.py:2311
+#: part/models.py:2484
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2561
msgid "Select parent part"
msgstr ""
-#: part/models.py:2370
+#: part/models.py:2569
msgid "Sub part"
msgstr ""
-#: part/models.py:2371
+#: part/models.py:2570
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2377
+#: part/models.py:2576
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2379 templates/js/translated/bom.js:275
-#: templates/js/translated/bom.js:335
+#: part/models.py:2578 templates/js/translated/bom.js:452
+#: templates/js/translated/bom.js:526
+#: templates/js/translated/table_filters.js:86
msgid "Optional"
msgstr ""
-#: part/models.py:2379
+#: part/models.py:2578
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2382
+#: part/models.py:2581
msgid "Overage"
msgstr ""
-#: part/models.py:2383
+#: part/models.py:2582
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2585
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2588
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "Checksum"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2395 templates/js/translated/bom.js:352
-#: templates/js/translated/bom.js:359
+#: part/models.py:2594 templates/js/translated/bom.js:543
+#: templates/js/translated/bom.js:550
#: templates/js/translated/table_filters.js:68
+#: templates/js/translated/table_filters.js:82
msgid "Inherited"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2595
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2401 templates/js/translated/bom.js:344
+#: part/models.py:2600 templates/js/translated/bom.js:535
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2402
+#: part/models.py:2601
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2487 stock/models.py:341
+#: part/models.py:2686 stock/models.py:371
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2496 part/models.py:2498
+#: part/models.py:2695 part/models.py:2697
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2620
+#: part/models.py:2826
+msgid "BOM Item Substitute"
+msgstr ""
+
+#: part/models.py:2848
+msgid "Substitute part cannot be the same as the master part"
+msgstr ""
+
+#: part/models.py:2860
+msgid "Parent BOM item"
+msgstr ""
+
+#: part/models.py:2868
+msgid "Substitute part"
+msgstr ""
+
+#: part/models.py:2879
msgid "Part 1"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Part 2"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2656
+#: part/models.py:2915
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
+#: part/tasks.py:53
+msgid "Low stock notification"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
-#: part/templates/part/bom.html:14
+#: part/templates/part/bom.html:15
#, python-format
msgid "The BOM for %(part)s has changed, and must be validated.
"
msgstr ""
-#: part/templates/part/bom.html:16
+#: part/templates/part/bom.html:17
#, python-format
msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s"
msgstr ""
-#: part/templates/part/bom.html:20
+#: part/templates/part/bom.html:21
#, python-format
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:27
-msgid "Remove selected BOM items"
-msgstr ""
-
-#: part/templates/part/bom.html:30
-msgid "Import BOM data"
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:383
+msgid "BOM actions"
msgstr ""
#: part/templates/part/bom.html:34
-msgid "Copy BOM from parent part"
-msgstr ""
-
-#: part/templates/part/bom.html:38
-msgid "New BOM Item"
-msgstr ""
-
-#: part/templates/part/bom.html:41
-msgid "Finish Editing"
-msgstr ""
-
-#: part/templates/part/bom.html:46
-msgid "Edit BOM"
-msgstr ""
-
-#: part/templates/part/bom.html:50
-msgid "Validate Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:56 part/views.py:1220
-msgid "Export Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:59
-msgid "Print BOM Report"
+msgid "Delete Items"
msgstr ""
#: part/templates/part/bom_duplicate.html:13
@@ -4360,28 +4170,23 @@ msgstr ""
msgid "Select Part"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:13
-#: part/templates/part/bom_upload/upload_file.html:16
-msgid "Return To BOM"
-msgstr ""
-
-#: part/templates/part/bom_upload/upload_file.html:27
+#: part/templates/part/bom_upload/upload_file.html:12
msgid "Upload Bill of Materials"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:46
+#: part/templates/part/bom_upload/upload_file.html:32
msgid "Requirements for BOM upload"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "The BOM file must contain the required named columns as provided in the "
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "BOM Upload Template"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:49
+#: part/templates/part/bom_upload/upload_file.html:35
msgid "Each part must already exist in the database"
msgstr ""
@@ -4394,93 +4199,103 @@ msgstr ""
msgid "This will validate each line in the BOM."
msgstr ""
-#: part/templates/part/category.html:33
-msgid "All parts"
+#: part/templates/part/category.html:24 part/templates/part/category.html:28
+msgid "You are subscribed to notifications for this category"
+msgstr ""
+
+#: part/templates/part/category.html:32
+msgid "Subscribe to notifications for this category"
msgstr ""
#: part/templates/part/category.html:38
-msgid "Create new part category"
+msgid "Category Actions"
+msgstr ""
+
+#: part/templates/part/category.html:43
+msgid "Edit category"
msgstr ""
#: part/templates/part/category.html:44
-msgid "Edit part category"
+msgid "Edit Category"
+msgstr ""
+
+#: part/templates/part/category.html:48
+msgid "Delete category"
msgstr ""
#: part/templates/part/category.html:49
-msgid "Delete part category"
+msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:59 part/templates/part/category.html:98
-msgid "Category Details"
+#: part/templates/part/category.html:57
+msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:64
+#: part/templates/part/category.html:58
+msgid "New Category"
+msgstr ""
+
+#: part/templates/part/category.html:67
+msgid "Top level part category"
+msgstr ""
+
+#: part/templates/part/category.html:79
msgid "Category Path"
msgstr ""
-#: part/templates/part/category.html:69
+#: part/templates/part/category.html:84
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:175
-#: part/templates/part/category_navbar.html:14
-#: part/templates/part/category_navbar.html:17
+#: part/templates/part/category.html:103 part/templates/part/category.html:194
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:93
+#: part/templates/part/category.html:108
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:126
+#: part/templates/part/category.html:145
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:142
+#: part/templates/part/category.html:146 part/templates/part/category.html:170
msgid "Export"
msgstr ""
-#: part/templates/part/category.html:130
+#: part/templates/part/category.html:149
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 templates/js/translated/bom.js:39
+#: part/templates/part/category.html:150 templates/js/translated/bom.js:40
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:141
+#: part/templates/part/category.html:168
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:142
+#: part/templates/part/category.html:170
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:146
-msgid "View list display"
-msgstr ""
-
-#: part/templates/part/category.html:149
-msgid "View grid display"
-msgstr ""
-
-#: part/templates/part/category.html:165
+#: part/templates/part/category.html:184
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:254
+#: part/templates/part/category.html:261
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:281
+#: part/templates/part/category.html:288
msgid "Create Part"
msgstr ""
@@ -4519,12 +4334,7 @@ msgstr ""
msgid "If this category is deleted, these parts will be moved to the top-level category Teile"
msgstr ""
-#: part/templates/part/category_navbar.html:29
-#: part/templates/part/category_navbar.html:32
-msgid "Import Parts"
-msgstr ""
-
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365
msgid "Duplicate Part"
msgstr ""
@@ -4549,311 +4359,315 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)"
msgstr ""
#: part/templates/part/detail.html:16
+msgid "Part Details"
+msgstr ""
+
+#: part/templates/part/detail.html:66
+msgid "Minimum stock level"
+msgstr ""
+
+#: part/templates/part/detail.html:97
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/detail.html:124
msgid "Part Stock"
msgstr ""
-#: part/templates/part/detail.html:21
+#: part/templates/part/detail.html:136
#, python-format
msgid "Showing stock for all variants of %(full_name)s"
msgstr ""
-#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99
+#: part/templates/part/detail.html:146
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:36
+#: part/templates/part/detail.html:151
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:77
-msgid "New sales order"
-msgstr ""
-
-#: part/templates/part/detail.html:77
-msgid "New Order"
-msgstr ""
-
-#: part/templates/part/detail.html:90
+#: part/templates/part/detail.html:208
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27
+#: part/templates/part/detail.html:249
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:137
+#: part/templates/part/detail.html:253
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:138
+#: part/templates/part/detail.html:254
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:161
+#: part/templates/part/detail.html:281
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107
-#: part/templates/part/navbar.html:110
+#: part/templates/part/detail.html:315
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:188
+#: part/templates/part/detail.html:319 part/templates/part/detail.html:320
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43
-#: part/templates/part/navbar.html:46
+#: part/templates/part/detail.html:366
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:237
+#: part/templates/part/detail.html:371
+msgid "Export actions"
+msgstr ""
+
+#: part/templates/part/detail.html:375
+msgid "Export BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:377
+msgid "Print BOM Report"
+msgstr ""
+
+#: part/templates/part/detail.html:387
+msgid "Upload BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:389 templates/js/translated/part.js:266
+msgid "Copy BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:391 part/views.py:820
+msgid "Validate BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:396
+msgid "New BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:397
+msgid "Add BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:410
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:253
+#: part/templates/part/detail.html:427
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:260
-msgid "Start New Build"
-msgstr ""
-
-#: part/templates/part/detail.html:274
+#: part/templates/part/detail.html:452
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:283
+#: part/templates/part/detail.html:462
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:305
+#: part/templates/part/detail.html:489
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:317
+#: part/templates/part/detail.html:505
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:502
+#: part/templates/part/detail.html:686
msgid "Delete selected BOM items?"
msgstr ""
-#: part/templates/part/detail.html:503
+#: part/templates/part/detail.html:687
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:554
+#: part/templates/part/detail.html:738
msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:699
+#: part/templates/part/detail.html:876
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:755
+#: part/templates/part/detail.html:933
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:907
+#: part/templates/part/detail.html:1085
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:919
+#: part/templates/part/detail.html:1097
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:931
+#: part/templates/part/detail.html:1109
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1020
+#: part/templates/part/detail.html:1198
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
#: part/templates/part/import_wizard/ajax_part_upload.html:29
-#: part/templates/part/import_wizard/part_upload.html:51
+#: part/templates/part/import_wizard/part_upload.html:52
msgid "Unsuffitient privileges."
msgstr ""
-#: part/templates/part/import_wizard/part_upload.html:14
+#: part/templates/part/import_wizard/part_upload.html:15
msgid "Import Parts from File"
msgstr ""
-#: part/templates/part/navbar.html:30
-msgid "Variants"
-msgstr ""
-
-#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/navbar.html:70
-msgid "Prices"
-msgstr ""
-
-#: part/templates/part/navbar.html:102
-msgid "Test Templates"
-msgstr ""
-
#: part/templates/part/part_app_base.html:12
msgid "Part List"
msgstr ""
+#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31
+msgid "You are subscribed to notifications for this part"
+msgstr ""
+
#: part/templates/part/part_base.html:35
-msgid "Part is a template part (variants can be made from this part)"
+msgid "Subscribe to notifications for this part"
msgstr ""
-#: part/templates/part/part_base.html:38
-msgid "Part can be assembled from other parts"
-msgstr ""
-
-#: part/templates/part/part_base.html:41
-msgid "Part can be used in assemblies"
-msgstr ""
-
-#: part/templates/part/part_base.html:44
-msgid "Part stock is tracked by serial number"
-msgstr ""
-
-#: part/templates/part/part_base.html:47
-msgid "Part can be purchased from external suppliers"
-msgstr ""
-
-#: part/templates/part/part_base.html:50
-msgid "Part can be sold to customers"
-msgstr ""
-
-#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504
-#: templates/js/translated/company.js:761 templates/js/translated/part.js:443
-#: templates/js/translated/part.js:520
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:73
-msgid "Star this part"
-msgstr ""
-
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:75
-#: stock/templates/stock/location.html:51
+#: part/templates/part/part_base.html:43
+#: stock/templates/stock/item_base.html:28
+#: stock/templates/stock/location.html:29
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:82
-#: stock/templates/stock/item_base.html:77
-#: stock/templates/stock/location.html:53 templates/qr_button.html:1
+#: part/templates/part/part_base.html:45
+#: stock/templates/stock/item_base.html:32
+#: stock/templates/stock/location.html:31 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:83
-#: stock/templates/stock/item_base.html:93
-#: stock/templates/stock/location.html:54
+#: part/templates/part/part_base.html:46
+#: stock/templates/stock/item_base.html:48
+#: stock/templates/stock/location.html:32
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:89
+#: part/templates/part/part_base.html:51
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:95
-#: stock/templates/stock/item_base.html:142
-#: stock/templates/stock/location.html:62
+#: part/templates/part/part_base.html:56
+#: stock/templates/stock/item_base.html:103
+#: stock/templates/stock/location.html:40
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:102
+#: part/templates/part/part_base.html:63
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:108
+#: part/templates/part/part_base.html:69
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:125
+#: part/templates/part/part_base.html:84
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:128
+#: part/templates/part/part_base.html:87
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:131
+#: part/templates/part/part_base.html:90
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:134
+#: part/templates/part/part_base.html:93
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:146
+#: part/templates/part/part_base.html:109
+msgid "Part is a template part (variants can be made from this part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:113
+msgid "Part can be assembled from other parts"
+msgstr ""
+
+#: part/templates/part/part_base.html:117
+msgid "Part can be used in assemblies"
+msgstr ""
+
+#: part/templates/part/part_base.html:121
+msgid "Part stock is tracked by serial number"
+msgstr ""
+
+#: part/templates/part/part_base.html:125
+msgid "Part can be purchased from external suppliers"
+msgstr ""
+
+#: part/templates/part/part_base.html:129
+msgid "Part can be sold to customers"
+msgstr ""
+
+#: part/templates/part/part_base.html:135
+#: part/templates/part/part_base.html:143
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:136
+#: templates/js/translated/company.js:504
+#: templates/js/translated/company.js:761
+#: templates/js/translated/model_renderers.js:175
+#: templates/js/translated/part.js:464 templates/js/translated/part.js:541
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:155
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:161
-#: templates/js/translated/model_renderers.js:169
-#: templates/js/translated/order.js:1503
-#: templates/js/translated/table_filters.js:166
+#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524
+#: templates/js/translated/table_filters.js:182
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960
+#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961
msgid "On Order"
msgstr ""
-#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:181
+#: part/templates/part/part_base.html:199
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:188
+#: part/templates/part/part_base.html:206
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373
+#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776
-#: templates/js/translated/part.js:964
+#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793
+#: templates/js/translated/part.js:965
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:223
-#: part/templates/part/part_base.html:531
-#: part/templates/part/part_base.html:557
-msgid "Show Part Details"
-msgstr ""
-
-#: part/templates/part/part_base.html:283
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144
+#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:445
+#: part/templates/part/part_base.html:363
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:526
-#: part/templates/part/part_base.html:551
-msgid "Hide Part Details"
-msgstr ""
-
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4877,7 +4691,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
-#: templates/js/translated/bom.js:327
+#: templates/js/translated/bom.js:518
msgid "No supplier pricing available"
msgstr ""
@@ -4911,13 +4725,14 @@ msgstr ""
msgid "No pricing information is available for this part."
msgstr ""
-#: part/templates/part/part_thumb.html:20
+#: part/templates/part/part_thumb.html:11
msgid "Select from existing images"
msgstr ""
#: part/templates/part/partial_delete.html:9
#, python-format
-msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
+msgid ""
+"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
"
Disable the \"Active\" part attribute and re-try.\n"
" "
msgstr ""
@@ -4980,7 +4795,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321
+#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512
msgid "Supplier Cost"
msgstr ""
@@ -5002,7 +4817,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:215 part/views.py:1801
+#: part/templates/part/prices.html:215 part/views.py:1853
msgid "Add Internal Price Break"
msgstr ""
@@ -5022,13 +4837,13 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297
-#: templates/js/translated/model_renderers.js:167
-#: templates/js/translated/part.js:766 templates/js/translated/part.js:968
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474
+#: templates/js/translated/part.js:428 templates/js/translated/part.js:783
+#: templates/js/translated/part.js:969
msgid "No Stock"
msgstr ""
-#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166
+#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158
msgid "Low Stock"
msgstr ""
@@ -5041,135 +4856,140 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:106
+#: part/templatetags/inventree_extras.py:113
msgid "Unknown database"
msgstr ""
-#: part/views.py:94
+#: part/views.py:95
msgid "Add Related Part"
msgstr ""
-#: part/views.py:149
+#: part/views.py:150
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:160
+#: part/views.py:161
msgid "Set Part Category"
msgstr ""
-#: part/views.py:210
+#: part/views.py:211
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:270
+#: part/views.py:283
msgid "Match References"
msgstr ""
-#: part/views.py:526
+#: part/views.py:567
msgid "None"
msgstr ""
-#: part/views.py:585
+#: part/views.py:626
msgid "Part QR Code"
msgstr ""
-#: part/views.py:687
+#: part/views.py:728
msgid "Select Part Image"
msgstr ""
-#: part/views.py:713
+#: part/views.py:754
msgid "Updated part image"
msgstr ""
-#: part/views.py:716
+#: part/views.py:757
msgid "Part image not found"
msgstr ""
-#: part/views.py:728
+#: part/views.py:769
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:758
+#: part/views.py:799
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:779
-msgid "Validate BOM"
-msgstr ""
-
-#: part/views.py:800
+#: part/views.py:841
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:811
+#: part/views.py:852
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:884
+#: part/views.py:925
msgid "Match Parts"
msgstr ""
-#: part/views.py:1272
+#: part/views.py:1261
+msgid "Export Bill of Materials"
+msgstr ""
+
+#: part/views.py:1313
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1279
+#: part/views.py:1320
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1288
+#: part/views.py:1329
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1437
+#: part/views.py:1478
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1447
+#: part/views.py:1488
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1454
+#: part/views.py:1495
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1502 templates/js/translated/part.js:308
+#: part/views.py:1554 templates/js/translated/part.js:309
msgid "Edit Part Category"
msgstr ""
-#: part/views.py:1540
+#: part/views.py:1592
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1546
+#: part/views.py:1598
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1555
+#: part/views.py:1607
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1656
+#: part/views.py:1708
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1712
+#: part/views.py:1764
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:1734
+#: part/views.py:1786
msgid "Added new price break"
msgstr ""
-#: part/views.py:1810
+#: part/views.py:1862
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:1818
+#: part/views.py:1870
msgid "Delete Internal Price Break"
msgstr ""
+#: report/api.py:234 report/api.py:278
+#, python-brace-format
+msgid "Template file '{filename}' is missing or does not exist"
+msgstr ""
+
#: report/models.py:182
msgid "Template name"
msgstr ""
@@ -5206,51 +5026,51 @@ msgstr ""
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:380
+#: report/models.py:382
msgid "Build Filters"
msgstr ""
-#: report/models.py:381
+#: report/models.py:383
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:423
+#: report/models.py:425
msgid "Part Filters"
msgstr ""
-#: report/models.py:424
+#: report/models.py:426
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:458
+#: report/models.py:460
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:496
+#: report/models.py:498
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:546
+#: report/models.py:548
msgid "Snippet"
msgstr ""
-#: report/models.py:547
+#: report/models.py:549
msgid "Report snippet file"
msgstr ""
-#: report/models.py:551
+#: report/models.py:553
msgid "Snippet file description"
msgstr ""
-#: report/models.py:586
+#: report/models.py:588
msgid "Asset"
msgstr ""
-#: report/models.py:587
+#: report/models.py:589
msgid "Report asset file"
msgstr ""
-#: report/models.py:590
+#: report/models.py:592
msgid "Asset file description"
msgstr ""
@@ -5267,543 +5087,582 @@ msgstr ""
msgid "Stock Item Test Report"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:83
-msgid "Test Results"
+#: report/templates/report/inventree_test_report_base.html:79
+#: stock/models.py:530 stock/templates/stock/item_base.html:238
+#: templates/js/translated/build.js:233 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1013
+#: templates/js/translated/model_renderers.js:95
+#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355
+msgid "Serial Number"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:1804
+msgid "Test Results"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:93
+#: stock/models.py:1855
msgid "Test"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:89
-#: stock/models.py:1810
+#: report/templates/report/inventree_test_report_base.html:94
+#: stock/models.py:1861
msgid "Result"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502
+#: report/templates/report/inventree_test_report_base.html:97
+#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887
msgid "Date"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:103
+#: report/templates/report/inventree_test_report_base.html:108
msgid "Pass"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:105
+#: report/templates/report/inventree_test_report_base.html:110
msgid "Fail"
msgstr ""
-#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556
-#: stock/templates/stock/item_base.html:395
-#: templates/js/translated/stock.js:946
+#: report/templates/report/inventree_test_report_base.html:123
+msgid "Installed Items"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:137
+#: templates/js/translated/stock.js:2147
+msgid "Serial"
+msgstr ""
+
+#: stock/api.py:422
+msgid "Quantity is required"
+msgstr ""
+
+#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587
+#: stock/templates/stock/item_base.html:382
+#: templates/js/translated/stock.js:1246
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:308
+#: stock/forms.py:92 stock/forms.py:266
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:83
+#: stock/forms.py:95
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:134
+#: stock/forms.py:150
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:138 stock/forms.py:282
+#: stock/forms.py:154 stock/forms.py:238
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:168 stock/forms.py:224
-msgid "Select test report template"
-msgstr ""
-
-#: stock/forms.py:240
+#: stock/forms.py:194
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:270
+#: stock/forms.py:224
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:280
+#: stock/forms.py:236
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm removal of installed stock items"
msgstr ""
-#: stock/models.py:57 stock/models.py:593
+#: stock/models.py:60 stock/models.py:624
+#: stock/templates/stock/item_base.html:422
msgid "Owner"
msgstr ""
-#: stock/models.py:58 stock/models.py:594
+#: stock/models.py:61 stock/models.py:625
msgid "Select Owner"
msgstr ""
-#: stock/models.py:322
+#: stock/models.py:352
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:358
+#: stock/models.py:388
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:368 stock/models.py:377
+#: stock/models.py:398 stock/models.py:407
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:369
+#: stock/models.py:399
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:391
+#: stock/models.py:421
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:397
+#: stock/models.py:427
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:404
+#: stock/models.py:434
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:446
+#: stock/models.py:476
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:455
+#: stock/models.py:485
msgid "Base part"
msgstr ""
-#: stock/models.py:464
+#: stock/models.py:493
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8
+#: stock/models.py:498 stock/templates/stock/location.html:12
+#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:472
+#: stock/models.py:501
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:479
+#: stock/models.py:508
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:484 stock/templates/stock/item_base.html:284
+#: stock/models.py:513 stock/templates/stock/item_base.html:271
msgid "Installed In"
msgstr ""
-#: stock/models.py:487
+#: stock/models.py:516
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:503
+#: stock/models.py:532
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:515
+#: stock/models.py:546
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:519
+#: stock/models.py:550
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:528
+#: stock/models.py:559
msgid "Source Build"
msgstr ""
-#: stock/models.py:530
+#: stock/models.py:561
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:541
+#: stock/models.py:572
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:544
+#: stock/models.py:575
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:550
+#: stock/models.py:581
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:557
+#: stock/models.py:588
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:580 stock/templates/stock/item.html:99
-#: stock/templates/stock/navbar.html:54
+#: stock/models.py:611 stock/templates/stock/item.html:111
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:589
+#: stock/models.py:620
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:599
+#: stock/models.py:630
msgid "Scheduled for deletion"
msgstr ""
-#: stock/models.py:600
+#: stock/models.py:631
msgid "This StockItem will be deleted by the background worker"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1094
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1069
+#: stock/models.py:1100
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1075
+#: stock/models.py:1106
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1078
+#: stock/models.py:1109
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1081
+#: stock/models.py:1112
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1088
+#: stock/models.py:1119
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1246
+#: stock/models.py:1277
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:1724
+#: stock/models.py:1775
msgid "Entry notes"
msgstr ""
-#: stock/models.py:1781
+#: stock/models.py:1832
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:1787
+#: stock/models.py:1838
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:1805
+#: stock/models.py:1856
msgid "Test name"
msgstr ""
-#: stock/models.py:1811 templates/js/translated/table_filters.js:244
+#: stock/models.py:1862 templates/js/translated/table_filters.js:260
msgid "Test result"
msgstr ""
-#: stock/models.py:1817
+#: stock/models.py:1868
msgid "Test output value"
msgstr ""
-#: stock/models.py:1824
+#: stock/models.py:1875
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:1830
+#: stock/models.py:1881
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:424
-msgid "StockItem primary key value"
+#: stock/serializers.py:166
+msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:452
-msgid "Stock transaction notes"
+#: stock/serializers.py:173
+msgid "Purchase currency of this stock item"
msgstr ""
-#: stock/serializers.py:462
-msgid "A list of stock items must be provided"
+#: stock/serializers.py:287
+msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:554
+#: stock/serializers.py:302
+#, python-brace-format
+msgid "Quantity must not exceed available stock quantity ({q})"
+msgstr ""
+
+#: stock/serializers.py:308
+msgid "Enter serial numbers for new items"
+msgstr ""
+
+#: stock/serializers.py:319 stock/serializers.py:687
msgid "Destination stock location"
msgstr ""
-#: stock/templates/stock/item.html:17
+#: stock/serializers.py:326
+msgid "Optional note field"
+msgstr ""
+
+#: stock/serializers.py:339
+msgid "Serial numbers cannot be assigned to this part"
+msgstr ""
+
+#: stock/serializers.py:557
+msgid "StockItem primary key value"
+msgstr ""
+
+#: stock/serializers.py:585
+msgid "Stock transaction notes"
+msgstr ""
+
+#: stock/serializers.py:595
+msgid "A list of stock items must be provided"
+msgstr ""
+
+#: stock/templates/stock/item.html:18
msgid "Stock Tracking Information"
msgstr ""
-#: stock/templates/stock/item.html:30
+#: stock/templates/stock/item.html:29
msgid "New Entry"
msgstr ""
-#: stock/templates/stock/item.html:43
+#: stock/templates/stock/item.html:48
msgid "Child Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:50
+#: stock/templates/stock/item.html:55
msgid "This stock item does not have any child items"
msgstr ""
-#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19
-#: stock/templates/stock/navbar.html:22
+#: stock/templates/stock/item.html:64
msgid "Test Data"
msgstr ""
-#: stock/templates/stock/item.html:66
-msgid "Delete Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:70
-msgid "Add Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95
+#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50
msgid "Test Report"
msgstr ""
-#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27
+#: stock/templates/stock/item.html:72
+msgid "Delete Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:76
+msgid "Add Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:133
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:125 stock/views.py:511
+#: stock/templates/stock/item.html:137 stock/views.py:515
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326
+#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:346
+#: stock/templates/stock/item.html:363
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:360
+#: stock/templates/stock/item.html:377
msgid "Delete Test Result"
msgstr ""
-#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:399
-#: templates/js/translated/table_filters.js:225
-msgid "Expired"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:401
-#: templates/js/translated/table_filters.js:231
-msgid "Stale"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:80
-#: templates/js/translated/barcode.js:331
-#: templates/js/translated/barcode.js:336
+#: stock/templates/stock/item_base.html:35
+#: templates/js/translated/barcode.js:330
+#: templates/js/translated/barcode.js:335
msgid "Unlink Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/item_base.html:37
msgid "Link Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31
+#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24
msgid "Scan to Location"
msgstr ""
-#: stock/templates/stock/item_base.html:91
+#: stock/templates/stock/item_base.html:46
msgid "Printing actions"
msgstr ""
-#: stock/templates/stock/item_base.html:104
+#: stock/templates/stock/item_base.html:65
msgid "Stock adjustment actions"
msgstr ""
-#: stock/templates/stock/item_base.html:108
-#: stock/templates/stock/location.html:69 templates/stock_table.html:57
+#: stock/templates/stock/item_base.html:69
+#: stock/templates/stock/location.html:47 templates/stock_table.html:50
msgid "Count stock"
msgstr ""
-#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55
+#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48
msgid "Add stock"
msgstr ""
-#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56
+#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49
msgid "Remove stock"
msgstr ""
-#: stock/templates/stock/item_base.html:117
+#: stock/templates/stock/item_base.html:78
msgid "Serialize stock"
msgstr ""
-#: stock/templates/stock/item_base.html:121
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/location.html:53
msgid "Transfer stock"
msgstr ""
-#: stock/templates/stock/item_base.html:124
+#: stock/templates/stock/item_base.html:85
msgid "Assign to customer"
msgstr ""
-#: stock/templates/stock/item_base.html:127
+#: stock/templates/stock/item_base.html:88
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install"
msgstr ""
-#: stock/templates/stock/item_base.html:145
+#: stock/templates/stock/item_base.html:106
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:109
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:150
+#: stock/templates/stock/item_base.html:111
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:153
+#: stock/templates/stock/item_base.html:114
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:173
+#: stock/templates/stock/item_base.html:136
+#: stock/templates/stock/item_base.html:386
+#: templates/js/translated/table_filters.js:241
+msgid "Expired"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/table_filters.js:247
+msgid "Stale"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:161
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:180
+#: stock/templates/stock/item_base.html:168
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:181
+#: stock/templates/stock/item_base.html:169
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:194
+#: stock/templates/stock/item_base.html:182
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:202
+#: stock/templates/stock/item_base.html:190
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:210
+#: stock/templates/stock/item_base.html:198
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:216
+#: stock/templates/stock/item_base.html:204
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:220
+#: stock/templates/stock/item_base.html:208
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:224
+#: stock/templates/stock/item_base.html:212
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:232
-msgid "Stock Item Details"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:241
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:260
+#: stock/templates/stock/item_base.html:247
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:303
-#: templates/js/translated/build.js:658
+#: stock/templates/stock/item_base.html:290
+#: templates/js/translated/build.js:1035
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:310
+#: stock/templates/stock/item_base.html:297
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:352
+#: stock/templates/stock/item_base.html:339
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:370
+#: stock/templates/stock/item_base.html:357
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:399
+#: stock/templates/stock/item_base.html:386
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:401
+#: stock/templates/stock/item_base.html:388
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:408
-#: templates/js/translated/stock.js:959
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1259
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:413
+#: stock/templates/stock/item_base.html:400
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:417
+#: stock/templates/stock/item_base.html:404
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:428
+#: stock/templates/stock/item_base.html:415
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:516
-msgid "Save"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:528
+#: stock/templates/stock/item_base.html:504
msgid "Edit Stock Status"
msgstr ""
@@ -5857,106 +5716,68 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:20
-msgid "You are not in the list of owners of this location. This stock location cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/location.html:37
-msgid "All stock items"
-msgstr ""
-
-#: stock/templates/stock/location.html:42
-msgid "Create new stock location"
-msgstr ""
-
-#: stock/templates/stock/location.html:55
+#: stock/templates/stock/location.html:33
msgid "Check-in Items"
msgstr ""
-#: stock/templates/stock/location.html:83
+#: stock/templates/stock/location.html:61
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:85
+#: stock/templates/stock/location.html:63
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:87
+#: stock/templates/stock/location.html:65
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:99
-msgid "Location Details"
+#: stock/templates/stock/location.html:75
+msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:104
-msgid "Location Path"
+#: stock/templates/stock/location.html:76
+msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:109
-msgid "Location Description"
+#: stock/templates/stock/location.html:86
+msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:114
-#: stock/templates/stock/location.html:155
-#: stock/templates/stock/location_navbar.html:11
-#: stock/templates/stock/location_navbar.html:14
+#: stock/templates/stock/location.html:95
+msgid "You are not in the list of owners of this location. This stock location cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/location.html:113
+#: stock/templates/stock/location.html:160
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:124
-msgid "Stock Details"
+#: stock/templates/stock/location.html:118
+#: stock/templates/stock/location.html:132
+#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158
+#: templates/js/translated/stock.js:1871 templates/stats.html:93
+#: templates/stats.html:102 users/models.py:43
+msgid "Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196
+#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170
#: templates/stats.html:97 users/models.py:42
msgid "Stock Locations"
msgstr ""
-#: stock/templates/stock/location.html:162 templates/stock_table.html:37
+#: stock/templates/stock/location.html:167 templates/stock_table.html:30
msgid "Printing Actions"
msgstr ""
-#: stock/templates/stock/location.html:166 templates/stock_table.html:41
+#: stock/templates/stock/location.html:171 templates/stock_table.html:34
msgid "Print labels"
msgstr ""
-#: stock/templates/stock/location.html:250
-msgid "New Location"
-msgstr ""
-
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
-msgstr ""
-
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: stock/templates/stock/navbar.html:11
-msgid "Stock Item Tracking"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:14
-msgid "History"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:30
-msgid "Installed Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:38
-msgid "Child Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:41
-msgid "Children"
-msgstr ""
-
-#: stock/templates/stock/stock_adjust.html:43
-msgid "Remove item"
-msgstr ""
-
#: stock/templates/stock/stock_app_base.html:16
msgid "Loading..."
msgstr ""
@@ -5965,7 +5786,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912
msgid "Convert Stock Item"
msgstr ""
@@ -5986,104 +5807,100 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:158
+#: stock/views.py:162
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:265 stock/views.py:888 stock/views.py:1010
-#: stock/views.py:1375
+#: stock/views.py:269 stock/views.py:891 stock/views.py:1017
+#: stock/views.py:1299
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:280
+#: stock/views.py:284
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:299
+#: stock/views.py:303
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:308
+#: stock/views.py:312
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:332
+#: stock/views.py:336
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:345
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:352
+#: stock/views.py:356
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:363
+#: stock/views.py:367
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:380
+#: stock/views.py:384
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:485
+#: stock/views.py:489
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:660
+#: stock/views.py:663
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:757 templates/js/translated/stock.js:321
+#: stock/views.py:760 templates/js/translated/stock.js:618
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:768
+#: stock/views.py:771
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:790
+#: stock/views.py:793 templates/js/translated/stock.js:288
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:936
+#: stock/views.py:943
msgid "Create new Stock Location"
msgstr ""
-#: stock/views.py:1027
-msgid "Serialize Stock"
-msgstr ""
-
-#: stock/views.py:1120
+#: stock/views.py:1044
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1262
+#: stock/views.py:1186 templates/js/translated/stock.js:268
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1344
+#: stock/views.py:1268
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1444
+#: stock/views.py:1368
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1457
+#: stock/views.py:1381
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1468
+#: stock/views.py:1392
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1475
+#: stock/views.py:1399
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1484
+#: stock/views.py:1408
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6107,63 +5924,67 @@ msgstr ""
msgid "Index"
msgstr ""
-#: templates/InvenTree/index.html:105
-msgid "Starred Parts"
+#: templates/InvenTree/index.html:88
+msgid "Subscribed Parts"
msgstr ""
-#: templates/InvenTree/index.html:115
+#: templates/InvenTree/index.html:98
+msgid "Subscribed Categories"
+msgstr ""
+
+#: templates/InvenTree/index.html:108
msgid "Latest Parts"
msgstr ""
-#: templates/InvenTree/index.html:126
+#: templates/InvenTree/index.html:119
msgid "BOM Waiting Validation"
msgstr ""
-#: templates/InvenTree/index.html:153
+#: templates/InvenTree/index.html:145
msgid "Recently Updated"
msgstr ""
-#: templates/InvenTree/index.html:176
+#: templates/InvenTree/index.html:168
msgid "Depleted Stock"
msgstr ""
-#: templates/InvenTree/index.html:199
+#: templates/InvenTree/index.html:191
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:202
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:232
+#: templates/InvenTree/index.html:224
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:243
+#: templates/InvenTree/index.html:235
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:263
+#: templates/InvenTree/index.html:255
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:274
+#: templates/InvenTree/index.html:266
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:294
+#: templates/InvenTree/index.html:286
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:305
+#: templates/InvenTree/index.html:297
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14
+#: templates/InvenTree/search.html:8
msgid "Search Results"
msgstr ""
-#: templates/InvenTree/search.html:24
+#: templates/InvenTree/search.html:22
msgid "Enter a search query"
msgstr ""
@@ -6183,23 +6004,23 @@ msgstr ""
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:23
+#: templates/InvenTree/settings/currencies.html:19
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:27
+#: templates/InvenTree/settings/currencies.html:24
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:37
+#: templates/InvenTree/settings/currencies.html:38
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:43
+#: templates/InvenTree/settings/currencies.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:48
+#: templates/InvenTree/settings/currencies.html:49
msgid "Update Now"
msgstr ""
@@ -6207,147 +6028,74 @@ msgstr ""
msgid "Server Settings"
msgstr ""
-#: templates/InvenTree/settings/header.html:7
-msgid "Setting"
-msgstr ""
-
#: templates/InvenTree/settings/login.html:9
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:12
-#: templates/InvenTree/settings/user_settings.html:9
-msgid "User Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:15
-#: templates/InvenTree/settings/navbar.html:17
-msgid "Account"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:21
-#: templates/InvenTree/settings/navbar.html:23
-msgid "Home Page"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29
-#: templates/js/translated/tables.js:375 templates/search_form.html:6
-#: templates/search_form.html:8
-msgid "Search"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:33
-#: templates/InvenTree/settings/navbar.html:35
-msgid "Labels"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:39
-#: templates/InvenTree/settings/navbar.html:41
-msgid "Reports"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:45
-#: templates/InvenTree/settings/navbar.html:47
-msgid "Forms"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:52
-#: templates/InvenTree/settings/navbar.html:54
-#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90
-msgid "Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:62
-msgid "InvenTree Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:65
-#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87
-msgid "Login"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:77
-#: templates/InvenTree/settings/navbar.html:79
-msgid "Barcodes"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85
-msgid "Currencies"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91
-msgid "Reporting"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103
-msgid "Categories"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:7
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:12
-msgid "Part Options"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:43
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:47
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:59
+#: templates/InvenTree/settings/part.html:61
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/po.html:9
+#: templates/InvenTree/settings/po.html:7
msgid "Purchase Order Settings"
msgstr ""
-#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:29
+#: templates/InvenTree/settings/setting.html:28
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:41
+#: templates/InvenTree/settings/setting.html:39
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:154
+#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93
+msgid "Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+msgid "Edit Global Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+msgid "Edit User Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:148
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:176
-#: templates/InvenTree/settings/settings.html:275
+#: templates/InvenTree/settings/settings.html:170
+#: templates/InvenTree/settings/settings.html:269
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:177
-#: templates/InvenTree/settings/settings.html:276
+#: templates/InvenTree/settings/settings.html:171
+#: templates/InvenTree/settings/settings.html:270
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:255
+#: templates/InvenTree/settings/settings.html:249
msgid "No part parameter templates found"
msgstr ""
@@ -6363,134 +6111,154 @@ msgstr ""
msgid "Account Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:19
+#: templates/InvenTree/settings/user.html:18
#: templates/js/translated/helpers.js:26
msgid "Edit"
msgstr ""
-#: templates/InvenTree/settings/user.html:21
+#: templates/InvenTree/settings/user.html:20
#: templates/account/password_reset_from_key.html:4
#: templates/account/password_reset_from_key.html:7
msgid "Change Password"
msgstr ""
-#: templates/InvenTree/settings/user.html:28
+#: templates/InvenTree/settings/user.html:31
msgid "Username"
msgstr ""
-#: templates/InvenTree/settings/user.html:32
+#: templates/InvenTree/settings/user.html:35
msgid "First Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:36
+#: templates/InvenTree/settings/user.html:39
msgid "Last Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:42
-msgid "E-Mail"
+#: templates/InvenTree/settings/user.html:54
+msgid "The following email addresses are associated with your account:"
msgstr ""
-#: templates/InvenTree/settings/user.html:47
-msgid "The following e-mail addresses are associated with your account:"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:61
+#: templates/InvenTree/settings/user.html:74
msgid "Verified"
msgstr ""
-#: templates/InvenTree/settings/user.html:63
+#: templates/InvenTree/settings/user.html:76
msgid "Unverified"
msgstr ""
-#: templates/InvenTree/settings/user.html:65
+#: templates/InvenTree/settings/user.html:78
msgid "Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:71
+#: templates/InvenTree/settings/user.html:84
msgid "Make Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:72
+#: templates/InvenTree/settings/user.html:85
msgid "Re-send Verification"
msgstr ""
-#: templates/InvenTree/settings/user.html:73
-#: templates/InvenTree/settings/user.html:130
+#: templates/InvenTree/settings/user.html:86
+#: templates/InvenTree/settings/user.html:153
msgid "Remove"
msgstr ""
-#: templates/InvenTree/settings/user.html:80
+#: templates/InvenTree/settings/user.html:93
msgid "Warning:"
msgstr ""
-#: templates/InvenTree/settings/user.html:81
-msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc."
+#: templates/InvenTree/settings/user.html:94
+msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc."
msgstr ""
-#: templates/InvenTree/settings/user.html:88
-msgid "Add E-mail Address"
+#: templates/InvenTree/settings/user.html:101
+msgid "Add Email Address"
msgstr ""
-#: templates/InvenTree/settings/user.html:93
-msgid "Add E-mail"
+#: templates/InvenTree/settings/user.html:111
+msgid "Enter e-mail address"
msgstr ""
-#: templates/InvenTree/settings/user.html:100
+#: templates/InvenTree/settings/user.html:113
+msgid "Add Email"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:123
msgid "Social Accounts"
msgstr ""
-#: templates/InvenTree/settings/user.html:105
+#: templates/InvenTree/settings/user.html:128
msgid "You can sign in to your account using any of the following third party accounts:"
msgstr ""
-#: templates/InvenTree/settings/user.html:138
-msgid "You currently have no social network accounts connected to this account."
+#: templates/InvenTree/settings/user.html:162
+msgid "There are no social network accounts connected to your InvenTree account"
msgstr ""
-#: templates/InvenTree/settings/user.html:142
+#: templates/InvenTree/settings/user.html:167
msgid "Add a 3rd Party Account"
msgstr ""
-#: templates/InvenTree/settings/user.html:153
-msgid "Theme Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:174
-msgid "Set Theme"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:181
+#: templates/InvenTree/settings/user.html:177
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:200
+#: templates/InvenTree/settings/user.html:186
+msgid "Select language"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:202
#, python-format
msgid "%(lang_translated)s%% translated"
msgstr ""
-#: templates/InvenTree/settings/user.html:202
+#: templates/InvenTree/settings/user.html:204
msgid "No translations available"
msgstr ""
-#: templates/InvenTree/settings/user.html:209
+#: templates/InvenTree/settings/user.html:211
msgid "Set Language"
msgstr ""
-#: templates/InvenTree/settings/user.html:214
-msgid "Help the translation efforts!"
+#: templates/InvenTree/settings/user.html:213
+msgid "Some languages are not complete"
msgstr ""
#: templates/InvenTree/settings/user.html:215
+msgid "Show only sufficent"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:217
+msgid "Show them too"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:224
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:225
#, python-format
msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
msgstr ""
-#: templates/InvenTree/settings/user.html:223
-msgid "Do you really want to remove the selected e-mail address?"
+#: templates/InvenTree/settings/user.html:233
+msgid "Do you really want to remove the selected email address?"
msgstr ""
-#: templates/InvenTree/settings/user_forms.html:9
-msgid "Form Settings"
+#: templates/InvenTree/settings/user_display.html:9
+msgid "Display Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:25
+msgid "Theme Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:35
+msgid "Select theme"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:46
+msgid "Set Theme"
msgstr ""
#: templates/InvenTree/settings/user_homepage.html:9
@@ -6505,124 +6273,139 @@ msgstr ""
msgid "Search Settings"
msgstr ""
-#: templates/about.html:13
+#: templates/InvenTree/settings/user_settings.html:9
+msgid "User Settings"
+msgstr ""
+
+#: templates/about.html:10
msgid "InvenTree Version Information"
msgstr ""
-#: templates/about.html:22
+#: templates/about.html:11 templates/about.html:105
+#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:964 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
+msgid "Close"
+msgstr ""
+
+#: templates/about.html:20
msgid "InvenTree Version"
msgstr ""
-#: templates/about.html:27
+#: templates/about.html:25
msgid "Development Version"
msgstr ""
-#: templates/about.html:30
+#: templates/about.html:28
msgid "Up to Date"
msgstr ""
-#: templates/about.html:32
+#: templates/about.html:30
msgid "Update Available"
msgstr ""
-#: templates/about.html:42
+#: templates/about.html:40
msgid "Commit Hash"
msgstr ""
-#: templates/about.html:49
+#: templates/about.html:47
msgid "Commit Date"
msgstr ""
-#: templates/about.html:55
+#: templates/about.html:53
msgid "InvenTree Documentation"
msgstr ""
-#: templates/about.html:60
+#: templates/about.html:58
msgid "API Version"
msgstr ""
-#: templates/about.html:65
+#: templates/about.html:63
msgid "Python Version"
msgstr ""
-#: templates/about.html:70
+#: templates/about.html:68
msgid "Django Version"
msgstr ""
-#: templates/about.html:75
+#: templates/about.html:73
msgid "View Code on GitHub"
msgstr ""
-#: templates/about.html:80
+#: templates/about.html:78
msgid "Credits"
msgstr ""
-#: templates/about.html:85
+#: templates/about.html:83
msgid "Mobile App"
msgstr ""
-#: templates/about.html:90
+#: templates/about.html:88
msgid "Submit Bug Report"
msgstr ""
-#: templates/about.html:97 templates/clip.html:4
+#: templates/about.html:95 templates/clip.html:4
msgid "copy to clipboard"
msgstr ""
-#: templates/about.html:97
+#: templates/about.html:95
msgid "copy version information"
msgstr ""
-#: templates/about.html:107 templates/js/translated/modals.js:50
-#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678
-#: templates/js/translated/modals.js:982 templates/modals.html:29
-#: templates/modals.html:54
-msgid "Close"
-msgstr ""
-
#: templates/account/email_confirm.html:6
#: templates/account/email_confirm.html:10
-msgid "Confirm E-mail Address"
+msgid "Confirm Email Address"
msgstr ""
#: templates/account/email_confirm.html:16
#, python-format
-msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s."
+msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
#: templates/account/email_confirm.html:27
#, python-format
-msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request."
+msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:5 templates/account/login.html:14
-#: templates/account/login.html:36
+#: templates/account/login.html:6 templates/account/login.html:16
+#: templates/account/login.html:39
msgid "Sign In"
msgstr ""
-#: templates/account/login.html:19
+#: templates/account/login.html:21
#, python-format
-msgid "Please sign in with one\n"
+msgid ""
+"Please sign in with one\n"
"of your existing third party accounts or sign up\n"
"for a account and sign in below:"
msgstr ""
-#: templates/account/login.html:23
+#: templates/account/login.html:25
#, python-format
-msgid "If you have not created an account yet, then please\n"
+msgid ""
+"If you have not created an account yet, then please\n"
"sign up first."
msgstr ""
-#: templates/account/login.html:38
+#: templates/account/login.html:42
msgid "Forgot Password?"
msgstr ""
-#: templates/account/login.html:45
+#: templates/account/login.html:47
+msgid "InvenTree demo instance"
+msgstr ""
+
+#: templates/account/login.html:47
+msgid "Click here for login details"
+msgstr ""
+
+#: templates/account/login.html:55
msgid "or use SSO"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
-#: templates/account/logout.html:17
+#: templates/account/logout.html:20
msgid "Sign Out"
msgstr ""
@@ -6630,13 +6413,17 @@ msgstr ""
msgid "Are you sure you want to sign out?"
msgstr ""
+#: templates/account/logout.html:19
+msgid "Back to Site"
+msgstr ""
+
#: templates/account/password_reset.html:5
#: templates/account/password_reset.html:12
msgid "Password Reset"
msgstr ""
#: templates/account/password_reset.html:18
-msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it."
+msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it."
msgstr ""
#: templates/account/password_reset.html:23
@@ -6656,11 +6443,11 @@ msgstr ""
msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
msgstr ""
-#: templates/account/password_reset_from_key.html:17
-msgid "change password"
+#: templates/account/password_reset_from_key.html:18
+msgid "Change password"
msgstr ""
-#: templates/account/password_reset_from_key.html:20
+#: templates/account/password_reset_from_key.html:22
msgid "Your password is now changed."
msgstr ""
@@ -6677,6 +6464,77 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/admin_button.html:2
+msgid "View in administration panel"
+msgstr ""
+
+#: templates/base.html:96
+msgid "Server Restart Required"
+msgstr ""
+
+#: templates/base.html:99
+msgid "A configuration option has been changed which requires a server restart"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Contact your system administrator for further information"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:7
+msgid "Stock is required for the following build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:8
+#, python-format
+msgid "Build order %(build)s - building %(quantity)s x %(part)s"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:10
+msgid "Click on the following link to view this build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:14
+msgid "The following parts are low on required stock"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:18
+#: templates/js/translated/bom.js:989
+msgid "Required Quantity"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:19
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129
+#: templates/js/translated/build.js:1749
+msgid "Available"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:38
+#: templates/email/low_stock_notification.html:31
+msgid "You are receiving this email because you are subscribed to notifications for this part "
+msgstr ""
+
+#: templates/email/email.html:35
+msgid "InvenTree version"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:7
+#, python-format
+msgid " The available stock for %(part)s has fallen below the configured minimum level"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:9
+msgid "Click on the following link to view this part"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:17
+msgid "Total Stock"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:19
+msgid "Minimum Quantity"
+msgstr ""
+
#: templates/image_download.html:8
msgid "Specify URL for downloading image"
msgstr ""
@@ -6693,138 +6551,59 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/report.js:47 templates/js/translated/report.js:67
-msgid "items selected"
-msgstr ""
-
-#: templates/js/report.js:55 templates/js/translated/report.js:75
-msgid "Select Report Template"
-msgstr ""
-
-#: templates/js/report.js:70 templates/js/translated/report.js:90
-msgid "Select Test Report Template"
-msgstr ""
-
-#: templates/js/report.js:98 templates/js/translated/label.js:29
-#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/report.js:99 templates/js/translated/report.js:119
-msgid "Stock item(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:116 templates/js/report.js:169
-#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331 templates/js/translated/report.js:136
-#: templates/js/translated/report.js:189 templates/js/translated/report.js:243
-#: templates/js/translated/report.js:297 templates/js/translated/report.js:351
-msgid "No Reports Found"
-msgstr ""
-
-#: templates/js/report.js:117 templates/js/translated/report.js:137
-msgid "No report templates found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/report.js:152 templates/js/translated/report.js:172
-msgid "Select Builds"
-msgstr ""
-
-#: templates/js/report.js:153 templates/js/translated/report.js:173
-msgid "Build(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:170 templates/js/translated/report.js:190
-msgid "No report templates found which match selected build(s)"
-msgstr ""
-
-#: templates/js/report.js:205 templates/js/translated/build.js:948
-#: templates/js/translated/label.js:134 templates/js/translated/report.js:225
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/report.js:206 templates/js/translated/report.js:226
-msgid "Part(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:224 templates/js/translated/report.js:244
-msgid "No report templates found which match selected part(s)"
-msgstr ""
-
-#: templates/js/report.js:259 templates/js/translated/report.js:279
-msgid "Select Purchase Orders"
-msgstr ""
-
-#: templates/js/report.js:260 templates/js/translated/report.js:280
-msgid "Purchase Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/report.js:278 templates/js/report.js:332
-#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
-msgid "No report templates found which match selected orders"
-msgstr ""
-
-#: templates/js/report.js:313 templates/js/translated/report.js:333
-msgid "Select Sales Orders"
-msgstr ""
-
-#: templates/js/report.js:314 templates/js/translated/report.js:334
-msgid "Sales Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053
+#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035
msgid "No response from the InvenTree server"
msgstr ""
-#: templates/js/translated/api.js:181
+#: templates/js/translated/api.js:191
msgid "Error 400: Bad request"
msgstr ""
-#: templates/js/translated/api.js:182
+#: templates/js/translated/api.js:192
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063
+#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055
msgid "The requested resource could not be located on the server"
msgstr ""
-#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060
msgid "Connection timeout while requesting data from server"
msgstr ""
-#: templates/js/translated/api.js:205
+#: templates/js/translated/api.js:215
msgid "Unhandled Error Code"
msgstr ""
-#: templates/js/translated/api.js:206
+#: templates/js/translated/api.js:216
msgid "Error code"
msgstr ""
@@ -6832,292 +6611,369 @@ msgstr ""
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:91
+#: templates/js/translated/attachment.js:95
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:104
+#: templates/js/translated/attachment.js:108
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:115
msgid "Delete attachment"
msgstr ""
-#: templates/js/translated/barcode.js:30
+#: templates/js/translated/barcode.js:29
msgid "Scan barcode data here using wedge scanner"
msgstr ""
-#: templates/js/translated/barcode.js:32
+#: templates/js/translated/barcode.js:31
msgid "Enter barcode data"
msgstr ""
-#: templates/js/translated/barcode.js:36
+#: templates/js/translated/barcode.js:35
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:54
+#: templates/js/translated/barcode.js:53
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:55
+#: templates/js/translated/barcode.js:54
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:93
+#: templates/js/translated/barcode.js:92
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:114
+#: templates/js/translated/barcode.js:113
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:141
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/barcode.js:140
+#: templates/js/translated/modals.js:1024
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:234
+#: templates/js/translated/barcode.js:233
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:281 templates/navbar.html:65
+#: templates/js/translated/barcode.js:280 templates/navbar.html:69
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:292
+#: templates/js/translated/barcode.js:291
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:310
+#: templates/js/translated/barcode.js:309
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:333
+#: templates/js/translated/barcode.js:332
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:339
+#: templates/js/translated/barcode.js:338
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273
+#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:440
+#: templates/js/translated/barcode.js:439
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:444
-#: templates/js/translated/barcode.js:571
+#: templates/js/translated/barcode.js:443
+#: templates/js/translated/barcode.js:573
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:486
-#: templates/js/translated/barcode.js:610
+#: templates/js/translated/barcode.js:485
+#: templates/js/translated/barcode.js:612
msgid "Error transferring stock"
msgstr ""
-#: templates/js/translated/barcode.js:505
+#: templates/js/translated/barcode.js:507
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:509
+#: templates/js/translated/barcode.js:511
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:516
+#: templates/js/translated/barcode.js:518
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:523
+#: templates/js/translated/barcode.js:525
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:566
+#: templates/js/translated/barcode.js:568
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:629
+#: templates/js/translated/barcode.js:633
msgid "Barcode does not match a valid location"
msgstr ""
-#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495
+#: templates/js/translated/bom.js:184
+msgid "Remove substitute part"
+msgstr ""
+
+#: templates/js/translated/bom.js:226
+msgid "Select and add a new variant item using the input below"
+msgstr ""
+
+#: templates/js/translated/bom.js:237
+msgid "Are you sure you wish to remove this substitute part link?"
+msgstr ""
+
+#: templates/js/translated/bom.js:243
+msgid "Remove Substitute Part"
+msgstr ""
+
+#: templates/js/translated/bom.js:282
+msgid "Add Substitute"
+msgstr ""
+
+#: templates/js/translated/bom.js:283
+msgid "Edit BOM Item Substitutes"
+msgstr ""
+
+#: templates/js/translated/bom.js:402
+msgid "Substitutes Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111
+msgid "Variant stock allowed"
+msgstr ""
+
+#: templates/js/translated/bom.js:411
msgid "Open subassembly"
msgstr ""
-#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744
-#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522
-msgid "Available"
+#: templates/js/translated/bom.js:483
+msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:307
+#: templates/js/translated/bom.js:498
msgid "Purchase Price Range"
msgstr ""
-#: templates/js/translated/bom.js:314
+#: templates/js/translated/bom.js:505
msgid "Purchase Price Average"
msgstr ""
-#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449
+#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798
-#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285
+#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183
+#: templates/js/translated/order.js:1298
msgid "Actions"
msgstr ""
-#: templates/js/translated/bom.js:423
+#: templates/js/translated/bom.js:614
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:425
+#: templates/js/translated/bom.js:616
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590
+#: templates/js/translated/bom.js:618
+msgid "Edit substitute parts"
+msgstr ""
+
+#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575
+#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:1593
+#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/build.js:71
-msgid "Edit Build Order"
+#: templates/js/translated/bom.js:772
+msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/build.js:105
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/translated/build.js:138
-msgid "Allocate stock items to this build output"
-msgstr ""
-
-#: templates/js/translated/build.js:146
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/translated/build.js:155
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:164
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:265
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356
-#: templates/js/translated/order.js:1292
-msgid "Edit stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357
-#: templates/js/translated/order.js:1293
-msgid "Delete stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:695
-msgid "Edit Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:705
-msgid "Remove Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:718
+#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095
msgid "Required Part"
msgstr ""
-#: templates/js/translated/build.js:739
+#: templates/js/translated/bom.js:994
+msgid "Inherited from parent BOM"
+msgstr ""
+
+#: templates/js/translated/build.js:78
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:112
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:133
+msgid "Allocate stock items to this build output"
+msgstr ""
+
+#: templates/js/translated/build.js:144
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:153
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:161
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:184
+msgid "Are you sure you wish to unallocate stock items from this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:202
+msgid "Unallocate Stock Items"
+msgstr ""
+
+#: templates/js/translated/build.js:220
+msgid "Select Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:221
+msgid "At least one build output must be selected"
+msgstr ""
+
+#: templates/js/translated/build.js:275
+msgid "Output"
+msgstr ""
+
+#: templates/js/translated/build.js:291
+msgid "Complete Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:386
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:603
+msgid "No active build outputs found"
+msgstr ""
+
+#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760
+#: templates/js/translated/order.js:1305
+msgid "Edit stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761
+#: templates/js/translated/order.js:1306
+msgid "Delete stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1072
+msgid "Edit Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1082
+msgid "Remove Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1107
+msgid "Substitute parts available"
+msgstr ""
+
+#: templates/js/translated/build.js:1124
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:749 templates/js/translated/build.js:975
-#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514
+#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360
+#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553
-#: templates/js/translated/order.js:1567
+#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557
-#: templates/stock_table.html:59
+#: templates/js/translated/build.js:1194 templates/stock_table.html:52
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560
+#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:880
+#: templates/js/translated/build.js:1262
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:949
+#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134
+#: templates/js/translated/report.js:225
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/translated/build.js:1334
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:963
+#: templates/js/translated/build.js:1348
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:992
+#: templates/js/translated/build.js:1377
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/build.js:993
+#: templates/js/translated/build.js:1378
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:1004
+#: templates/js/translated/build.js:1389
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:1048
+#: templates/js/translated/build.js:1451
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:1172
+#: templates/js/translated/build.js:1576
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856
-#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762
-#: templates/js/translated/stock.js:1456
+#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873
+#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064
+#: templates/js/translated/stock.js:1841
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:1209
+#: templates/js/translated/build.js:1613
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675
+#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:1282
+#: templates/js/translated/build.js:1686
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:1333
+#: templates/js/translated/build.js:1737
msgid "No parts allocated for"
msgstr ""
@@ -7137,7 +6993,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:164 templates/js/translated/order.js:89
+#: templates/js/translated/company.js:164 templates/js/translated/order.js:90
msgid "Add Supplier"
msgstr ""
@@ -7186,34 +7042,34 @@ msgid "No manufacturer parts found"
msgstr ""
#: templates/js/translated/company.js:496
-#: templates/js/translated/company.js:753 templates/js/translated/part.js:427
-#: templates/js/translated/part.js:512
+#: templates/js/translated/company.js:753 templates/js/translated/part.js:448
+#: templates/js/translated/part.js:533
msgid "Template part"
msgstr ""
#: templates/js/translated/company.js:500
-#: templates/js/translated/company.js:757 templates/js/translated/part.js:431
-#: templates/js/translated/part.js:516
+#: templates/js/translated/company.js:757 templates/js/translated/part.js:452
+#: templates/js/translated/part.js:537
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:627 templates/js/translated/part.js:604
+#: templates/js/translated/company.js:627 templates/js/translated/part.js:625
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:664 templates/js/translated/part.js:646
+#: templates/js/translated/company.js:664 templates/js/translated/part.js:667
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:665 templates/js/translated/part.js:647
+#: templates/js/translated/company.js:665 templates/js/translated/part.js:668
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:684 templates/js/translated/part.js:664
+#: templates/js/translated/company.js:684 templates/js/translated/part.js:685
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:695 templates/js/translated/part.js:676
+#: templates/js/translated/company.js:695 templates/js/translated/part.js:697
msgid "Delete Parameter"
msgstr ""
@@ -7222,12 +7078,12 @@ msgid "No supplier parts found"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:407
+#: templates/js/translated/filters.js:420
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:408
+#: templates/js/translated/filters.js:421
msgid "false"
msgstr ""
@@ -7235,57 +7091,61 @@ msgstr ""
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:284
+#: templates/js/translated/filters.js:286
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:286
+#: templates/js/translated/filters.js:290
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:289
+#: templates/js/translated/filters.js:293
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:317
+#: templates/js/translated/filters.js:329
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336
-#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360
+#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364
+#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:324
+#: templates/js/translated/forms.js:351
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:337
+#: templates/js/translated/forms.js:366
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:349
+#: templates/js/translated/forms.js:380
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:361
+#: templates/js/translated/forms.js:394
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:968 templates/modals.html:21
-#: templates/modals.html:47
+#: templates/js/translated/forms.js:679
+msgid "Enter a valid number"
+msgstr ""
+
+#: templates/js/translated/forms.js:1071 templates/modals.html:19
+#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1323
+#: templates/js/translated/forms.js:1457
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1525
+#: templates/js/translated/forms.js:1661
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:1742
+#: templates/js/translated/forms.js:1878
msgid "Clear input"
msgstr ""
@@ -7297,6 +7157,11 @@ msgstr ""
msgid "NO"
msgstr ""
+#: templates/js/translated/label.js:29 templates/js/translated/report.js:118
+#: templates/js/translated/stock.js:594
+msgid "Select Stock Items"
+msgstr ""
+
#: templates/js/translated/label.js:30
msgid "Stock item(s) must be selected before printing labels"
msgstr ""
@@ -7342,62 +7207,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119
+#: templates/js/translated/modals.js:593
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981
-#: templates/modals.html:30 templates/modals.html:55
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963
+#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:117
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:397
+#: templates/js/translated/modals.js:380
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:556
+#: templates/js/translated/modals.js:539
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:592
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:649
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:945
+#: templates/js/translated/modals.js:927
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/modals.js:1024
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1057
+#: templates/js/translated/modals.js:1039
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1058
+#: templates/js/translated/modals.js:1040
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1081
+#: templates/js/translated/modals.js:1063
msgid "Error requesting form data"
msgstr ""
@@ -7405,35 +7270,35 @@ msgstr ""
msgid "Company ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:90
+#: templates/js/translated/model_renderers.js:77
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:125
+#: templates/js/translated/model_renderers.js:130
msgid "Location ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:142
+#: templates/js/translated/model_renderers.js:147
msgid "Build ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:177
+#: templates/js/translated/model_renderers.js:182
msgid "Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:231
+#: templates/js/translated/model_renderers.js:236
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:251
+#: templates/js/translated/model_renderers.js:256
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:288
+#: templates/js/translated/model_renderers.js:293
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:317
+#: templates/js/translated/model_renderers.js:322
msgid "Supplier Part ID"
msgstr ""
@@ -7445,565 +7310,688 @@ msgstr ""
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:207
+#: templates/js/translated/order.js:208
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96
+#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393
msgid "Format"
msgstr ""
-#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97
+#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394
msgid "Select file format"
msgstr ""
-#: templates/js/translated/order.js:299
+#: templates/js/translated/order.js:300
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:300
+#: templates/js/translated/order.js:301
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:325
+#: templates/js/translated/order.js:326
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343
+#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:426
+#: templates/js/translated/order.js:427
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:428
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:429
+#: templates/js/translated/order.js:430
msgid "Receive"
msgstr ""
-#: templates/js/translated/order.js:448
+#: templates/js/translated/order.js:449
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:449
+#: templates/js/translated/order.js:450
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:626
+#: templates/js/translated/order.js:627
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028
+#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602
+#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613
+#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:800
+#: templates/js/translated/order.js:801
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432
+#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457
-#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554
+#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470
+#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464
-msgid "Total price"
+#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486
+msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573
+#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:963
+#: templates/js/translated/order.js:976
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:967
+#: templates/js/translated/order.js:980
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1004
+#: templates/js/translated/order.js:1017
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1055
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1120
+#: templates/js/translated/order.js:1133
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:1213
+#: templates/js/translated/order.js:1226
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1231
+#: templates/js/translated/order.js:1244
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1273
+#: templates/js/translated/order.js:1286
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:1514
+#: templates/js/translated/order.js:1535
msgid "Fulfilled"
msgstr ""
-#: templates/js/translated/order.js:1557
+#: templates/js/translated/order.js:1579
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1585
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725
+#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1596
msgid "Delete line item "
msgstr ""
-#: templates/js/translated/order.js:1673
+#: templates/js/translated/order.js:1719
msgid "Allocate Stock Item"
msgstr ""
-#: templates/js/translated/order.js:1733
+#: templates/js/translated/order.js:1779
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1747
+#: templates/js/translated/order.js:1793
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/part.js:49
+#: templates/js/translated/part.js:50
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:53
+#: templates/js/translated/part.js:54
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:57
+#: templates/js/translated/part.js:58
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:61
+#: templates/js/translated/part.js:62
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:75
+#: templates/js/translated/part.js:76
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:164
+#: templates/js/translated/part.js:165
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:165
+#: templates/js/translated/part.js:166
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:172
+#: templates/js/translated/part.js:173
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:173
+#: templates/js/translated/part.js:174
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:180
+#: templates/js/translated/part.js:181
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:191
+#: templates/js/translated/part.js:192
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:192
+#: templates/js/translated/part.js:193
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:201
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:202
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:257
+#: templates/js/translated/part.js:258
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:258
+#: templates/js/translated/part.js:259
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:265
-msgid "Copy BOM"
-msgstr ""
-
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:267
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:273
+#: templates/js/translated/part.js:274
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:274
+#: templates/js/translated/part.js:275
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:287
+#: templates/js/translated/part.js:288
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:331
+#: templates/js/translated/part.js:332
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:419 templates/js/translated/part.js:504
+#: templates/js/translated/part.js:334
+msgid "Part edited"
+msgstr ""
+
+#: templates/js/translated/part.js:402
+msgid "You are subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:404
+msgid "You have subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:409
+msgid "Subscribe to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:411
+msgid "You have unsubscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:440 templates/js/translated/part.js:525
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:423 templates/js/translated/part.js:508
+#: templates/js/translated/part.js:444 templates/js/translated/part.js:529
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:435
-msgid "Starred part"
+#: templates/js/translated/part.js:456
+msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:439
+#: templates/js/translated/part.js:460
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:554
+#: templates/js/translated/part.js:575
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005
+#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:932
+#: templates/js/translated/part.js:933
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:955
-#: templates/js/translated/table_filters.js:359
+#: templates/js/translated/part.js:956
+#: templates/js/translated/table_filters.js:375
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480
+#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200
+#: templates/js/translated/stock.js:1802
+msgid "Display as list"
+msgstr ""
+
+#: templates/js/translated/part.js:1044
+msgid "Display as grid"
+msgstr ""
+
+#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821
+msgid "Display as tree"
+msgstr ""
+
+#: templates/js/translated/part.js:1283
+msgid "Subscribed category"
+msgstr ""
+
+#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1202
+#: templates/js/translated/part.js:1341
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493
+#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494
+#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1260
+#: templates/js/translated/part.js:1399
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1282
+#: templates/js/translated/part.js:1421
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1296
+#: templates/js/translated/part.js:1435
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1321
+#: templates/js/translated/part.js:1460
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1376
+#: templates/js/translated/part.js:1515
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1377
+#: templates/js/translated/part.js:1516
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1478
+#: templates/js/translated/part.js:1617
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1497
+#: templates/js/translated/part.js:1636
msgid "Single Price Difference"
msgstr ""
-#: templates/js/translated/stock.js:63
+#: templates/js/translated/report.js:67
+msgid "items selected"
+msgstr ""
+
+#: templates/js/translated/report.js:75
+msgid "Select Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:90
+msgid "Select Test Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:119
+msgid "Stock item(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:136 templates/js/translated/report.js:189
+#: templates/js/translated/report.js:243 templates/js/translated/report.js:297
+#: templates/js/translated/report.js:351
+msgid "No Reports Found"
+msgstr ""
+
+#: templates/js/translated/report.js:137
+msgid "No report templates found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:172
+msgid "Select Builds"
+msgstr ""
+
+#: templates/js/translated/report.js:173
+msgid "Build(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:190
+msgid "No report templates found which match selected build(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:226
+msgid "Part(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:244
+msgid "No report templates found which match selected part(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:279
+msgid "Select Purchase Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:280
+msgid "Purchase Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
+msgid "No report templates found which match selected orders"
+msgstr ""
+
+#: templates/js/translated/report.js:333
+msgid "Select Sales Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:334
+msgid "Sales Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/stock.js:70
+msgid "Serialize Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:90
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:126
+msgid "New Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:189
+msgid "Enter initial quantity for this stock item"
+msgstr ""
+
+#: templates/js/translated/stock.js:195
+msgid "Enter serial numbers for new stock (or leave blank)"
+msgstr ""
+
+#: templates/js/translated/stock.js:338
+msgid "Created new stock item"
+msgstr ""
+
+#: templates/js/translated/stock.js:351
+msgid "Created multiple stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:390
msgid "Export Stock"
msgstr ""
-#: templates/js/translated/stock.js:104
+#: templates/js/translated/stock.js:401
msgid "Include Sublocations"
msgstr ""
-#: templates/js/translated/stock.js:105
+#: templates/js/translated/stock.js:402
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:444
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:148
+#: templates/js/translated/stock.js:445
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:154
+#: templates/js/translated/stock.js:451
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:155
+#: templates/js/translated/stock.js:452
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:159
+#: templates/js/translated/stock.js:456
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:160
+#: templates/js/translated/stock.js:457
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:164
+#: templates/js/translated/stock.js:461
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:165 users/models.py:195
+#: templates/js/translated/stock.js:462 users/models.py:200
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:169 templates/stock_table.html:63
+#: templates/js/translated/stock.js:466 templates/stock_table.html:56
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:298
+#: templates/js/translated/stock.js:595
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:456
+#: templates/js/translated/stock.js:753
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:458
+#: templates/js/translated/stock.js:755
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:463
+#: templates/js/translated/stock.js:760
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:489
+#: templates/js/translated/stock.js:782
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:515
+#: templates/js/translated/stock.js:808
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:563
+#: templates/js/translated/stock.js:865
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:670
+#: templates/js/translated/stock.js:972
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:674
+#: templates/js/translated/stock.js:976
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:678
+#: templates/js/translated/stock.js:980
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:984
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:688
+#: templates/js/translated/stock.js:990
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:844
+#: templates/js/translated/stock.js:1148
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:849
+#: templates/js/translated/stock.js:1153
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:852
+#: templates/js/translated/stock.js:1156
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:856
+#: templates/js/translated/stock.js:1160
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:858
+#: templates/js/translated/stock.js:1162
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:1166
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:866
+#: templates/js/translated/stock.js:1170
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:873
+#: templates/js/translated/stock.js:1177
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:1179
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:877
+#: templates/js/translated/stock.js:1181
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:881
-#: templates/js/translated/table_filters.js:161
+#: templates/js/translated/stock.js:1185
+#: templates/js/translated/table_filters.js:177
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:935
+#: templates/js/translated/stock.js:1235
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1308
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1046
+#: templates/js/translated/stock.js:1346
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115
+#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415
msgid "items"
msgstr ""
-#: templates/js/translated/stock.js:1155
+#: templates/js/translated/stock.js:1455
msgid "batches"
msgstr ""
-#: templates/js/translated/stock.js:1182
+#: templates/js/translated/stock.js:1482
msgid "locations"
msgstr ""
-#: templates/js/translated/stock.js:1184
+#: templates/js/translated/stock.js:1484
msgid "Undefined location"
msgstr ""
-#: templates/js/translated/stock.js:1358
+#: templates/js/translated/stock.js:1658
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:1372
+#: templates/js/translated/stock.js:1672
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:1373
+#: templates/js/translated/stock.js:1673
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:1512
+#: templates/js/translated/stock.js:1897
msgid "Invalid date"
msgstr ""
-#: templates/js/translated/stock.js:1559
+#: templates/js/translated/stock.js:1919
+msgid "Details"
+msgstr ""
+
+#: templates/js/translated/stock.js:1944
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1578
+#: templates/js/translated/stock.js:1963
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1597
+#: templates/js/translated/stock.js:1982
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1615
+#: templates/js/translated/stock.js:2000
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1638
+#: templates/js/translated/stock.js:2023
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:1646
+#: templates/js/translated/stock.js:2031
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:1687
+#: templates/js/translated/stock.js:2072
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1688
+#: templates/js/translated/stock.js:2073
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:2124
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:1835
-msgid "Serial"
-msgstr ""
-
-#: templates/js/translated/stock.js:1863
+#: templates/js/translated/stock.js:2175
msgid "Uninstall Stock Item"
msgstr ""
@@ -8023,254 +8011,264 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:156
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:172
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:93
+#: templates/js/translated/table_filters.js:105
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:103
-#: templates/js/translated/table_filters.js:104
-#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:115
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:352
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:114
-#: templates/js/translated/table_filters.js:191
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:117
-#: templates/js/translated/table_filters.js:198
-msgid "Serial number GTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:118
-#: templates/js/translated/table_filters.js:199
-msgid "Serial number greater than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:121
-#: templates/js/translated/table_filters.js:202
-msgid "Serial number LTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:122
-#: templates/js/translated/table_filters.js:203
-msgid "Serial number less than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:125
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:195
-msgid "Serial number"
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:387
+msgid "Subscribed"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:212
-msgid "Batch code"
+#: templates/js/translated/table_filters.js:207
+msgid "Is Serialized"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:214
+msgid "Serial number GTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:134
+#: templates/js/translated/table_filters.js:215
+msgid "Serial number greater than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:137
+#: templates/js/translated/table_filters.js:218
+msgid "Serial number LTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:138
+#: templates/js/translated/table_filters.js:219
+msgid "Serial number less than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:141
-#: templates/js/translated/table_filters.js:326
-msgid "Active parts"
-msgstr ""
-
#: templates/js/translated/table_filters.js:142
-msgid "Show stock for active parts"
+#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:211
+msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:147
-msgid "Part is an assembly"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:151
-msgid "Is allocated"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:152
-msgid "Item has been allocated"
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:228
+msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:157
-msgid "Include stock in sublocations"
+#: templates/js/translated/table_filters.js:342
+msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:162
-msgid "Show stock items which are depleted"
+#: templates/js/translated/table_filters.js:158
+msgid "Show stock for active parts"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:163
+msgid "Part is an assembly"
msgstr ""
#: templates/js/translated/table_filters.js:167
+msgid "Is allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:168
+msgid "Item has been allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:173
+msgid "Include stock in sublocations"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:178
+msgid "Show stock items which are depleted"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:183
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:187
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:188
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:176
+#: templates/js/translated/table_filters.js:192
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:177
+#: templates/js/translated/table_filters.js:193
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:197
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:182
+#: templates/js/translated/table_filters.js:198
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:187
+#: templates/js/translated/table_filters.js:203
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:207
-#: templates/js/translated/table_filters.js:208
+#: templates/js/translated/table_filters.js:223
+#: templates/js/translated/table_filters.js:224
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/table_filters.js:232
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:233
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:242
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:248
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:279
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:291
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:307
+#: templates/js/translated/table_filters.js:324
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:296
-#: templates/js/translated/table_filters.js:313
+#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:329
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:337
+#: templates/js/translated/table_filters.js:353
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:341
+#: templates/js/translated/table_filters.js:357
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:342
+#: templates/js/translated/table_filters.js:358
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:347
+#: templates/js/translated/table_filters.js:363
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:355
+#: templates/js/translated/table_filters.js:371
msgid "Stock available"
msgstr ""
-#: templates/js/translated/table_filters.js:371
-msgid "Starred"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:383
+#: templates/js/translated/table_filters.js:399
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/tables.js:366
+#: templates/js/translated/tables.js:368
msgid "Loading data"
msgstr ""
-#: templates/js/translated/tables.js:369
+#: templates/js/translated/tables.js:371
msgid "rows per page"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "Showing"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "to"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "of"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "rows"
msgstr ""
-#: templates/js/translated/tables.js:378
+#: templates/js/translated/tables.js:377 templates/search_form.html:6
+#: templates/search_form.html:7
+msgid "Search"
+msgstr ""
+
+#: templates/js/translated/tables.js:380
msgid "No matching results"
msgstr ""
-#: templates/js/translated/tables.js:381
+#: templates/js/translated/tables.js:383
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/translated/tables.js:384
+#: templates/js/translated/tables.js:386
msgid "Refresh"
msgstr ""
-#: templates/js/translated/tables.js:387
+#: templates/js/translated/tables.js:389
msgid "Toggle"
msgstr ""
-#: templates/js/translated/tables.js:390
+#: templates/js/translated/tables.js:392
msgid "Columns"
msgstr ""
-#: templates/js/translated/tables.js:393
+#: templates/js/translated/tables.js:395
msgid "All"
msgstr ""
-#: templates/navbar.html:19
-msgid "Toggle navigation"
-msgstr ""
-
-#: templates/navbar.html:39
+#: templates/navbar.html:40
msgid "Buy"
msgstr ""
-#: templates/navbar.html:51
+#: templates/navbar.html:52
msgid "Sell"
msgstr ""
-#: templates/navbar.html:83 users/models.py:39
+#: templates/navbar.html:86 users/models.py:39
msgid "Admin"
msgstr ""
-#: templates/navbar.html:85
+#: templates/navbar.html:88
msgid "Logout"
msgstr ""
-#: templates/navbar.html:106
+#: templates/navbar.html:90
+msgid "Login"
+msgstr ""
+
+#: templates/navbar.html:111
msgid "About InvenTree"
msgstr ""
+#: templates/navbar_demo.html:5
+msgid "InvenTree demo mode"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -8283,6 +8281,10 @@ msgstr ""
msgid "Log in again"
msgstr ""
+#: templates/stats.html:9
+msgid "Server"
+msgstr ""
+
#: templates/stats.html:13
msgid "Instance Name"
msgstr ""
@@ -8336,54 +8338,50 @@ msgid "Export Stock Information"
msgstr ""
#: templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/stock_table.html:27
msgid "Barcode Actions"
msgstr ""
-#: templates/stock_table.html:43
+#: templates/stock_table.html:36
msgid "Print test reports"
msgstr ""
-#: templates/stock_table.html:50
+#: templates/stock_table.html:43
msgid "Stock Options"
msgstr ""
-#: templates/stock_table.html:55
+#: templates/stock_table.html:48
msgid "Add to selected stock items"
msgstr ""
-#: templates/stock_table.html:56
+#: templates/stock_table.html:49
msgid "Remove from selected stock items"
msgstr ""
-#: templates/stock_table.html:57
+#: templates/stock_table.html:50
msgid "Stocktake selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move stock"
msgstr ""
-#: templates/stock_table.html:59
+#: templates/stock_table.html:52
msgid "Order selected items"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change status"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change stock status"
msgstr ""
-#: templates/stock_table.html:63
+#: templates/stock_table.html:56
msgid "Delete selected items"
msgstr ""
@@ -8419,35 +8417,34 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:182
+#: users/models.py:187
msgid "Permission set"
msgstr ""
-#: users/models.py:190
+#: users/models.py:195
msgid "Group"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "View"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "Permission to view items"
msgstr ""
-#: users/models.py:195
+#: users/models.py:200
msgid "Permission to add items"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Change"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:199
+#: users/models.py:204
msgid "Permission to delete items"
msgstr ""
-
diff --git a/InvenTree/locale/it/LC_MESSAGES/django.mo b/InvenTree/locale/it/LC_MESSAGES/django.mo
index 900921d249..2f4d8f5075 100644
Binary files a/InvenTree/locale/it/LC_MESSAGES/django.mo and b/InvenTree/locale/it/LC_MESSAGES/django.mo differ
diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po
index d9a8643afa..f585ef8df7 100644
--- a/InvenTree/locale/it/LC_MESSAGES/django.po
+++ b/InvenTree/locale/it/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-11 06:21+0000\n"
+"POT-Creation-Date: 2021-11-22 22:08+0000\n"
"PO-Revision-Date: 2021-10-11 06:29\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
@@ -33,260 +33,266 @@ msgstr "Nessuna azione corrispondente trovata"
msgid "Enter date"
msgstr "Inserisci la data"
-#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123
-#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27
-#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71
-#: part/forms.py:108 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:564
+#: InvenTree/forms.py:120 build/forms.py:48 build/forms.py:69 build/forms.py:93
+#: order/forms.py:26 order/forms.py:37 order/forms.py:48 order/forms.py:59
+#: order/forms.py:70 part/forms.py:108 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:594
msgid "Confirm"
msgstr "Conferma"
-#: InvenTree/forms.py:132
+#: InvenTree/forms.py:136
msgid "Confirm delete"
msgstr "Conferma eliminazione"
-#: InvenTree/forms.py:133
+#: InvenTree/forms.py:137
msgid "Confirm item deletion"
msgstr "Conferma eliminazione elementi"
-#: InvenTree/forms.py:164
+#: InvenTree/forms.py:168
msgid "Enter password"
msgstr "Inserire la password"
-#: InvenTree/forms.py:165
+#: InvenTree/forms.py:169
msgid "Enter new password"
msgstr "Inserire una nuova password"
-#: InvenTree/forms.py:172
+#: InvenTree/forms.py:176
msgid "Confirm password"
msgstr "Conferma la password"
-#: InvenTree/forms.py:173
+#: InvenTree/forms.py:177
msgid "Confirm new password"
msgstr "Conferma la nuova password"
-#: InvenTree/forms.py:205
+#: InvenTree/forms.py:209
msgid "Select Category"
msgstr "Selezione una categoria"
-#: InvenTree/forms.py:226
-msgid "E-mail (again)"
-msgstr ""
-
#: InvenTree/forms.py:230
-msgid "E-mail address confirmation"
+msgid "Email (again)"
msgstr ""
-#: InvenTree/forms.py:250
+#: InvenTree/forms.py:234
+msgid "Email address confirmation"
+msgstr ""
+
+#: InvenTree/forms.py:254
msgid "You must type the same email each time."
msgstr ""
-#: InvenTree/helpers.py:401
+#: InvenTree/helpers.py:430
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr "Seriale Duplicato: {n}"
-#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437
-#: stock/views.py:1340
+#: InvenTree/helpers.py:437 order/models.py:318 order/models.py:440
+#: stock/views.py:1264
msgid "Invalid quantity provided"
msgstr "Quantità inserita non valida"
-#: InvenTree/helpers.py:411
+#: InvenTree/helpers.py:440
msgid "Empty serial number string"
msgstr "Numero seriale vuoto"
-#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:462 InvenTree/helpers.py:465 InvenTree/helpers.py:468
+#: InvenTree/helpers.py:493
#, python-brace-format
msgid "Invalid group: {g}"
msgstr "Gruppo non valido: {g}"
-#: InvenTree/helpers.py:469
+#: InvenTree/helpers.py:498
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr "Seriale duplicato: {g}"
-#: InvenTree/helpers.py:477
+#: InvenTree/helpers.py:506
msgid "No serial numbers found"
msgstr "Nessun numero di serie trovato"
-#: InvenTree/helpers.py:481
+#: InvenTree/helpers.py:510
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr "Il numero dei numeri seriali univoci ({s}) deve essere uguale alla quantità ({q})"
-#: InvenTree/models.py:66 stock/models.py:1823
+#: InvenTree/models.py:109 stock/models.py:1874
msgid "Attachment"
msgstr "Allegato"
-#: InvenTree/models.py:67
+#: InvenTree/models.py:110
msgid "Select file to attach"
msgstr "Seleziona file da allegare"
-#: InvenTree/models.py:69 templates/js/translated/attachment.js:87
+#: InvenTree/models.py:112 templates/js/translated/attachment.js:91
msgid "Comment"
msgstr "Commento"
-#: InvenTree/models.py:69
+#: InvenTree/models.py:112
msgid "File comment"
msgstr "Commento del file"
-#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055
-#: common/models.py:1056 part/models.py:2055
-#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/translated/stock.js:1669
+#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185
+#: common/models.py:1186 part/models.py:2205 part/models.py:2225
+#: report/templates/report/inventree_test_report_base.html:96
+#: templates/js/translated/stock.js:2054
msgid "User"
msgstr "Utente"
-#: InvenTree/models.py:79
+#: InvenTree/models.py:122
msgid "upload date"
msgstr "data caricamento"
-#: InvenTree/models.py:99
+#: InvenTree/models.py:142
msgid "Filename must not be empty"
msgstr "Il nome del file non deve essere vuoto"
-#: InvenTree/models.py:122
+#: InvenTree/models.py:165
msgid "Invalid attachment directory"
msgstr "Directory allegati non valida"
-#: InvenTree/models.py:132
+#: InvenTree/models.py:175
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr "Il nome del file contiene caratteri non validi '{c}'"
-#: InvenTree/models.py:135
+#: InvenTree/models.py:178
msgid "Filename missing extension"
msgstr "Nome file estensione mancante"
-#: InvenTree/models.py:142
+#: InvenTree/models.py:185
msgid "Attachment with this filename already exists"
msgstr "Esiste già un allegato con questo nome di file"
-#: InvenTree/models.py:149
+#: InvenTree/models.py:192
msgid "Error renaming file"
msgstr "Errore nella rinominazione del file"
-#: InvenTree/models.py:184
+#: InvenTree/models.py:227
msgid "Invalid choice"
msgstr "Scelta non valida"
-#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415
-#: label/models.py:112 part/models.py:659 part/models.py:2216
-#: part/templates/part/part_base.html:241 report/models.py:181
-#: templates/js/translated/company.js:637 templates/js/translated/part.js:477
-#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141
-#: templates/js/translated/stock.js:1462
+#: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415
+#: label/models.py:112 part/models.py:741 part/models.py:2389
+#: part/templates/part/detail.html:25 report/models.py:181
+#: templates/js/translated/company.js:637 templates/js/translated/part.js:498
+#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272
+#: templates/js/translated/stock.js:1847
msgid "Name"
msgstr "Nome"
-#: InvenTree/models.py:207 build/models.py:189
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/manufacturer_part.html:76
-#: company/templates/company/supplier_part.html:75 label/models.py:119
-#: order/models.py:158 part/models.py:682
-#: part/templates/part/part_base.html:246
+#: InvenTree/models.py:250 build/models.py:207
+#: build/templates/build/detail.html:25 company/models.py:354
+#: company/models.py:570 company/templates/company/manufacturer_part.html:80
+#: company/templates/company/supplier_part.html:81 label/models.py:119
+#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30
#: part/templates/part/set_category.html:14 report/models.py:194
-#: report/models.py:551 report/models.py:590
+#: report/models.py:553 report/models.py:592
#: report/templates/report/inventree_build_order_base.html:118
-#: templates/InvenTree/settings/header.html:9
-#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217
-#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344
+#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214
+#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621
+#: templates/js/translated/company.js:344
#: templates/js/translated/company.js:547
-#: templates/js/translated/company.js:836 templates/js/translated/order.js:672
-#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056
-#: templates/js/translated/part.js:536 templates/js/translated/part.js:724
-#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153
-#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819
-#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519
+#: templates/js/translated/company.js:836 templates/js/translated/order.js:673
+#: templates/js/translated/order.js:833 templates/js/translated/order.js:1069
+#: templates/js/translated/part.js:557 templates/js/translated/part.js:745
+#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291
+#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121
+#: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904
msgid "Description"
msgstr "Descrizione"
-#: InvenTree/models.py:208
+#: InvenTree/models.py:251
msgid "Description (optional)"
msgstr "Descrizione (opzionale)"
-#: InvenTree/models.py:216
+#: InvenTree/models.py:259
msgid "parent"
msgstr "genitore"
-#: InvenTree/serializers.py:55 part/models.py:2475
+#: InvenTree/serializers.py:62 part/models.py:2674
msgid "Must be a valid number"
msgstr "Deve essere un numero valido"
-#: InvenTree/serializers.py:244
+#: InvenTree/serializers.py:251
msgid "Filename"
msgstr "Nome del file"
-#: InvenTree/settings.py:529
+#: InvenTree/settings.py:663
msgid "German"
msgstr "Tedesco"
-#: InvenTree/settings.py:530
+#: InvenTree/settings.py:664
msgid "Greek"
msgstr "Greco"
-#: InvenTree/settings.py:531
+#: InvenTree/settings.py:665
msgid "English"
msgstr "Inglese"
-#: InvenTree/settings.py:532
+#: InvenTree/settings.py:666
msgid "Spanish"
msgstr "Spagnolo"
-#: InvenTree/settings.py:533
+#: InvenTree/settings.py:667
+msgid "Spanish (Mexican)"
+msgstr ""
+
+#: InvenTree/settings.py:668
msgid "French"
msgstr "Francese"
-#: InvenTree/settings.py:534
+#: InvenTree/settings.py:669
msgid "Hebrew"
msgstr "Ebraico"
-#: InvenTree/settings.py:535
+#: InvenTree/settings.py:670
msgid "Italian"
msgstr "Italiano"
-#: InvenTree/settings.py:536
+#: InvenTree/settings.py:671
msgid "Japanese"
msgstr "Giapponese"
-#: InvenTree/settings.py:537
+#: InvenTree/settings.py:672
msgid "Korean"
msgstr "Coreano"
-#: InvenTree/settings.py:538
+#: InvenTree/settings.py:673
msgid "Dutch"
msgstr "Olandese"
-#: InvenTree/settings.py:539
+#: InvenTree/settings.py:674
msgid "Norwegian"
msgstr "Norvegese"
-#: InvenTree/settings.py:540
+#: InvenTree/settings.py:675
msgid "Polish"
msgstr "Polacco"
-#: InvenTree/settings.py:541
+#: InvenTree/settings.py:676
+msgid "Portugese"
+msgstr ""
+
+#: InvenTree/settings.py:677
msgid "Russian"
msgstr "Russo"
-#: InvenTree/settings.py:542
+#: InvenTree/settings.py:678
msgid "Swedish"
msgstr "Svedese"
-#: InvenTree/settings.py:543
+#: InvenTree/settings.py:679
msgid "Thai"
msgstr "Thailandese"
-#: InvenTree/settings.py:544
+#: InvenTree/settings.py:680
msgid "Turkish"
msgstr "Turco"
-#: InvenTree/settings.py:545
+#: InvenTree/settings.py:681
msgid "Vietnamese"
msgstr "Vietnamita"
-#: InvenTree/settings.py:546
+#: InvenTree/settings.py:682
msgid "Chinese"
msgstr "Cinese"
@@ -302,196 +308,196 @@ msgstr "Server di posta non configurato"
msgid "InvenTree system health checks failed"
msgstr "Controlli di sistema InvenTree falliti"
-#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145
-#: InvenTree/status_codes.py:314
+#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142
+#: InvenTree/status_codes.py:311
msgid "Pending"
msgstr "In attesa"
-#: InvenTree/status_codes.py:105
+#: InvenTree/status_codes.py:102
msgid "Placed"
msgstr "Inviato"
-#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317
+#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:314
msgid "Complete"
msgstr "Completo"
-#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147
-#: InvenTree/status_codes.py:316
+#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144
+#: InvenTree/status_codes.py:313
msgid "Cancelled"
msgstr "Annullato"
-#: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148
-#: InvenTree/status_codes.py:190
+#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145
+#: InvenTree/status_codes.py:187
msgid "Lost"
msgstr "Perso"
-#: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149
-#: InvenTree/status_codes.py:192
+#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146
+#: InvenTree/status_codes.py:189
msgid "Returned"
msgstr "Reso"
-#: InvenTree/status_codes.py:146
-#: order/templates/order/sales_order_base.html:131
+#: InvenTree/status_codes.py:143
+#: order/templates/order/sales_order_base.html:147
msgid "Shipped"
msgstr "Spedito"
-#: InvenTree/status_codes.py:186
+#: InvenTree/status_codes.py:183
msgid "OK"
msgstr "OK"
-#: InvenTree/status_codes.py:187
+#: InvenTree/status_codes.py:184
msgid "Attention needed"
msgstr "Attenzione necessaria"
-#: InvenTree/status_codes.py:188
+#: InvenTree/status_codes.py:185
msgid "Damaged"
msgstr "Danneggiato"
-#: InvenTree/status_codes.py:189
+#: InvenTree/status_codes.py:186
msgid "Destroyed"
msgstr "Distrutto"
-#: InvenTree/status_codes.py:191
+#: InvenTree/status_codes.py:188
msgid "Rejected"
msgstr "Respinto"
-#: InvenTree/status_codes.py:272
+#: InvenTree/status_codes.py:269
msgid "Legacy stock tracking entry"
msgstr "Voce di tracciamento stock preesistente"
-#: InvenTree/status_codes.py:274
+#: InvenTree/status_codes.py:271
msgid "Stock item created"
msgstr "Elemento stock creato"
-#: InvenTree/status_codes.py:276
+#: InvenTree/status_codes.py:273
msgid "Edited stock item"
msgstr "Elemento stock modificato"
-#: InvenTree/status_codes.py:277
+#: InvenTree/status_codes.py:274
msgid "Assigned serial number"
msgstr "Numero di serie assegnato"
-#: InvenTree/status_codes.py:279
+#: InvenTree/status_codes.py:276
msgid "Stock counted"
msgstr "Stock contato"
-#: InvenTree/status_codes.py:280
+#: InvenTree/status_codes.py:277
msgid "Stock manually added"
msgstr "Stock aggiunto manualmente"
-#: InvenTree/status_codes.py:281
+#: InvenTree/status_codes.py:278
msgid "Stock manually removed"
msgstr "Stock rimosso manualmente"
-#: InvenTree/status_codes.py:283
+#: InvenTree/status_codes.py:280
msgid "Location changed"
msgstr "Posizione cambiata"
-#: InvenTree/status_codes.py:285
+#: InvenTree/status_codes.py:282
msgid "Installed into assembly"
msgstr "Installato nell'assemblaggio"
-#: InvenTree/status_codes.py:286
+#: InvenTree/status_codes.py:283
msgid "Removed from assembly"
msgstr "Rimosso dall'assemblaggio"
-#: InvenTree/status_codes.py:288
+#: InvenTree/status_codes.py:285
msgid "Installed component item"
msgstr "Componente installato"
-#: InvenTree/status_codes.py:289
+#: InvenTree/status_codes.py:286
msgid "Removed component item"
msgstr "Elemento componente rimosso"
-#: InvenTree/status_codes.py:291
+#: InvenTree/status_codes.py:288
msgid "Split from parent item"
msgstr "Diviso dall'elemento genitore"
-#: InvenTree/status_codes.py:292
+#: InvenTree/status_codes.py:289
msgid "Split child item"
msgstr "Dividi elemento figlio"
-#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186
+#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202
msgid "Sent to customer"
msgstr "Inviato al cliente"
-#: InvenTree/status_codes.py:295
+#: InvenTree/status_codes.py:292
msgid "Returned from customer"
msgstr "Restituito dal cliente"
-#: InvenTree/status_codes.py:297
+#: InvenTree/status_codes.py:294
msgid "Build order output created"
msgstr "Genera l'output dell'ordine creato"
-#: InvenTree/status_codes.py:298
+#: InvenTree/status_codes.py:295
msgid "Build order output completed"
msgstr "Build order output completato"
-#: InvenTree/status_codes.py:300
+#: InvenTree/status_codes.py:297
msgid "Received against purchase order"
msgstr "Ricevuto contro l'ordine di acquisto"
-#: InvenTree/status_codes.py:315
+#: InvenTree/status_codes.py:312
msgid "Production"
msgstr "Produzione"
-#: InvenTree/validators.py:22
+#: InvenTree/validators.py:23
msgid "Not a valid currency code"
msgstr "Non è un codice valuta valido"
-#: InvenTree/validators.py:50
+#: InvenTree/validators.py:51
msgid "Invalid character in part name"
msgstr "Carattere non valido nel nome del file"
-#: InvenTree/validators.py:63
+#: InvenTree/validators.py:64
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr ""
-#: InvenTree/validators.py:77 InvenTree/validators.py:91
-#: InvenTree/validators.py:105
+#: InvenTree/validators.py:78 InvenTree/validators.py:92
+#: InvenTree/validators.py:106
#, python-brace-format
msgid "Reference must match pattern {pattern}"
msgstr ""
-#: InvenTree/validators.py:113
+#: InvenTree/validators.py:114
#, python-brace-format
msgid "Illegal character in name ({x})"
msgstr ""
-#: InvenTree/validators.py:132 InvenTree/validators.py:148
+#: InvenTree/validators.py:133 InvenTree/validators.py:149
msgid "Overage value must not be negative"
msgstr ""
-#: InvenTree/validators.py:150
+#: InvenTree/validators.py:151
msgid "Overage must not exceed 100%"
msgstr ""
-#: InvenTree/validators.py:157
+#: InvenTree/validators.py:158
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:616
+#: InvenTree/views.py:536
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:665
+#: InvenTree/views.py:585
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:710
+#: InvenTree/views.py:630
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:954 templates/navbar.html:97
+#: InvenTree/views.py:863 templates/navbar.html:101
msgid "System Information"
msgstr ""
@@ -535,599 +541,568 @@ msgstr ""
msgid "Barcode associated with StockItem"
msgstr ""
-#: build/api.py:213
-msgid "Matching build order does not exist"
-msgstr ""
-
-#: build/forms.py:37
-msgid "Build Order reference"
-msgstr ""
-
-#: build/forms.py:38
-msgid "Order target date"
-msgstr ""
-
-#: build/forms.py:42 build/templates/build/build_base.html:146
-#: build/templates/build/detail.html:124
-#: order/templates/order/order_base.html:124
-#: order/templates/order/sales_order_base.html:124
-#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689
-#: templates/js/translated/order.js:1074
-msgid "Target Date"
-msgstr ""
-
-#: build/forms.py:43 build/models.py:279
-msgid "Target date for build completion. Build will be overdue after this date."
-msgstr ""
-
-#: build/forms.py:48 build/forms.py:90 build/models.py:1281
-#: build/templates/build/allocation_card.html:23
-#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:1087
-#: company/forms.py:42 company/templates/company/supplier_part.html:226
-#: order/forms.py:101 order/forms.py:123 order/models.py:720
-#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249
-#: part/forms.py:265 part/forms.py:281 part/models.py:2377
+#: build/forms.py:36 build/models.py:1283
+#: build/templates/build/build_base.html:124
+#: build/templates/build/detail.html:35 common/models.py:1225
+#: company/forms.py:42 company/templates/company/supplier_part.html:251
+#: order/forms.py:102 order/models.py:729 order/models.py:991
+#: order/templates/order/order_wizard/match_parts.html:30
+#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237
+#: part/forms.py:253 part/forms.py:269 part/models.py:2576
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030
+#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
-#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:140 stock/templates/stock/item_base.html:269
-#: stock/templates/stock/stock_adjust.html:18
-#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264
-#: templates/js/translated/build.js:314 templates/js/translated/build.js:638
-#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515
-#: templates/js/translated/model_renderers.js:74
-#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170
-#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444
-#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487
-#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654
-#: templates/js/translated/stock.js:1829
+#: report/templates/report/inventree_test_report_base.html:81
+#: report/templates/report/inventree_test_report_base.html:139
+#: stock/forms.py:156 stock/serializers.py:286
+#: stock/templates/stock/item_base.html:256
+#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441
+#: templates/js/translated/build.js:235 templates/js/translated/build.js:435
+#: templates/js/translated/build.js:629 templates/js/translated/build.js:639
+#: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362
+#: templates/js/translated/model_renderers.js:99
+#: templates/js/translated/order.js:870 templates/js/translated/order.js:1183
+#: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268
+#: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457
+#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626
+#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347
+#: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141
msgid "Quantity"
msgstr "Quantità"
-#: build/forms.py:49
-msgid "Number of items to build"
-msgstr ""
-
-#: build/forms.py:91
+#: build/forms.py:37
msgid "Enter quantity for build output"
msgstr ""
-#: build/forms.py:95 order/forms.py:95 stock/forms.py:83
+#: build/forms.py:41 order/forms.py:96 stock/forms.py:95
+#: stock/serializers.py:307 templates/js/translated/stock.js:194
+#: templates/js/translated/stock.js:348
msgid "Serial Numbers"
msgstr ""
-#: build/forms.py:97
+#: build/forms.py:43
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/forms.py:103
+#: build/forms.py:49
msgid "Confirm creation of build output"
msgstr ""
-#: build/forms.py:124
+#: build/forms.py:70
msgid "Confirm deletion of build output"
msgstr ""
-#: build/forms.py:145
-msgid "Confirm unallocation of stock"
-msgstr ""
-
-#: build/forms.py:174
+#: build/forms.py:94
msgid "Mark build as complete"
msgstr ""
-#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284
-#: stock/forms.py:280 stock/serializers.py:553
-#: stock/templates/stock/item_base.html:299
-#: stock/templates/stock/stock_adjust.html:17
-#: templates/js/translated/barcode.js:385
-#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299
-#: templates/js/translated/build.js:650 templates/js/translated/order.js:347
-#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263
-#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179
-#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921
-#: templates/js/translated/stock.js:1546
-msgid "Location"
-msgstr ""
-
-#: build/forms.py:199
-msgid "Location of completed parts"
-msgstr ""
-
-#: build/forms.py:203 build/templates/build/build_base.html:138
-#: build/templates/build/detail.html:62 order/models.py:563
-#: order/serializers.py:238 stock/templates/stock/item_base.html:422
-#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251
-#: templates/js/translated/order.js:430 templates/js/translated/order.js:676
-#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896
-#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845
-msgid "Status"
-msgstr ""
-
-#: build/forms.py:204
-msgid "Build output stock status"
-msgstr ""
-
-#: build/forms.py:211
-msgid "Confirm incomplete"
-msgstr ""
-
-#: build/forms.py:212
-msgid "Confirm completion with incomplete stock allocation"
-msgstr ""
-
-#: build/forms.py:215
-msgid "Confirm build completion"
-msgstr ""
-
-#: build/forms.py:240
+#: build/forms.py:107
msgid "Confirm cancel"
msgstr ""
-#: build/forms.py:240 build/views.py:65
+#: build/forms.py:107 build/views.py:65
msgid "Confirm build cancellation"
msgstr ""
-#: build/models.py:115
+#: build/models.py:133
msgid "Invalid choice for parent build"
msgstr ""
-#: build/models.py:119 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:73
+#: build/models.py:137 build/templates/build/build_base.html:9
+#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:276
+#: templates/js/translated/build.js:397
msgid "Build Order"
msgstr ""
-#: build/models.py:120 build/templates/build/index.html:8
-#: build/templates/build/index.html:15
-#: order/templates/order/sales_order_detail.html:34
-#: order/templates/order/so_navbar.html:19
-#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50
-#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229
-#: templates/InvenTree/search.html:171
-#: templates/InvenTree/settings/navbar.html:113
-#: templates/InvenTree/settings/navbar.html:115 users/models.py:44
+#: build/models.py:138 build/templates/build/build_base.html:13
+#: build/templates/build/index.html:8 build/templates/build/index.html:12
+#: order/templates/order/sales_order_detail.html:42
+#: templates/InvenTree/index.html:221 templates/InvenTree/search.html:145
+#: users/models.py:44
msgid "Build Orders"
msgstr ""
-#: build/models.py:180
+#: build/models.py:198
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:181 order/models.py:246 order/models.py:547
-#: order/models.py:727 part/models.py:2386
+#: build/models.py:199 order/models.py:249 order/models.py:556
+#: order/models.py:736 part/models.py:2585
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734
-#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863
-#: templates/js/translated/order.js:1438
+#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119
+#: templates/js/translated/order.js:864 templates/js/translated/order.js:1451
msgid "Reference"
msgstr ""
-#: build/models.py:192
+#: build/models.py:210
msgid "Brief description of the build"
msgstr ""
-#: build/models.py:201 build/templates/build/build_base.html:163
-#: build/templates/build/detail.html:80
+#: build/models.py:219 build/templates/build/build_base.html:156
+#: build/templates/build/detail.html:88
msgid "Parent Build"
msgstr ""
-#: build/models.py:202
+#: build/models.py:220
msgid "BuildOrder to which this build is allocated"
msgstr ""
-#: build/models.py:207 build/templates/build/build_base.html:128
-#: build/templates/build/detail.html:29 company/models.py:705
-#: order/models.py:780 order/models.py:851
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298
-#: part/models.py:2000 part/models.py:2016 part/models.py:2035
-#: part/models.py:2053 part/models.py:2132 part/models.py:2254
-#: part/models.py:2361 part/templates/part/detail.html:199
+#: build/models.py:225 build/templates/build/build_base.html:119
+#: build/templates/build/detail.html:30 company/models.py:705
+#: order/models.py:789 order/models.py:860
+#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357
+#: part/models.py:2151 part/models.py:2167 part/models.py:2186
+#: part/models.py:2203 part/models.py:2305 part/models.py:2427
+#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
-#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384
-#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611
-#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222
-#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488
-#: templates/js/translated/company.js:745 templates/js/translated/order.js:425
-#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422
-#: templates/js/translated/part.js:705 templates/js/translated/part.js:875
-#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776
-#: templates/js/translated/stock.js:1817
+#: templates/InvenTree/search.html:86
+#: templates/email/build_order_required_stock.html:17
+#: templates/email/low_stock_notification.html:16
+#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213
+#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620
+#: templates/js/translated/build.js:988 templates/js/translated/build.js:1359
+#: templates/js/translated/build.js:1626 templates/js/translated/company.js:488
+#: templates/js/translated/company.js:745 templates/js/translated/order.js:426
+#: templates/js/translated/order.js:818 templates/js/translated/order.js:1435
+#: templates/js/translated/part.js:726 templates/js/translated/part.js:892
+#: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:2129
msgid "Part"
msgstr ""
-#: build/models.py:215
+#: build/models.py:233
msgid "Select part to build"
msgstr ""
-#: build/models.py:220
+#: build/models.py:238
msgid "Sales Order Reference"
msgstr ""
-#: build/models.py:224
+#: build/models.py:242
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:229 templates/js/translated/build.js:962
+#: build/models.py:247 templates/js/translated/build.js:1347
msgid "Source Location"
msgstr ""
-#: build/models.py:233
+#: build/models.py:251
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr ""
-#: build/models.py:238
+#: build/models.py:256
msgid "Destination Location"
msgstr ""
-#: build/models.py:242
+#: build/models.py:260
msgid "Select location where the completed items will be stored"
msgstr ""
-#: build/models.py:246
+#: build/models.py:264
msgid "Build Quantity"
msgstr ""
-#: build/models.py:249
+#: build/models.py:267
msgid "Number of stock items to build"
msgstr ""
-#: build/models.py:253
+#: build/models.py:271
msgid "Completed items"
msgstr ""
-#: build/models.py:255
+#: build/models.py:273
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:259 part/templates/part/part_base.html:198
+#: build/models.py:277 part/templates/part/part_base.html:216
msgid "Build Status"
msgstr ""
-#: build/models.py:263
+#: build/models.py:281
msgid "Build status code"
msgstr ""
-#: build/models.py:267 stock/models.py:513
+#: build/models.py:285 stock/models.py:544
msgid "Batch Code"
msgstr ""
-#: build/models.py:271
+#: build/models.py:289
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:274 order/models.py:162 part/models.py:854
-#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069
+#: build/models.py:292 order/models.py:165 part/models.py:936
+#: part/templates/part/detail.html:86 templates/js/translated/order.js:1082
msgid "Creation Date"
msgstr ""
-#: build/models.py:278 order/models.py:569
+#: build/models.py:296 order/models.py:578
msgid "Target completion date"
msgstr ""
-#: build/models.py:282 order/models.py:288
-#: templates/js/translated/build.js:1293
+#: build/models.py:297
+msgid "Target date for build completion. Build will be overdue after this date."
+msgstr ""
+
+#: build/models.py:300 order/models.py:291
+#: templates/js/translated/build.js:1697
msgid "Completion Date"
msgstr ""
-#: build/models.py:288
+#: build/models.py:306
msgid "completed by"
msgstr ""
-#: build/models.py:296 templates/js/translated/build.js:1264
+#: build/models.py:314 templates/js/translated/build.js:1668
msgid "Issued by"
msgstr ""
-#: build/models.py:297
+#: build/models.py:315
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:305 build/templates/build/build_base.html:184
-#: build/templates/build/detail.html:108 order/models.py:176
-#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:145 part/models.py:858
+#: build/models.py:323 build/templates/build/build_base.html:177
+#: build/templates/build/detail.html:116 order/models.py:179
+#: order/templates/order/order_base.html:154
+#: order/templates/order/sales_order_base.html:161 part/models.py:940
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1680
msgid "Responsible"
msgstr ""
-#: build/models.py:306
+#: build/models.py:324
msgid "User responsible for this build order"
msgstr ""
-#: build/models.py:311 build/templates/build/detail.html:94
-#: company/templates/company/manufacturer_part.html:83
-#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:266 stock/models.py:507
-#: stock/templates/stock/item_base.html:359
+#: build/models.py:329 build/templates/build/detail.html:102
+#: company/templates/company/manufacturer_part.html:87
+#: company/templates/company/supplier_part.html:88
+#: part/templates/part/detail.html:80 stock/models.py:538
+#: stock/templates/stock/item_base.html:346
msgid "External Link"
msgstr ""
-#: build/models.py:312 part/models.py:716 stock/models.py:509
+#: build/models.py:330 part/models.py:798 stock/models.py:540
msgid "Link to external URL"
msgstr ""
-#: build/models.py:316 build/templates/build/navbar.html:52
-#: company/models.py:142 company/models.py:577
-#: company/templates/company/navbar.html:69
-#: company/templates/company/navbar.html:72 order/models.py:180
-#: order/models.py:729 order/templates/order/po_navbar.html:38
-#: order/templates/order/po_navbar.html:41
-#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:843
-#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120
-#: part/templates/part/navbar.html:123
+#: build/models.py:334 build/serializers.py:201 company/models.py:142
+#: company/models.py:577 order/models.py:183 order/models.py:738
+#: part/models.py:925 part/templates/part/detail.html:223
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579
-#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451
-#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59
-#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841
-#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540
-#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040
+#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610
+#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325
+#: stock/serializers.py:584 templates/js/translated/barcode.js:58
+#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841
+#: templates/js/translated/order.js:963 templates/js/translated/order.js:1561
+#: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340
msgid "Notes"
msgstr ""
-#: build/models.py:317
+#: build/models.py:335
msgid "Extra build notes"
msgstr ""
-#: build/models.py:714
+#: build/models.py:710
msgid "No build output specified"
msgstr ""
-#: build/models.py:717
+#: build/models.py:713
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:720
+#: build/models.py:716
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1102
+#: build/models.py:1108
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1111
+#: build/models.py:1117
#, python-brace-format
msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1121
+#: build/models.py:1127
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1127 order/models.py:955
+#: build/models.py:1133 order/models.py:964
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1133
+#: build/models.py:1139
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1191
+#: build/models.py:1193
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1251 stock/templates/stock/item_base.html:331
-#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195
-#: templates/navbar.html:35
+#: build/models.py:1253 stock/templates/stock/item_base.html:318
+#: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599
+#: templates/navbar.html:33
msgid "Build"
msgstr ""
-#: build/models.py:1252
+#: build/models.py:1254
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1268 build/serializers.py:151
+#: build/models.py:1270 build/serializers.py:328
#: stock/templates/stock/item_base.html:8
-#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:353
-#: stock/templates/stock/stock_adjust.html:16
-#: templates/js/translated/build.js:287 templates/js/translated/build.js:292
-#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148
-#: templates/js/translated/stock.js:1605
+#: stock/templates/stock/item_base.html:16
+#: stock/templates/stock/item_base.html:340
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:413
+#: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742
+#: templates/js/translated/order.js:1156 templates/js/translated/order.js:1161
+#: templates/js/translated/stock.js:1990
msgid "Stock Item"
msgstr ""
-#: build/models.py:1269
+#: build/models.py:1271
msgid "Source stock item"
msgstr ""
-#: build/models.py:1282
+#: build/models.py:1284
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1290
+#: build/models.py:1292
msgid "Install into"
msgstr ""
-#: build/models.py:1291
+#: build/models.py:1293
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:133 part/models.py:2501
-msgid "BOM Item"
-msgstr ""
-
-#: build/serializers.py:142
-msgid "bom_item.part must point to the same part as the build order"
-msgstr ""
-
-#: build/serializers.py:157
-msgid "Item must be in stock"
-msgstr ""
-
-#: build/serializers.py:171 order/models.py:313 order/serializers.py:231
-#: stock/models.py:351 stock/models.py:1072
-msgid "Quantity must be greater than zero"
-msgstr ""
-
-#: build/serializers.py:180
+#: build/serializers.py:137 build/serializers.py:357
msgid "Build Output"
msgstr ""
+#: build/serializers.py:146
+msgid "Build output does not match the parent build"
+msgstr ""
+
+#: build/serializers.py:150
+msgid "Output part does not match BuildOrder part"
+msgstr ""
+
+#: build/serializers.py:154
+msgid "This build output has already been completed"
+msgstr ""
+
+#: build/serializers.py:158
+msgid "This build output is not fully allocated"
+msgstr ""
+
+#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285
+#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686
+#: stock/templates/stock/item_base.html:286
+#: templates/js/translated/barcode.js:384
+#: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420
+#: templates/js/translated/build.js:1027 templates/js/translated/order.js:348
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1276
+#: templates/js/translated/order.js:1282 templates/js/translated/part.js:180
+#: templates/js/translated/stock.js:480 templates/js/translated/stock.js:1221
+#: templates/js/translated/stock.js:1931
+msgid "Location"
+msgstr ""
+
+#: build/serializers.py:191
+msgid "Location for completed build outputs"
+msgstr ""
+
+#: build/serializers.py:197 build/templates/build/build_base.html:129
+#: build/templates/build/detail.html:63 order/models.py:572
+#: order/serializers.py:238 stock/templates/stock/item_base.html:409
+#: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655
+#: templates/js/translated/order.js:431 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196
+#: templates/js/translated/stock.js:2008 templates/js/translated/stock.js:2157
+msgid "Status"
+msgstr ""
+
#: build/serializers.py:213
+msgid "A list of build outputs must be provided"
+msgstr ""
+
+#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700
+#: part/models.py:2859
+msgid "BOM Item"
+msgstr ""
+
+#: build/serializers.py:269
+#, fuzzy
+#| msgid "Build order output created"
+msgid "Build output"
+msgstr "Genera l'output dell'ordine creato"
+
+#: build/serializers.py:278
+msgid "Build output must point to the same build"
+msgstr ""
+
+#: build/serializers.py:319
+msgid "bom_item.part must point to the same part as the build order"
+msgstr ""
+
+#: build/serializers.py:334
+msgid "Item must be in stock"
+msgstr ""
+
+#: build/serializers.py:348 order/models.py:316 order/serializers.py:231
+#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298
+msgid "Quantity must be greater than zero"
+msgstr ""
+
+#: build/serializers.py:390
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:219
+#: build/serializers.py:396
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:226
+#: build/serializers.py:403
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:254
+#: build/serializers.py:431
msgid "Allocation items must be provided"
msgstr ""
-#: build/templates/build/allocation_card.html:21
-#: build/templates/build/complete_output.html:46
-#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:501 stock/templates/stock/item_base.html:251
-#: templates/js/translated/build.js:636
-#: templates/js/translated/model_renderers.js:72
-#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342
-msgid "Serial Number"
+#: build/tasks.py:92
+msgid "Stock required for build order"
msgstr ""
-#: build/templates/build/build_base.html:18
+#: build/templates/build/build_base.html:39
+#: order/templates/order/order_base.html:28
+#: order/templates/order/sales_order_base.html:38
+msgid "Print actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:43
+msgid "Print build order report"
+msgstr ""
+
+#: build/templates/build/build_base.html:50
+msgid "Build actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:54
+msgid "Edit Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:56
+#: build/templates/build/build_base.html:207 build/views.py:56
+msgid "Cancel Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:59
+msgid "Delete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:64
+#: build/templates/build/build_base.html:65
+#: build/templates/build/build_base.html:223
+msgid "Complete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:79
#, python-format
msgid "This Build Order is allocated to Sales Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:25
+#: build/templates/build/build_base.html:86
#, python-format
msgid "This Build Order is a child of Build Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:32
+#: build/templates/build/build_base.html:93
msgid "Build Order is ready to mark as completed"
msgstr ""
-#: build/templates/build/build_base.html:37
+#: build/templates/build/build_base.html:98
msgid "Build Order cannot be completed as outstanding outputs remain"
msgstr ""
-#: build/templates/build/build_base.html:42
+#: build/templates/build/build_base.html:103
msgid "Required build quantity has not yet been completed"
msgstr ""
-#: build/templates/build/build_base.html:47
+#: build/templates/build/build_base.html:108
msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
-#: build/templates/build/build_base.html:75
-#: company/templates/company/company_base.html:40
-#: company/templates/company/manufacturer_part.html:29
-#: company/templates/company/supplier_part.html:30
-#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:30
-#: stock/templates/stock/item_base.html:62
-#: stock/templates/stock/location.html:31
-msgid "Admin view"
+#: build/templates/build/build_base.html:138
+#: build/templates/build/detail.html:132
+#: order/templates/order/order_base.html:140
+#: order/templates/order/sales_order_base.html:140
+#: report/templates/report/inventree_build_order_base.html:126
+#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690
+#: templates/js/translated/order.js:1087
+msgid "Target Date"
msgstr ""
-#: build/templates/build/build_base.html:81
-#: build/templates/build/build_base.html:150
-#: order/templates/order/order_base.html:32
-#: order/templates/order/order_base.html:86
-#: order/templates/order/sales_order_base.html:43
-#: order/templates/order/sales_order_base.html:93
-#: templates/js/translated/table_filters.js:272
-#: templates/js/translated/table_filters.js:300
-#: templates/js/translated/table_filters.js:317
-msgid "Overdue"
-msgstr ""
-
-#: build/templates/build/build_base.html:90
-msgid "Print actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:94
-msgid "Print Build Order"
-msgstr ""
-
-#: build/templates/build/build_base.html:100
-#: build/templates/build/build_base.html:222
-msgid "Complete Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:105
-msgid "Build actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:109
-msgid "Edit Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:111
-#: build/templates/build/build_base.html:206 build/views.py:56
-msgid "Cancel Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:114
-msgid "Delete Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:124
-#: build/templates/build/detail.html:15
-msgid "Build Details"
-msgstr ""
-
-#: build/templates/build/build_base.html:150
+#: build/templates/build/build_base.html:143
#, python-format
msgid "This build was due on %(target)s"
msgstr ""
-#: build/templates/build/build_base.html:157
-#: build/templates/build/detail.html:67
-msgid "Progress"
+#: build/templates/build/build_base.html:143
+#: build/templates/build/build_base.html:188
+#: order/templates/order/order_base.html:81
+#: order/templates/order/order_base.html:102
+#: order/templates/order/sales_order_base.html:78
+#: order/templates/order/sales_order_base.html:107
+#: templates/js/translated/table_filters.js:288
+#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:333
+msgid "Overdue"
msgstr ""
-#: build/templates/build/build_base.html:170
-#: build/templates/build/detail.html:87 order/models.py:848
+#: build/templates/build/build_base.html:150
+#: build/templates/build/detail.html:68 build/templates/build/detail.html:143
+#: templates/js/translated/build.js:1641
+#: templates/js/translated/table_filters.js:298
+msgid "Completed"
+msgstr ""
+
+#: build/templates/build/build_base.html:163
+#: build/templates/build/detail.html:95 order/models.py:857
#: order/templates/order/sales_order_base.html:9
-#: order/templates/order/sales_order_base.html:35
+#: order/templates/order/sales_order_base.html:28
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:293
-#: templates/js/translated/order.js:1016
+#: stock/templates/stock/item_base.html:280
+#: templates/js/translated/order.js:1029
msgid "Sales Order"
msgstr ""
-#: build/templates/build/build_base.html:177
-#: build/templates/build/detail.html:101
+#: build/templates/build/build_base.html:170
+#: build/templates/build/detail.html:109
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:214
+#: build/templates/build/build_base.html:215
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:215
+#: build/templates/build/build_base.html:216
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
@@ -1175,220 +1150,197 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/templates/build/complete_output.html:10
-msgid "Stock allocation is complete for this output"
+#: build/templates/build/detail.html:16
+msgid "Build Details"
msgstr ""
-#: build/templates/build/complete_output.html:14
-msgid "Stock allocation is incomplete"
-msgstr ""
-
-#: build/templates/build/complete_output.html:20
-msgid "tracked parts have not been fully allocated"
-msgstr ""
-
-#: build/templates/build/complete_output.html:41
-msgid "The following items will be created"
-msgstr ""
-
-#: build/templates/build/detail.html:38
+#: build/templates/build/detail.html:39
msgid "Stock Source"
msgstr ""
-#: build/templates/build/detail.html:43
+#: build/templates/build/detail.html:44
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134
-#: templates/js/translated/order.js:431 templates/js/translated/order.js:939
+#: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150
+#: templates/js/translated/order.js:432 templates/js/translated/order.js:952
msgid "Destination"
msgstr ""
-#: build/templates/build/detail.html:56
+#: build/templates/build/detail.html:57
msgid "Destination location not specified"
msgstr ""
-#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:317
-#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852
-#: templates/js/translated/table_filters.js:129
-#: templates/js/translated/table_filters.js:211
+#: build/templates/build/detail.html:74 templates/js/translated/build.js:647
+msgid "Allocated Parts"
+msgstr ""
+
+#: build/templates/build/detail.html:81
+#: stock/templates/stock/item_base.html:304
+#: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164
+#: templates/js/translated/table_filters.js:145
+#: templates/js/translated/table_filters.js:227
msgid "Batch"
msgstr ""
-#: build/templates/build/detail.html:119
-#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:118
-#: templates/js/translated/build.js:1259
+#: build/templates/build/detail.html:127
+#: order/templates/order/order_base.html:127
+#: order/templates/order/sales_order_base.html:134
+#: templates/js/translated/build.js:1663
msgid "Created"
msgstr ""
-#: build/templates/build/detail.html:130
+#: build/templates/build/detail.html:138
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237
-#: templates/js/translated/table_filters.js:282
-msgid "Completed"
-msgstr ""
-
-#: build/templates/build/detail.html:139
+#: build/templates/build/detail.html:147
msgid "Build not complete"
msgstr ""
-#: build/templates/build/detail.html:150 build/templates/build/navbar.html:35
+#: build/templates/build/detail.html:158
msgid "Child Build Orders"
msgstr ""
-#: build/templates/build/detail.html:166
+#: build/templates/build/detail.html:173
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:172
-msgid "Allocate stock to build"
-msgstr ""
-
-#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20
-#: build/templates/build/navbar.html:23
-msgid "Allocate Stock"
-msgstr ""
-
-#: build/templates/build/detail.html:175 templates/js/translated/build.js:817
+#: build/templates/build/detail.html:177 templates/js/translated/build.js:1202
msgid "Unallocate stock"
msgstr ""
-#: build/templates/build/detail.html:176 build/views.py:257
+#: build/templates/build/detail.html:178
msgid "Unallocate Stock"
msgstr ""
-#: build/templates/build/detail.html:179
+#: build/templates/build/detail.html:180
+msgid "Allocate stock to build"
+msgstr ""
+
+#: build/templates/build/detail.html:181
+msgid "Allocate Stock"
+msgstr ""
+
+#: build/templates/build/detail.html:184
msgid "Order required parts"
msgstr ""
-#: build/templates/build/detail.html:180
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72 order/views.py:509
-#: part/templates/part/category.html:140
+#: build/templates/build/detail.html:185
+#: company/templates/company/detail.html:38
+#: company/templates/company/detail.html:85 order/views.py:509
+#: part/templates/part/category.html:166
msgid "Order Parts"
msgstr ""
-#: build/templates/build/detail.html:186
+#: build/templates/build/detail.html:197
msgid "Untracked stock has been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:190
+#: build/templates/build/detail.html:201
msgid "Untracked stock has not been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:197
+#: build/templates/build/detail.html:208
msgid "Allocate selected items"
msgstr ""
-#: build/templates/build/detail.html:209
+#: build/templates/build/detail.html:218
msgid "This Build Order does not have any associated untracked BOM items"
msgstr ""
-#: build/templates/build/detail.html:218
+#: build/templates/build/detail.html:227
msgid "Incomplete Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:223
+#: build/templates/build/detail.html:231
msgid "Create new build output"
msgstr ""
-#: build/templates/build/detail.html:224
-msgid "Create New Output"
+#: build/templates/build/detail.html:232
+msgid "New Build Output"
msgstr ""
-#: build/templates/build/detail.html:237
-msgid "Create a new build output"
+#: build/templates/build/detail.html:246
+msgid "Output Actions"
msgstr ""
-#: build/templates/build/detail.html:238
-msgid "No incomplete build outputs remain."
+#: build/templates/build/detail.html:250
+msgid "Complete selected items"
msgstr ""
-#: build/templates/build/detail.html:239
-msgid "Create a new build output using the button above"
-msgstr ""
+#: build/templates/build/detail.html:251
+#, fuzzy
+#| msgid "Complete"
+msgid "Complete outputs"
+msgstr "Completo"
-#: build/templates/build/detail.html:247
+#: build/templates/build/detail.html:266
msgid "Completed Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42
-#: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35
-#: order/templates/order/sales_order_detail.html:43
-#: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173
-#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117
-#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47
-#: stock/templates/stock/navbar.html:50
+#: build/templates/build/detail.html:278
+#: order/templates/order/purchase_order_detail.html:60
+#: order/templates/order/sales_order_detail.html:52
+#: part/templates/part/detail.html:300 stock/templates/stock/item.html:95
msgid "Attachments"
msgstr ""
-#: build/templates/build/detail.html:269
+#: build/templates/build/detail.html:294
msgid "Build Notes"
msgstr ""
-#: build/templates/build/detail.html:273 build/templates/build/detail.html:414
-#: company/templates/company/detail.html:169
-#: company/templates/company/detail.html:196
-#: order/templates/order/purchase_order_detail.html:71
-#: order/templates/order/purchase_order_detail.html:104
-#: order/templates/order/sales_order_detail.html:58
-#: order/templates/order/sales_order_detail.html:85
-#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103
-#: stock/templates/stock/item.html:188
+#: build/templates/build/detail.html:298 build/templates/build/detail.html:489
+#: company/templates/company/detail.html:188
+#: company/templates/company/detail.html:215
+#: order/templates/order/purchase_order_detail.html:80
+#: order/templates/order/purchase_order_detail.html:108
+#: order/templates/order/sales_order_detail.html:72
+#: order/templates/order/sales_order_detail.html:99
+#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115
+#: stock/templates/stock/item.html:205
msgid "Edit Notes"
msgstr ""
-#: build/templates/build/detail.html:373
-#: order/templates/order/po_attachments.html:79
-#: order/templates/order/purchase_order_detail.html:166
-#: order/templates/order/sales_order_detail.html:146
-#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253
-#: templates/attachment_table.html:6
+#: build/templates/build/detail.html:448
+#: order/templates/order/purchase_order_detail.html:170
+#: order/templates/order/sales_order_detail.html:160
+#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270
+#: templates/attachment_button.html:4
msgid "Add Attachment"
msgstr ""
-#: build/templates/build/detail.html:392
-#: order/templates/order/po_attachments.html:51
-#: order/templates/order/purchase_order_detail.html:138
-#: order/templates/order/sales_order_detail.html:119
-#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221
+#: build/templates/build/detail.html:467
+#: order/templates/order/purchase_order_detail.html:142
+#: order/templates/order/sales_order_detail.html:133
+#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238
msgid "Edit Attachment"
msgstr ""
-#: build/templates/build/detail.html:399
-#: order/templates/order/po_attachments.html:58
-#: order/templates/order/purchase_order_detail.html:145
-#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230
-#: templates/js/translated/order.js:1230
+#: build/templates/build/detail.html:474
+#: order/templates/order/purchase_order_detail.html:149
+#: order/templates/order/sales_order_detail.html:139
+#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247
+#: templates/js/translated/order.js:1243
msgid "Confirm Delete Operation"
msgstr ""
-#: build/templates/build/detail.html:400
-#: order/templates/order/po_attachments.html:59
-#: order/templates/order/purchase_order_detail.html:146
-#: order/templates/order/sales_order_detail.html:126
-#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231
+#: build/templates/build/detail.html:475
+#: order/templates/order/purchase_order_detail.html:150
+#: order/templates/order/sales_order_detail.html:140
+#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248
msgid "Delete Attachment"
msgstr ""
-#: build/templates/build/detail.html:443
+#: build/templates/build/detail.html:513
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:444
+#: build/templates/build/detail.html:514
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/edit_build_item.html:7
-msgid "Alter the quantity of stock allocated to the build output"
-msgstr ""
-
-#: build/templates/build/index.html:28
+#: build/templates/build/index.html:18 part/templates/part/detail.html:433
msgid "New Build Order"
msgstr ""
@@ -1396,47 +1348,18 @@ msgstr ""
msgid "Print Build Orders"
msgstr ""
-#: build/templates/build/index.html:43
-#: order/templates/order/purchase_orders.html:27
-#: order/templates/order/sales_orders.html:27
+#: build/templates/build/index.html:44
+#: order/templates/order/purchase_orders.html:34
+#: order/templates/order/sales_orders.html:37
msgid "Display calendar view"
msgstr ""
-#: build/templates/build/index.html:46
-#: order/templates/order/purchase_orders.html:30
-#: order/templates/order/sales_orders.html:30
+#: build/templates/build/index.html:47
+#: order/templates/order/purchase_orders.html:37
+#: order/templates/order/sales_orders.html:40
msgid "Display list view"
msgstr ""
-#: build/templates/build/navbar.html:12
-msgid "Build Order Details"
-msgstr ""
-
-#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/translated/stock.js:1534
-msgid "Details"
-msgstr ""
-
-#: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31
-msgid "Build Outputs"
-msgstr ""
-
-#: build/templates/build/navbar.html:38
-msgid "Child Builds"
-msgstr ""
-
-#: build/templates/build/navbar.html:49
-msgid "Build Order Notes"
-msgstr ""
-
-#: build/templates/build/unallocate.html:10
-msgid "Are you sure you wish to unallocate all stock for this build?"
-msgstr ""
-
-#: build/templates/build/unallocate.html:12
-msgid "All incomplete stock allocations will be removed from the build"
-msgstr ""
-
#: build/views.py:76
msgid "Build was cancelled"
msgstr ""
@@ -1449,7 +1372,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:122 stock/views.py:1366
+#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290
msgid "Serial numbers already exist"
msgstr ""
@@ -1461,11 +1384,11 @@ msgstr ""
msgid "Delete Build Output"
msgstr ""
-#: build/views.py:218 build/views.py:308
+#: build/views.py:218
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:219 build/views.py:309 stock/views.py:381
+#: build/views.py:219 stock/views.py:385
msgid "Check the confirmation box"
msgstr ""
@@ -1473,7 +1396,7 @@ msgstr ""
msgid "Build output does not match build"
msgstr ""
-#: build/views.py:233 build/views.py:434
+#: build/views.py:233
msgid "Build output must be specified"
msgstr ""
@@ -1481,39 +1404,19 @@ msgstr ""
msgid "Build output deleted"
msgstr ""
-#: build/views.py:343
+#: build/views.py:261
msgid "Complete Build Order"
msgstr ""
-#: build/views.py:349
+#: build/views.py:267
msgid "Build order cannot be completed - incomplete outputs remain"
msgstr ""
-#: build/views.py:360
+#: build/views.py:278
msgid "Completed build order"
msgstr ""
-#: build/views.py:376
-msgid "Complete Build Output"
-msgstr ""
-
-#: build/views.py:418
-msgid "Invalid stock status value selected"
-msgstr ""
-
-#: build/views.py:425
-msgid "Quantity to complete cannot exceed build output quantity"
-msgstr ""
-
-#: build/views.py:431
-msgid "Confirm completion of incomplete build"
-msgstr ""
-
-#: build/views.py:530
-msgid "Build output completed"
-msgstr ""
-
-#: build/views.py:567
+#: build/views.py:319
msgid "Delete Build Order"
msgstr ""
@@ -1554,728 +1457,728 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:308 common/models.py:887 common/models.py:1048
+#: common/models.py:340 common/models.py:970 common/models.py:1178
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:310
+#: common/models.py:342
msgid "Settings value"
msgstr ""
-#: common/models.py:345
+#: common/models.py:377
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:368
+#: common/models.py:382
+msgid "Chosen value is not a valid option"
+msgstr ""
+
+#: common/models.py:405
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:379
+#: common/models.py:416
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:402
+#: common/models.py:439
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:509
+#: common/models.py:559
+msgid "No group"
+msgstr ""
+
+#: common/models.py:601
+msgid "Restart required"
+msgstr ""
+
+#: common/models.py:602
+msgid "A setting has been changed which requires a server restart"
+msgstr ""
+
+#: common/models.py:609
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:511
+#: common/models.py:611
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:515
+#: common/models.py:615
msgid "Use instance name"
msgstr ""
-#: common/models.py:516
+#: common/models.py:616
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:522 company/models.py:100 company/models.py:101
+#: common/models.py:622 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr ""
-#: common/models.py:523
+#: common/models.py:623
msgid "Internal company name"
msgstr ""
-#: common/models.py:528
+#: common/models.py:628
msgid "Base URL"
msgstr ""
-#: common/models.py:529
+#: common/models.py:629
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:535
+#: common/models.py:635
msgid "Default Currency"
msgstr ""
-#: common/models.py:536
+#: common/models.py:636
msgid "Default currency"
msgstr ""
-#: common/models.py:542
+#: common/models.py:642
msgid "Download from URL"
msgstr ""
-#: common/models.py:543
+#: common/models.py:643
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:549
+#: common/models.py:649
msgid "Barcode Support"
msgstr ""
-#: common/models.py:550
+#: common/models.py:650
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:556
+#: common/models.py:656
msgid "IPN Regex"
msgstr ""
-#: common/models.py:557
+#: common/models.py:657
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:561
+#: common/models.py:661
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:562
+#: common/models.py:662
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:568
+#: common/models.py:668
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:569
+#: common/models.py:669
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:575
+#: common/models.py:675
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:576
+#: common/models.py:676
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:582
+#: common/models.py:682
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:583
+#: common/models.py:683
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:589
+#: common/models.py:689
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:590
+#: common/models.py:690
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:596
+#: common/models.py:696
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:597
+#: common/models.py:697
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:603 part/models.py:2256 report/models.py:187
-#: stock/forms.py:224 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:351
+#: common/models.py:703 part/models.py:2429 report/models.py:187
+#: templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:367
msgid "Template"
msgstr ""
-#: common/models.py:604
+#: common/models.py:704
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:610 part/models.py:806
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:363
+#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954
+#: templates/js/translated/table_filters.js:162
+#: templates/js/translated/table_filters.js:379
msgid "Assembly"
msgstr ""
-#: common/models.py:611
+#: common/models.py:711
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:617 part/models.py:812
-#: templates/js/translated/table_filters.js:367
+#: common/models.py:717 part/models.py:894
+#: templates/js/translated/table_filters.js:383
msgid "Component"
msgstr ""
-#: common/models.py:618
+#: common/models.py:718
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:624 part/models.py:823
+#: common/models.py:724 part/models.py:905
msgid "Purchaseable"
msgstr ""
-#: common/models.py:625
+#: common/models.py:725
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:631 part/models.py:828
-#: templates/js/translated/table_filters.js:375
+#: common/models.py:731 part/models.py:910
+#: templates/js/translated/table_filters.js:391
msgid "Salable"
msgstr ""
-#: common/models.py:632
+#: common/models.py:732
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:638 part/models.py:818
+#: common/models.py:738 part/models.py:900
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:379
+#: templates/js/translated/table_filters.js:94
+#: templates/js/translated/table_filters.js:395
msgid "Trackable"
msgstr ""
-#: common/models.py:639
+#: common/models.py:739
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:645 part/models.py:838
-#: part/templates/part/part_base.html:66
+#: common/models.py:745 part/models.py:920
+#: part/templates/part/part_base.html:144
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:646
+#: common/models.py:746
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:652
+#: common/models.py:752
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:653
+#: common/models.py:753
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:659
+#: common/models.py:759
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:660
+#: common/models.py:760
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:671
+#: common/models.py:771
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:672
+#: common/models.py:772
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:678
+#: common/models.py:778
msgid "Show related parts"
msgstr ""
-#: common/models.py:679
+#: common/models.py:779
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:685
+#: common/models.py:785
msgid "Create initial stock"
msgstr ""
-#: common/models.py:686
+#: common/models.py:786
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:692
+#: common/models.py:792
msgid "Internal Prices"
msgstr ""
-#: common/models.py:693
+#: common/models.py:793
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:699
+#: common/models.py:799
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:700
+#: common/models.py:800
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:706 templates/stats.html:25
+#: common/models.py:806
+msgid "Part Name Display Format"
+msgstr ""
+
+#: common/models.py:807
+msgid "Format to display the part name"
+msgstr ""
+
+#: common/models.py:814
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:815
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:821 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:707
+#: common/models.py:822
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:713
+#: common/models.py:828
msgid "Page Size"
msgstr ""
-#: common/models.py:714
+#: common/models.py:829
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:724
+#: common/models.py:839
msgid "Test Reports"
msgstr ""
-#: common/models.py:725
+#: common/models.py:840
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:731
+#: common/models.py:846
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:732
+#: common/models.py:847
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:738
+#: common/models.py:853
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:739
+#: common/models.py:854
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:745
+#: common/models.py:860
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:746
+#: common/models.py:861
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:748
+#: common/models.py:863
msgid "days"
msgstr ""
-#: common/models.py:753
+#: common/models.py:868
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:754
+#: common/models.py:869
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:760
+#: common/models.py:875
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:761
+#: common/models.py:876
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:767
+#: common/models.py:882
msgid "Group by Part"
msgstr ""
-#: common/models.py:768
+#: common/models.py:883
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:774
+#: common/models.py:889
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:775
+#: common/models.py:890
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:780
+#: common/models.py:895
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:781
+#: common/models.py:896
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:785
+#: common/models.py:900
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:786
+#: common/models.py:901
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:791
+#: common/models.py:906
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:792
+#: common/models.py:907
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:798
-msgid "Enable build"
-msgstr ""
-
-#: common/models.py:799
-msgid "Enable build functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:804
-msgid "Enable buy"
-msgstr ""
-
-#: common/models.py:805
-msgid "Enable buy functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:810
-msgid "Enable sell"
-msgstr ""
-
-#: common/models.py:811
-msgid "Enable sell functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:816
-msgid "Enable stock"
-msgstr ""
-
-#: common/models.py:817
-msgid "Enable stock functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:822
-msgid "Enable SO"
-msgstr ""
-
-#: common/models.py:823
-msgid "Enable SO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:828
-msgid "Enable PO"
-msgstr ""
-
-#: common/models.py:829
-msgid "Enable PO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:836
+#: common/models.py:913
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:837
-msgid "Enable password forgot function on the login-pages"
+#: common/models.py:914
+msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:842
+#: common/models.py:919
msgid "Enable registration"
msgstr ""
-#: common/models.py:843
-msgid "Enable self-registration for users on the login-pages"
+#: common/models.py:920
+msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:848
+#: common/models.py:925
msgid "Enable SSO"
msgstr ""
-#: common/models.py:849
-msgid "Enable SSO on the login-pages"
+#: common/models.py:926
+msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:854
-msgid "E-Mail required"
+#: common/models.py:931
+msgid "Email required"
msgstr ""
-#: common/models.py:855
+#: common/models.py:932
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:860
+#: common/models.py:937
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:861
+#: common/models.py:938
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:943
msgid "Mail twice"
msgstr ""
-#: common/models.py:867
+#: common/models.py:944
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:872
+#: common/models.py:949
msgid "Password twice"
msgstr ""
-#: common/models.py:873
+#: common/models.py:950
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:898
-msgid "Show starred parts"
+#: common/models.py:955
+msgid "Group on signup"
msgstr ""
-#: common/models.py:899
-msgid "Show starred parts on the homepage"
+#: common/models.py:956
+msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:904
-msgid "Show latest parts"
-msgstr ""
-
-#: common/models.py:905
-msgid "Show latest parts on the homepage"
-msgstr ""
-
-#: common/models.py:910
-msgid "Recent Part Count"
-msgstr ""
-
-#: common/models.py:911
-msgid "Number of recent parts to display on index page"
-msgstr ""
-
-#: common/models.py:917
-msgid "Show unvalidated BOMs"
-msgstr ""
-
-#: common/models.py:918
-msgid "Show BOMs that await validation on the homepage"
-msgstr ""
-
-#: common/models.py:923
-msgid "Show recent stock changes"
-msgstr ""
-
-#: common/models.py:924
-msgid "Show recently changed stock items on the homepage"
-msgstr ""
-
-#: common/models.py:929
-msgid "Recent Stock Count"
-msgstr ""
-
-#: common/models.py:930
-msgid "Number of recent stock items to display on index page"
-msgstr ""
-
-#: common/models.py:935
-msgid "Show low stock"
-msgstr ""
-
-#: common/models.py:936
-msgid "Show low stock items on the homepage"
-msgstr ""
-
-#: common/models.py:941
-msgid "Show depleted stock"
-msgstr ""
-
-#: common/models.py:942
-msgid "Show depleted stock items on the homepage"
-msgstr ""
-
-#: common/models.py:947
-msgid "Show needed stock"
-msgstr ""
-
-#: common/models.py:948
-msgid "Show stock items needed for builds on the homepage"
-msgstr ""
-
-#: common/models.py:953
-msgid "Show expired stock"
-msgstr ""
-
-#: common/models.py:954
-msgid "Show expired stock items on the homepage"
-msgstr ""
-
-#: common/models.py:959
-msgid "Show stale stock"
-msgstr ""
-
-#: common/models.py:960
-msgid "Show stale stock items on the homepage"
-msgstr ""
-
-#: common/models.py:965
-msgid "Show pending builds"
-msgstr ""
-
-#: common/models.py:966
-msgid "Show pending builds on the homepage"
-msgstr ""
-
-#: common/models.py:971
-msgid "Show overdue builds"
-msgstr ""
-
-#: common/models.py:972
-msgid "Show overdue builds on the homepage"
-msgstr ""
-
-#: common/models.py:977
-msgid "Show outstanding POs"
-msgstr ""
-
-#: common/models.py:978
-msgid "Show outstanding POs on the homepage"
-msgstr ""
-
-#: common/models.py:983
-msgid "Show overdue POs"
-msgstr ""
-
-#: common/models.py:984
-msgid "Show overdue POs on the homepage"
-msgstr ""
-
-#: common/models.py:989
-msgid "Show outstanding SOs"
-msgstr ""
-
-#: common/models.py:990
-msgid "Show outstanding SOs on the homepage"
-msgstr ""
-
-#: common/models.py:995
-msgid "Show overdue SOs"
-msgstr ""
-
-#: common/models.py:996
-msgid "Show overdue SOs on the homepage"
+#: common/models.py:1001
+msgid "Show subscribed parts"
msgstr ""
#: common/models.py:1002
+msgid "Show subscribed parts on the homepage"
+msgstr ""
+
+#: common/models.py:1007
+msgid "Show subscribed categories"
+msgstr ""
+
+#: common/models.py:1008
+msgid "Show subscribed part categories on the homepage"
+msgstr ""
+
+#: common/models.py:1013
+msgid "Show latest parts"
+msgstr ""
+
+#: common/models.py:1014
+msgid "Show latest parts on the homepage"
+msgstr ""
+
+#: common/models.py:1019
+msgid "Recent Part Count"
+msgstr ""
+
+#: common/models.py:1020
+msgid "Number of recent parts to display on index page"
+msgstr ""
+
+#: common/models.py:1026
+msgid "Show unvalidated BOMs"
+msgstr ""
+
+#: common/models.py:1027
+msgid "Show BOMs that await validation on the homepage"
+msgstr ""
+
+#: common/models.py:1032
+msgid "Show recent stock changes"
+msgstr ""
+
+#: common/models.py:1033
+msgid "Show recently changed stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1038
+msgid "Recent Stock Count"
+msgstr ""
+
+#: common/models.py:1039
+msgid "Number of recent stock items to display on index page"
+msgstr ""
+
+#: common/models.py:1044
+msgid "Show low stock"
+msgstr ""
+
+#: common/models.py:1045
+msgid "Show low stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1050
+msgid "Show depleted stock"
+msgstr ""
+
+#: common/models.py:1051
+msgid "Show depleted stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1056
+msgid "Show needed stock"
+msgstr ""
+
+#: common/models.py:1057
+msgid "Show stock items needed for builds on the homepage"
+msgstr ""
+
+#: common/models.py:1062
+msgid "Show expired stock"
+msgstr ""
+
+#: common/models.py:1063
+msgid "Show expired stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1068
+msgid "Show stale stock"
+msgstr ""
+
+#: common/models.py:1069
+msgid "Show stale stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1074
+msgid "Show pending builds"
+msgstr ""
+
+#: common/models.py:1075
+msgid "Show pending builds on the homepage"
+msgstr ""
+
+#: common/models.py:1080
+msgid "Show overdue builds"
+msgstr ""
+
+#: common/models.py:1081
+msgid "Show overdue builds on the homepage"
+msgstr ""
+
+#: common/models.py:1086
+msgid "Show outstanding POs"
+msgstr ""
+
+#: common/models.py:1087
+msgid "Show outstanding POs on the homepage"
+msgstr ""
+
+#: common/models.py:1092
+msgid "Show overdue POs"
+msgstr ""
+
+#: common/models.py:1093
+msgid "Show overdue POs on the homepage"
+msgstr ""
+
+#: common/models.py:1098
+msgid "Show outstanding SOs"
+msgstr ""
+
+#: common/models.py:1099
+msgid "Show outstanding SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Show overdue SOs"
+msgstr ""
+
+#: common/models.py:1105
+msgid "Show overdue SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1111
msgid "Inline label display"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1112
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1118
msgid "Inline report display"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1119
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1125
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1126
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:1023
+#: common/models.py:1132
+msgid "Search Show Stock"
+msgstr ""
+
+#: common/models.py:1133
+msgid "Display stock levels in search preview window"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Hide Inactive Parts"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Hide inactive parts in search preview window"
+msgstr ""
+
+#: common/models.py:1146
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1024
+#: common/models.py:1147
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1153
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1154
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1088 company/forms.py:43
+#: common/models.py:1160
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1161
+msgid "InvenTree navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1226 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1095 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1369
+#: common/models.py:1233 company/serializers.py:264
+#: company/templates/company/supplier_part.html:256
+#: templates/js/translated/part.js:1508
msgid "Price"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1234
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1189
-msgid "Default"
-msgstr ""
-
-#: common/templates/common/edit_setting.html:11
-msgid "Current value"
-msgstr ""
-
-#: common/views.py:33
-msgid "Change Setting"
-msgstr ""
-
-#: common/views.py:119
-msgid "Supplied value is not allowed"
-msgstr ""
-
-#: common/views.py:128
-msgid "Supplied value must be a boolean"
-msgstr ""
-
-#: common/views.py:138
-msgid "Change User Setting"
-msgstr ""
-
-#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42
-#: order/templates/order/po_navbar.html:19
-#: order/templates/order/po_navbar.html:22
-#: order/templates/order/purchase_order_detail.html:27 order/views.py:289
-#: part/templates/part/bom_upload/upload_file.html:65
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
-#: part/views.py:882
+#: common/views.py:93 order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:289
+#: part/templates/part/bom_upload/upload_file.html:51
+#: part/templates/part/import_wizard/part_upload.html:46 part/views.py:281
+#: part/views.py:923
msgid "Upload File"
msgstr ""
-#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
+#: common/views.py:94 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
-#: part/views.py:883
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:282
+#: part/views.py:924
msgid "Match Fields"
msgstr ""
-#: common/views.py:215
+#: common/views.py:95
msgid "Match Items"
msgstr ""
-#: common/views.py:560
+#: common/views.py:440
msgid "Fields matching failed"
msgstr ""
-#: common/views.py:615
+#: common/views.py:495
msgid "Parts imported"
msgstr ""
-#: common/views.py:637 order/templates/order/order_wizard/match_fields.html:27
+#: common/views.py:517 order/templates/order/order_wizard/match_fields.html:27
#: order/templates/order/order_wizard/match_parts.html:19
-#: order/templates/order/order_wizard/po_upload.html:40
+#: order/templates/order/order_wizard/po_upload.html:46
#: part/templates/part/bom_upload/match_fields.html:27
#: part/templates/part/bom_upload/match_parts.html:19
-#: part/templates/part/bom_upload/upload_file.html:63
+#: part/templates/part/bom_upload/upload_file.html:49
#: part/templates/part/import_wizard/match_fields.html:27
#: part/templates/part/import_wizard/match_references.html:19
-#: part/templates/part/import_wizard/part_upload.html:43
+#: part/templates/part/import_wizard/part_upload.html:44
msgid "Previous Step"
msgstr ""
@@ -2321,6 +2224,7 @@ msgid "Contact phone number"
msgstr ""
#: company/models.py:125 company/templates/company/company_base.html:102
+#: templates/InvenTree/settings/user.html:46
msgid "Email"
msgstr ""
@@ -2337,10 +2241,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:131 company/models.py:348 company/models.py:564
-#: order/models.py:160 part/models.py:715
+#: order/models.py:163 part/models.py:797
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:536
-#: templates/js/translated/company.js:825 templates/js/translated/part.js:983
+#: templates/js/translated/company.js:825 templates/js/translated/part.js:984
msgid "Link"
msgstr ""
@@ -2348,7 +2252,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:725
+#: company/models.py:139 part/models.py:807
msgid "Image"
msgstr ""
@@ -2376,8 +2280,8 @@ msgstr ""
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:152 company/serializers.py:264
-#: company/templates/company/company_base.html:76 stock/serializers.py:158
+#: company/models.py:152 company/serializers.py:270
+#: company/templates/company/company_base.html:76 stock/serializers.py:172
msgid "Currency"
msgstr ""
@@ -2385,8 +2289,8 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:454
-#: stock/templates/stock/item_base.html:237
+#: company/models.py:320 company/models.py:535 stock/models.py:484
+#: stock/templates/stock/item_base.html:224
msgid "Base Part"
msgstr ""
@@ -2395,28 +2299,28 @@ msgid "Select part"
msgstr ""
#: company/models.py:335 company/templates/company/company_base.html:116
-#: company/templates/company/manufacturer_part.html:89
-#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:247 stock/templates/stock/item_base.html:366
+#: company/templates/company/manufacturer_part.html:93
+#: company/templates/company/supplier_part.html:104
+#: stock/templates/stock/item_base.html:353
#: templates/js/translated/company.js:332
#: templates/js/translated/company.js:513
-#: templates/js/translated/company.js:796 templates/js/translated/part.js:227
+#: templates/js/translated/company.js:796 templates/js/translated/part.js:228
msgid "Manufacturer"
msgstr ""
-#: company/models.py:336 templates/js/translated/part.js:228
+#: company/models.py:336 templates/js/translated/part.js:229
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:342 company/templates/company/manufacturer_part.html:93
-#: company/templates/company/supplier_part.html:106 part/bom.py:171
-#: part/bom.py:248 templates/js/translated/company.js:529
-#: templates/js/translated/company.js:814 templates/js/translated/order.js:851
-#: templates/js/translated/part.js:238
+#: company/models.py:342 company/templates/company/manufacturer_part.html:97
+#: company/templates/company/supplier_part.html:112
+#: templates/js/translated/company.js:529
+#: templates/js/translated/company.js:814 templates/js/translated/order.js:852
+#: templates/js/translated/part.js:239
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:239
+#: company/models.py:343 templates/js/translated/part.js:240
msgid "Manufacturer Part Number"
msgstr ""
@@ -2431,7 +2335,7 @@ msgstr ""
#: company/models.py:409 company/models.py:558
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:376
+#: stock/templates/stock/item_base.html:363
msgid "Manufacturer Part"
msgstr ""
@@ -2440,10 +2344,9 @@ msgid "Parameter name"
msgstr ""
#: company/models.py:422
-#: report/templates/report/inventree_test_report_base.html:90
-#: stock/models.py:1816 templates/InvenTree/settings/header.html:8
-#: templates/js/translated/company.js:643 templates/js/translated/part.js:623
-#: templates/js/translated/stock.js:555
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:1867 templates/js/translated/company.js:643
+#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848
msgid "Value"
msgstr ""
@@ -2451,8 +2354,9 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:800 part/models.py:2224
-#: templates/js/translated/company.js:649 templates/js/translated/part.js:629
+#: company/models.py:429 part/models.py:882 part/models.py:2397
+#: part/templates/part/detail.html:59 templates/js/translated/company.js:649
+#: templates/js/translated/part.js:650
msgid "Units"
msgstr ""
@@ -2465,27 +2369,27 @@ msgid "Linked manufacturer part must reference the same base part"
msgstr ""
#: company/models.py:545 company/templates/company/company_base.html:121
-#: company/templates/company/supplier_part.html:88 order/models.py:260
-#: order/templates/order/order_base.html:92
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:292 stock/templates/stock/item_base.html:383
+#: company/templates/company/supplier_part.html:94 order/models.py:263
+#: order/templates/order/order_base.html:108
+#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219
+#: part/bom.py:247 stock/templates/stock/item_base.html:370
#: templates/js/translated/company.js:336
-#: templates/js/translated/company.js:770 templates/js/translated/order.js:659
-#: templates/js/translated/part.js:208
+#: templates/js/translated/company.js:770 templates/js/translated/order.js:660
+#: templates/js/translated/part.js:209
msgid "Supplier"
msgstr ""
-#: company/models.py:546 templates/js/translated/part.js:209
+#: company/models.py:546 templates/js/translated/part.js:210
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:92
-#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838
-#: templates/js/translated/part.js:219
+#: company/models.py:551 company/templates/company/supplier_part.html:98
+#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:839
+#: templates/js/translated/part.js:220
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:220
+#: company/models.py:552 templates/js/translated/part.js:221
msgid "Supplier stock keeping unit"
msgstr ""
@@ -2501,23 +2405,23 @@ msgstr ""
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:120
-#: part/models.py:2389 report/templates/report/inventree_po_report.html:93
+#: company/models.py:576 company/templates/company/supplier_part.html:126
+#: part/models.py:2588 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:113
-#: stock/models.py:478 stock/templates/stock/item_base.html:324
-#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036
+#: company/models.py:582 company/templates/company/supplier_part.html:119
+#: stock/models.py:507 stock/templates/stock/item_base.html:311
+#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336
msgid "Packaging"
msgstr ""
@@ -2525,7 +2429,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1605
+#: company/models.py:584 part/models.py:1750
msgid "multiple"
msgstr ""
@@ -2533,46 +2437,42 @@ msgstr ""
msgid "Order multiple"
msgstr ""
-#: company/serializers.py:68
+#: company/serializers.py:70
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:69
+#: company/serializers.py:71
msgid "Currency Code"
msgstr ""
-#: company/templates/company/company_base.html:9
-#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321
+#: company/templates/company/company_base.html:8
+#: company/templates/company/company_base.html:12
+#: templates/InvenTree/search.html:182 templates/js/translated/company.js:321
msgid "Company"
msgstr ""
-#: company/templates/company/company_base.html:25
-#: part/templates/part/part_thumb.html:21
-msgid "Upload new image"
-msgstr ""
-
-#: company/templates/company/company_base.html:27
-#: part/templates/part/part_thumb.html:23
-msgid "Download image from URL"
-msgstr ""
-
-#: company/templates/company/company_base.html:46
-#: templates/js/translated/order.js:120
+#: company/templates/company/company_base.html:22
+#: templates/js/translated/order.js:121
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:51
+#: company/templates/company/company_base.html:27
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:56
-#: company/templates/company/company_base.html:153
+#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:148
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:64
-msgid "Company Details"
+#: company/templates/company/company_base.html:48
+#: part/templates/part/part_thumb.html:12
+msgid "Upload new image"
+msgstr ""
+
+#: company/templates/company/company_base.html:51
+#: part/templates/part/part_thumb.html:14
+msgid "Download image from URL"
msgstr ""
#: company/templates/company/company_base.html:81
@@ -2583,145 +2483,133 @@ msgstr ""
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:126 order/models.py:558
-#: order/templates/order/sales_order_base.html:99 stock/models.py:496
-#: stock/models.py:497 stock/templates/stock/item_base.html:276
-#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038
-#: templates/js/translated/stock.js:1587
+#: company/templates/company/company_base.html:126 order/models.py:567
+#: order/templates/order/sales_order_base.html:114 stock/models.py:525
+#: stock/models.py:526 stock/templates/stock/item_base.html:263
+#: templates/js/translated/company.js:328 templates/js/translated/order.js:1051
+#: templates/js/translated/stock.js:1972
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:199
-#: part/templates/part/part_base.html:424
+#: company/templates/company/company_base.html:194
+#: part/templates/part/part_base.html:342
msgid "Upload Image"
msgstr ""
-#: company/templates/company/detail.html:14
-#: company/templates/company/manufacturer_part_navbar.html:18
-#: templates/InvenTree/search.html:150
+#: company/templates/company/detail.html:15 templates/InvenTree/search.html:124
msgid "Supplier Parts"
msgstr ""
-#: company/templates/company/detail.html:22
+#: company/templates/company/detail.html:19
#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr ""
-#: company/templates/company/detail.html:23
-#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289
+#: company/templates/company/detail.html:20
+#: company/templates/company/manufacturer_part.html:112
+#: part/templates/part/detail.html:466
msgid "New Supplier Part"
msgstr ""
-#: company/templates/company/detail.html:27
-#: company/templates/company/detail.html:67
-#: company/templates/company/manufacturer_part.html:112
-#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/category.html:135 part/templates/part/detail.html:292
-#: part/templates/part/detail.html:315
+#: company/templates/company/detail.html:32
+#: company/templates/company/detail.html:79
+#: company/templates/company/manufacturer_part.html:121
+#: company/templates/company/manufacturer_part.html:150
+#: part/templates/part/category.html:160 part/templates/part/detail.html:475
+#: part/templates/part/detail.html:503
msgid "Options"
msgstr ""
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72
-#: part/templates/part/category.html:140
+#: company/templates/company/detail.html:37
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:166
msgid "Order parts"
msgstr ""
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:42
+#: company/templates/company/detail.html:89
msgid "Delete parts"
msgstr ""
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:43
+#: company/templates/company/detail.html:90
msgid "Delete Parts"
msgstr ""
-#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135
+#: company/templates/company/detail.html:62 templates/InvenTree/search.html:109
msgid "Manufacturer Parts"
msgstr ""
-#: company/templates/company/detail.html:62
+#: company/templates/company/detail.html:66
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:63 part/templates/part/detail.html:312
+#: company/templates/company/detail.html:67 part/templates/part/detail.html:493
msgid "New Manufacturer Part"
msgstr ""
-#: company/templates/company/detail.html:93
+#: company/templates/company/detail.html:107
msgid "Supplier Stock"
msgstr ""
-#: company/templates/company/detail.html:102
-#: company/templates/company/navbar.html:46
-#: company/templates/company/navbar.html:49
+#: company/templates/company/detail.html:117
+#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
-#: order/templates/order/purchase_orders.html:13
-#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82
-#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260
-#: templates/InvenTree/search.html:229
-#: templates/InvenTree/settings/navbar.html:119
-#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44
+#: order/templates/order/purchase_orders.html:12
+#: part/templates/part/detail.html:171 templates/InvenTree/index.html:252
+#: templates/InvenTree/search.html:203 templates/navbar.html:45
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
-#: company/templates/company/detail.html:108
-#: order/templates/order/purchase_orders.html:20
+#: company/templates/company/detail.html:121
+#: order/templates/order/purchase_orders.html:17
msgid "Create new purchase order"
msgstr ""
-#: company/templates/company/detail.html:109
-#: order/templates/order/purchase_orders.html:21
+#: company/templates/company/detail.html:122
+#: order/templates/order/purchase_orders.html:18
msgid "New Purchase Order"
msgstr ""
-#: company/templates/company/detail.html:124
-#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58
+#: company/templates/company/detail.html:143
+#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
-#: order/templates/order/sales_orders.html:13
-#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91
-#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291
-#: templates/InvenTree/search.html:249
-#: templates/InvenTree/settings/navbar.html:125
-#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55
+#: order/templates/order/sales_orders.html:15
+#: part/templates/part/detail.html:194 templates/InvenTree/index.html:283
+#: templates/InvenTree/search.html:223 templates/navbar.html:56
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
-#: company/templates/company/detail.html:130
+#: company/templates/company/detail.html:147
#: order/templates/order/sales_orders.html:20
msgid "Create new sales order"
msgstr ""
-#: company/templates/company/detail.html:131
+#: company/templates/company/detail.html:148
#: order/templates/order/sales_orders.html:21
msgid "New Sales Order"
msgstr ""
-#: company/templates/company/detail.html:147
-#: company/templates/company/navbar.html:61
-#: company/templates/company/navbar.html:64
-#: templates/js/translated/build.js:622
+#: company/templates/company/detail.html:168
+#: templates/js/translated/build.js:999
msgid "Assigned Stock"
msgstr ""
-#: company/templates/company/detail.html:165
+#: company/templates/company/detail.html:184
msgid "Company Notes"
msgstr ""
-#: company/templates/company/detail.html:364
-#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:357
+#: company/templates/company/detail.html:383
+#: company/templates/company/manufacturer_part.html:209
+#: part/templates/part/detail.html:546
msgid "Delete Supplier Parts?"
msgstr ""
-#: company/templates/company/detail.html:365
-#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:358
+#: company/templates/company/detail.html:384
+#: company/templates/company/manufacturer_part.html:210
+#: part/templates/part/detail.html:547
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2729,204 +2617,174 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:40
-#: company/templates/company/supplier_part.html:40
-#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116
+#: company/templates/company/manufacturer_part.html:14 company/views.py:55
+#: part/templates/part/prices.html:167 templates/InvenTree/search.html:184
+#: templates/navbar.html:44
+msgid "Manufacturers"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:35
+#: company/templates/company/supplier_part.html:34
+#: company/templates/company/supplier_part.html:159
+#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:40
#: templates/js/translated/company.js:561
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:49
+#: company/templates/company/manufacturer_part.html:44
#: templates/js/translated/company.js:562
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:61
-msgid "Manufacturer Part Details"
-msgstr ""
-
-#: company/templates/company/manufacturer_part.html:66
-#: company/templates/company/supplier_part.html:65
+#: company/templates/company/manufacturer_part.html:70
+#: company/templates/company/supplier_part.html:71
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/manufacturer_part_navbar.html:21
-#: company/views.py:49 part/templates/part/navbar.html:75
-#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163
-#: templates/InvenTree/search.html:220 templates/navbar.html:41
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: part/templates/part/prices.html:163 templates/InvenTree/search.html:194
+#: templates/navbar.html:43
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: part/templates/part/detail.html:294
+#: company/templates/company/manufacturer_part.html:123
+#: part/templates/part/detail.html:477
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: company/templates/company/manufacturer_part.html:138
-#: company/templates/company/manufacturer_part.html:239
-#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/translated/company.js:424
-#: templates/js/translated/helpers.js:31 users/models.py:199
+#: company/templates/company/manufacturer_part.html:123
+#: company/templates/company/manufacturer_part.html:152
+#: company/templates/company/manufacturer_part.html:248
+#: part/templates/part/detail.html:351 part/templates/part/detail.html:477
+#: part/templates/part/detail.html:505 templates/js/translated/company.js:424
+#: templates/js/translated/helpers.js:31 users/models.py:204
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:127
-#: company/templates/company/manufacturer_part_navbar.html:11
-#: company/templates/company/manufacturer_part_navbar.html:14
-#: part/templates/part/category_navbar.html:38
-#: part/templates/part/category_navbar.html:41
-#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20
-#: part/templates/part/navbar.html:23
+#: company/templates/company/manufacturer_part.html:137
+#: part/templates/part/detail.html:277
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:133
-#: part/templates/part/detail.html:162
-#: templates/InvenTree/settings/category.html:26
-#: templates/InvenTree/settings/part.html:63
+#: company/templates/company/manufacturer_part.html:141
+#: part/templates/part/detail.html:282
+#: templates/InvenTree/settings/category.html:12
+#: templates/InvenTree/settings/part.html:65
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:138
+#: company/templates/company/manufacturer_part.html:152
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:805
+#: company/templates/company/manufacturer_part.html:185
+#: part/templates/part/detail.html:983
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:224
+#: company/templates/company/manufacturer_part.html:233
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:236
+#: company/templates/company/manufacturer_part.html:245
msgid "Delete Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part_navbar.html:26
-msgid "Manufacturer Part Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:29
-#: company/templates/company/navbar.html:39
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/navbar.html:38 stock/api.py:52
-#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182
-#: templates/InvenTree/settings/navbar.html:107
-#: templates/InvenTree/settings/navbar.html:109
-#: templates/js/translated/part.js:540 templates/js/translated/part.js:769
-#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182
-#: templates/js/translated/stock.js:829 templates/navbar.html:32
-msgid "Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:33
-msgid "Manufacturer Part Orders"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:36
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr ""
-
-#: company/templates/company/navbar.html:17
-#: company/templates/company/navbar.html:20
-msgid "Manufactured Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:26
-#: company/templates/company/navbar.html:29
-msgid "Supplied Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35
-#: stock/templates/stock/location.html:119
-#: stock/templates/stock/location.html:134
-#: stock/templates/stock/location.html:148
-#: stock/templates/stock/location_navbar.html:18
-#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486
-#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
-msgid "Stock Items"
-msgstr ""
-
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:463
-#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993
+#: company/templates/company/supplier_part.html:24 stock/models.py:492
+#: stock/templates/stock/item_base.html:375
+#: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44
+#: company/templates/company/supplier_part.html:38
#: templates/js/translated/company.js:859
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48
+#: company/templates/company/supplier_part.html:42
#: templates/js/translated/company.js:860
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:60
-msgid "Supplier Part Details"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:131
+#: company/templates/company/supplier_part.html:138
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:140
+#: company/templates/company/supplier_part.html:141
+#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147
+#, fuzzy
+#| msgid "Edited stock item"
+msgid "Create new stock item"
+msgstr "Elemento stock modificato"
+
+#: company/templates/company/supplier_part.html:142
+#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148
+#: templates/js/translated/stock.js:324
+msgid "New Stock Item"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:155
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:147
-#: part/templates/part/detail.html:56
+#: company/templates/company/supplier_part.html:160
+#: part/templates/part/detail.html:175
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:158
-#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7
+#: company/templates/company/supplier_part.html:179
+#: part/templates/part/prices.html:7
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:164
-#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:271 part/views.py:1730
+#: company/templates/company/supplier_part.html:184
+#: company/templates/company/supplier_part.html:290
+#: part/templates/part/prices.html:271 part/views.py:1782
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:185
+#: company/templates/company/supplier_part.html:210
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:1792
+#: company/templates/company/supplier_part.html:224 part/views.py:1844
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:1778
+#: company/templates/company/supplier_part.html:238 part/views.py:1830
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
+#: company/templates/company/supplier_part.html:263
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:239
+#: company/templates/company/supplier_part.html:264
msgid "Delete price break"
msgstr ""
+#: company/templates/company/supplier_part_navbar.html:15
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426
+#: templates/js/translated/part.js:561 templates/js/translated/part.js:786
+#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479
+#: templates/js/translated/stock.js:1132 templates/navbar.html:26
+msgid "Stock"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:22
+msgid "Orders"
+msgstr ""
+
#: company/templates/company/supplier_part_navbar.html:26
msgid "Supplier Part Pricing"
msgstr ""
@@ -2939,17 +2797,12 @@ msgstr ""
msgid "New Supplier"
msgstr ""
-#: company/views.py:55 part/templates/part/prices.html:167
-#: templates/InvenTree/search.html:210 templates/navbar.html:42
-msgid "Manufacturers"
-msgstr ""
-
#: company/views.py:56
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:240
-#: templates/navbar.html:53
+#: company/views.py:61 templates/InvenTree/search.html:214
+#: templates/navbar.html:55
msgid "Customers"
msgstr ""
@@ -2965,24 +2818,24 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:608
+#: company/views.py:129 part/views.py:649
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:640
+#: company/views.py:158 part/views.py:681
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:647
+#: company/views.py:165 part/views.py:688
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:656
+#: company/views.py:174 part/views.py:697
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:57 report/api.py:201
+#: label/api.py:57 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -2994,7 +2847,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:167
+#: label/models.py:127
msgid "Label"
msgstr ""
@@ -3039,7 +2892,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:259 label/models.py:319 label/models.py:366
-#: report/models.py:322 report/models.py:457 report/models.py:495
+#: report/models.py:322 report/models.py:459 report/models.py:497
msgid "Filters"
msgstr ""
@@ -3051,240 +2904,236 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:250
-msgid "Matching purchase order does not exist"
-msgstr ""
-
-#: order/forms.py:27 order/templates/order/order_base.html:50
+#: order/forms.py:26 order/templates/order/order_base.html:52
msgid "Place order"
msgstr ""
-#: order/forms.py:38 order/templates/order/order_base.html:57
+#: order/forms.py:37 order/templates/order/order_base.html:59
msgid "Mark order as complete"
msgstr ""
-#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:64
+#: order/forms.py:48 order/forms.py:59 order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
msgid "Cancel order"
msgstr ""
-#: order/forms.py:71 order/templates/order/sales_order_base.html:61
+#: order/forms.py:70
msgid "Ship order"
msgstr ""
-#: order/forms.py:97
+#: order/forms.py:98
msgid "Enter stock item serial numbers"
msgstr ""
-#: order/forms.py:103
+#: order/forms.py:104
msgid "Enter quantity of stock items"
msgstr ""
-#: order/models.py:158
+#: order/models.py:161
msgid "Order description"
msgstr ""
-#: order/models.py:160
+#: order/models.py:163
msgid "Link to external page"
msgstr ""
-#: order/models.py:168
+#: order/models.py:171
msgid "Created By"
msgstr ""
-#: order/models.py:175
+#: order/models.py:178
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:180
+#: order/models.py:183
msgid "Order notes"
msgstr ""
-#: order/models.py:247 order/models.py:548
+#: order/models.py:250 order/models.py:557
msgid "Order reference"
msgstr ""
-#: order/models.py:252 order/models.py:563
+#: order/models.py:255 order/models.py:572
msgid "Purchase order status"
msgstr ""
-#: order/models.py:261
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/translated/order.js:668
+#: order/models.py:267 order/templates/order/order_base.html:114
+#: templates/js/translated/order.js:669
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:264
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:271
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:276
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:277
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:282
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:283
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:289
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:318
+#: order/models.py:321
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:428
+#: order/models.py:431
msgid "Quantity must be an integer"
msgstr ""
-#: order/models.py:432
+#: order/models.py:435
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:559
+#: order/models.py:568
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer Reference "
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:570
+#: order/models.py:579
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:573 templates/js/translated/order.js:1079
+#: order/models.py:582 templates/js/translated/order.js:1092
msgid "Shipment Date"
msgstr ""
-#: order/models.py:580
+#: order/models.py:589
msgid "shipped by"
msgstr ""
-#: order/models.py:624
+#: order/models.py:633
msgid "SalesOrder cannot be shipped as it is not currently pending"
msgstr ""
-#: order/models.py:721
+#: order/models.py:730
msgid "Item quantity"
msgstr ""
-#: order/models.py:727
+#: order/models.py:736
msgid "Line item reference"
msgstr ""
-#: order/models.py:729
+#: order/models.py:738
msgid "Line item notes"
msgstr ""
-#: order/models.py:759 order/models.py:847
-#: templates/js/translated/order.js:1131
+#: order/models.py:768 order/models.py:856
+#: templates/js/translated/order.js:1144
msgid "Order"
msgstr ""
-#: order/models.py:760 order/templates/order/order_base.html:9
-#: order/templates/order/order_base.html:24
+#: order/models.py:769 order/templates/order/order_base.html:9
+#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:338
-#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970
-#: templates/js/translated/stock.js:1568
+#: stock/templates/stock/item_base.html:325
+#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1270
+#: templates/js/translated/stock.js:1953
msgid "Purchase Order"
msgstr ""
-#: order/models.py:781
+#: order/models.py:790
msgid "Supplier part"
msgstr ""
-#: order/models.py:788 order/templates/order/order_base.html:131
-#: order/templates/order/sales_order_base.html:138
-#: templates/js/translated/order.js:428 templates/js/translated/order.js:919
+#: order/models.py:797 order/templates/order/order_base.html:147
+#: order/templates/order/sales_order_base.html:154
+#: templates/js/translated/order.js:429 templates/js/translated/order.js:932
msgid "Received"
msgstr ""
-#: order/models.py:789
+#: order/models.py:798
msgid "Number of items received"
msgstr ""
-#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588
-#: stock/serializers.py:150 stock/templates/stock/item_base.html:345
-#: templates/js/translated/stock.js:1024
+#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619
+#: stock/serializers.py:163 stock/templates/stock/item_base.html:332
+#: templates/js/translated/stock.js:1324
msgid "Purchase Price"
msgstr ""
-#: order/models.py:797
+#: order/models.py:806
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:805
+#: order/models.py:814
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:857 part/templates/part/part_pricing.html:112
+#: order/models.py:866 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:116 part/templates/part/prices.html:284
msgid "Sale Price"
msgstr ""
-#: order/models.py:858
+#: order/models.py:867
msgid "Unit sale price"
msgstr ""
-#: order/models.py:937 order/models.py:939
+#: order/models.py:946 order/models.py:948
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:943
+#: order/models.py:952
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:945
+#: order/models.py:954
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:948
+#: order/models.py:957
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:952
+#: order/models.py:961
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:958
+#: order/models.py:967
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:966
+#: order/models.py:975
msgid "Line"
msgstr ""
-#: order/models.py:978
+#: order/models.py:987
msgid "Item"
msgstr ""
-#: order/models.py:979
+#: order/models.py:988
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:982
+#: order/models.py:991
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3300,7 +3149,7 @@ msgstr ""
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:218 order/serializers.py:285
+#: order/serializers.py:218 order/serializers.py:286
msgid "Select destination location for received items"
msgstr ""
@@ -3312,72 +3161,74 @@ msgstr ""
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:259
+#: order/serializers.py:260
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:297
+#: order/serializers.py:298
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:314
+#: order/serializers.py:315
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:325
+#: order/serializers.py:326
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:569
+#: order/serializers.py:568
msgid "Sale price currency"
msgstr ""
#: order/templates/order/delete_attachment.html:5
#: stock/templates/stock/attachment_delete.html:5
-#: templates/attachment_delete.html:5
msgid "Are you sure you want to delete this attachment?"
msgstr ""
-#: order/templates/order/order_base.html:39
-#: order/templates/order/sales_order_base.html:50
-msgid "Print"
-msgstr ""
+#: order/templates/order/order_base.html:33
+#, fuzzy
+#| msgid "Received against purchase order"
+msgid "Print purchase order report"
+msgstr "Ricevuto contro l'ordine di acquisto"
-#: order/templates/order/order_base.html:42
-#: order/templates/order/sales_order_base.html:53
+#: order/templates/order/order_base.html:35
+#: order/templates/order/sales_order_base.html:45
msgid "Export order to file"
msgstr ""
-#: order/templates/order/order_base.html:46
-#: order/templates/order/sales_order_base.html:57
-msgid "Edit order information"
+#: order/templates/order/order_base.html:41
+#: order/templates/order/sales_order_base.html:54
+#, fuzzy
+#| msgid "Production"
+msgid "Order actions"
+msgstr "Produzione"
+
+#: order/templates/order/order_base.html:45
+#: order/templates/order/sales_order_base.html:58
+msgid "Edit order"
msgstr ""
-#: order/templates/order/order_base.html:54
+#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
-#: order/templates/order/order_base.html:72
-#: order/templates/order/po_navbar.html:12
-msgid "Purchase Order Details"
-msgstr ""
-
-#: order/templates/order/order_base.html:77
-#: order/templates/order/sales_order_base.html:84
+#: order/templates/order/order_base.html:93
+#: order/templates/order/sales_order_base.html:98
msgid "Order Reference"
msgstr ""
-#: order/templates/order/order_base.html:82
-#: order/templates/order/sales_order_base.html:89
+#: order/templates/order/order_base.html:98
+#: order/templates/order/sales_order_base.html:103
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:117
+#: order/templates/order/order_base.html:133
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:185
+#: order/templates/order/order_base.html:203
msgid "Edit Purchase Order"
msgstr ""
@@ -3453,7 +3304,8 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/build.js:869 templates/js/translated/order.js:376
+#: templates/js/translated/build.js:240 templates/js/translated/build.js:1251
+#: templates/js/translated/order.js:377
msgid "Remove row"
msgstr ""
@@ -3475,19 +3327,19 @@ msgstr ""
msgid "Select Supplier Part"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:11
+#: order/templates/order/order_wizard/po_upload.html:16
msgid "Upload File for Purchase Order"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:18
-#: part/templates/part/bom_upload/upload_file.html:34
+#: order/templates/order/order_wizard/po_upload.html:24
+#: part/templates/part/bom_upload/upload_file.html:20
#: part/templates/part/import_wizard/ajax_part_upload.html:10
-#: part/templates/part/import_wizard/part_upload.html:21
+#: part/templates/part/import_wizard/part_upload.html:22
#, python-format
msgid "Step %(step)s of %(count)s"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/order_wizard/po_upload.html:54
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
@@ -3530,7 +3382,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084
+#: templates/js/translated/order.js:695 templates/js/translated/order.js:1097
msgid "Items"
msgstr ""
@@ -3548,30 +3400,14 @@ msgstr ""
msgid "Select a purchase order for %(name)s"
msgstr ""
-#: order/templates/order/po_attachments.html:12
-#: order/templates/order/po_navbar.html:32
-#: order/templates/order/purchase_order_detail.html:56
-msgid "Purchase Order Attachments"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:26
-msgid "Received Stock Items"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:29
-#: order/templates/order/po_received_items.html:12
-#: order/templates/order/purchase_order_detail.html:47
-msgid "Received Items"
-msgstr ""
-
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:24
-#: order/templates/order/purchase_order_detail.html:212
+#: order/templates/order/purchase_order_detail.html:27
+#: order/templates/order/purchase_order_detail.html:216
#: order/templates/order/sales_order_detail.html:23
-#: order/templates/order/sales_order_detail.html:177
+#: order/templates/order/sales_order_detail.html:191
msgid "Add Line Item"
msgstr ""
@@ -3583,34 +3419,43 @@ msgstr ""
msgid "Receive Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
-#: order/templates/order/sales_order_detail.html:54
+#: order/templates/order/purchase_order_detail.html:50
+msgid "Received Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:76
+#: order/templates/order/sales_order_detail.html:68
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_orders.html:24
-#: order/templates/order/sales_orders.html:24
+#: order/templates/order/purchase_orders.html:30
+#: order/templates/order/sales_orders.html:33
msgid "Print Order Reports"
msgstr ""
-#: order/templates/order/sales_order_base.html:16
+#: order/templates/order/sales_order_base.html:43
+msgid "Print sales order report"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:47
+msgid "Print packing list"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:66
+#: order/templates/order/sales_order_base.html:67 order/views.py:222
+msgid "Ship Order"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:86
msgid "This Sales Order has not been fully allocated"
msgstr ""
-#: order/templates/order/sales_order_base.html:70
-msgid "Packing List"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:79
-msgid "Sales Order Details"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:105
-#: templates/js/translated/order.js:1051
+#: order/templates/order/sales_order_base.html:121
+#: templates/js/translated/order.js:1064
msgid "Customer Reference"
msgstr ""
-#: order/templates/order/sales_order_base.html:183
+#: order/templates/order/sales_order_base.html:194
msgid "Edit Sales Order"
msgstr ""
@@ -3625,7 +3470,7 @@ msgstr ""
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -3653,18 +3498,6 @@ msgstr ""
msgid "Allocate stock items by serial number"
msgstr ""
-#: order/templates/order/so_navbar.html:12
-msgid "Sales Order Line Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:15
-msgid "Order Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:26
-msgid "Sales Order Attachments"
-msgstr ""
-
#: order/views.py:103
msgid "Cancel Order"
msgstr ""
@@ -3705,10 +3538,6 @@ msgstr ""
msgid "Purchase order completed"
msgstr ""
-#: order/views.py:222
-msgid "Ship Order"
-msgstr ""
-
#: order/views.py:238
msgid "Confirm order shipment"
msgstr ""
@@ -3776,40 +3605,28 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7
-#: part/templates/part/category.html:108 part/templates/part/category.html:122
-#: part/templates/part/category_navbar.html:21
-#: part/templates/part/category_navbar.html:24
-#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97
-#: templates/js/translated/part.js:1165 templates/navbar.html:29
-#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
-msgid "Parts"
-msgstr ""
-
-#: part/api.py:700
+#: part/api.py:731
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:704
+#: part/api.py:735
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:719
+#: part/api.py:750
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773
+#: part/api.py:781 part/api.py:785 part/api.py:800 part/api.py:804
msgid "This field is required"
msgstr ""
-#: part/bom.py:133 part/models.py:76 part/models.py:734
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:290
+#: part/bom.py:125 part/models.py:81 part/models.py:816
+#: part/templates/part/category.html:90 part/templates/part/detail.html:104
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:156
+#: part/bom.py:126 part/templates/part/part_base.html:167
msgid "Available Stock"
msgstr ""
@@ -3869,7 +3686,7 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:96 part/models.py:2254
+#: part/forms.py:96 part/models.py:2427
msgid "Parent Part"
msgstr ""
@@ -3901,455 +3718,458 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:226
+#: part/forms.py:214
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:230
+#: part/forms.py:218
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:250
+#: part/forms.py:238
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:77
+#: part/models.py:82
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords"
msgstr ""
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:90 part/models.py:2300
+#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:91 part/templates/part/category.html:32
-#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
-#: templates/stats.html:84 users/models.py:40
+#: part/models.py:96 part/templates/part/category.html:117
+#: templates/InvenTree/search.html:101 templates/stats.html:84
+#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:384
+#: part/models.py:358 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:13 part/templates/part/category.html:122
+#: part/templates/part/category.html:142 templates/InvenTree/index.html:85
+#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304
+#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89
+#: users/models.py:41
+msgid "Parts"
+msgstr ""
+
+#: part/models.py:450
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:436 part/models.py:448
+#: part/models.py:502 part/models.py:514
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:545
+#: part/models.py:611
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:549
+#: part/models.py:615
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:554
+#: part/models.py:620
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:633
+#: part/models.py:715
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:658
+#: part/models.py:740
msgid "Part name"
msgstr ""
-#: part/models.py:665
+#: part/models.py:747
msgid "Is Template"
msgstr ""
-#: part/models.py:666
+#: part/models.py:748
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:676
+#: part/models.py:758
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:677
+#: part/models.py:759
msgid "Variant Of"
msgstr ""
-#: part/models.py:683
+#: part/models.py:765
msgid "Part description"
msgstr ""
-#: part/models.py:688 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:259
+#: part/models.py:770 part/templates/part/category.html:97
+#: part/templates/part/detail.html:73
msgid "Keywords"
msgstr ""
-#: part/models.py:689
+#: part/models.py:771
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:696 part/models.py:2299
-#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:169
-#: templates/js/translated/part.js:927
+#: part/models.py:778 part/models.py:2223 part/models.py:2472
+#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15
+#: templates/InvenTree/settings/settings.html:163
+#: templates/js/translated/part.js:928
msgid "Category"
msgstr ""
-#: part/models.py:697
+#: part/models.py:779
msgid "Part category"
msgstr ""
-#: part/models.py:702 part/templates/part/part_base.html:235
-#: templates/js/translated/part.js:528 templates/js/translated/part.js:760
+#: part/models.py:784 part/templates/part/detail.html:45
+#: templates/js/translated/part.js:549
msgid "IPN"
msgstr ""
-#: part/models.py:703
+#: part/models.py:785
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:709
+#: part/models.py:791
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:710 part/templates/part/part_base.html:252
-#: report/models.py:200 templates/js/translated/part.js:532
+#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200
+#: templates/js/translated/part.js:553
msgid "Revision"
msgstr ""
-#: part/models.py:732
+#: part/models.py:814
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:779 part/templates/part/part_base.html:297
+#: part/models.py:861 part/templates/part/detail.html:113
msgid "Default Supplier"
msgstr ""
-#: part/models.py:780
+#: part/models.py:862
msgid "Default supplier part"
msgstr ""
-#: part/models.py:787
+#: part/models.py:869
msgid "Default Expiry"
msgstr ""
-#: part/models.py:788
+#: part/models.py:870
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:793
+#: part/models.py:875 part/templates/part/part_base.html:178
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:794
+#: part/models.py:876
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:801
+#: part/models.py:883
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:807
+#: part/models.py:889
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:813
+#: part/models.py:895
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:819
+#: part/models.py:901
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:824
+#: part/models.py:906
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:911
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:833 templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:82
-#: templates/js/translated/table_filters.js:268
-#: templates/js/translated/table_filters.js:346
+#: part/models.py:915 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:362
msgid "Active"
msgstr ""
-#: part/models.py:834
+#: part/models.py:916
msgid "Is this part active?"
msgstr ""
-#: part/models.py:839
+#: part/models.py:921
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:844
+#: part/models.py:926
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "BOM checksum"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:850
+#: part/models.py:932
msgid "BOM checked by"
msgstr ""
-#: part/models.py:852
+#: part/models.py:934
msgid "BOM checked date"
msgstr ""
-#: part/models.py:856
+#: part/models.py:938
msgid "Creation User"
msgstr ""
-#: part/models.py:1605
+#: part/models.py:1750
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2100
+#: part/models.py:2273
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2117
+#: part/models.py:2290
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2137 templates/js/translated/part.js:1216
-#: templates/js/translated/stock.js:535
+#: part/models.py:2310 templates/js/translated/part.js:1355
+#: templates/js/translated/stock.js:828
msgid "Test Name"
msgstr ""
-#: part/models.py:2138
+#: part/models.py:2311
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2143
+#: part/models.py:2316
msgid "Test Description"
msgstr ""
-#: part/models.py:2144
+#: part/models.py:2317
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2149 templates/js/translated/part.js:1225
-#: templates/js/translated/table_filters.js:254
+#: part/models.py:2322 templates/js/translated/part.js:1364
+#: templates/js/translated/table_filters.js:270
msgid "Required"
msgstr ""
-#: part/models.py:2150
+#: part/models.py:2323
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2155 templates/js/translated/part.js:1233
+#: part/models.py:2328 templates/js/translated/part.js:1372
msgid "Requires Value"
msgstr ""
-#: part/models.py:2156
+#: part/models.py:2329
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2161 templates/js/translated/part.js:1240
+#: part/models.py:2334 templates/js/translated/part.js:1379
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2162
+#: part/models.py:2335
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2173
+#: part/models.py:2346
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2209
+#: part/models.py:2382
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2217
+#: part/models.py:2390
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2224
+#: part/models.py:2397
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2256 part/models.py:2305 part/models.py:2306
-#: templates/InvenTree/settings/settings.html:164
+#: part/models.py:2429 part/models.py:2478 part/models.py:2479
+#: templates/InvenTree/settings/settings.html:158
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Data"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2310 templates/InvenTree/settings/settings.html:173
+#: part/models.py:2483 templates/InvenTree/settings/settings.html:167
msgid "Default Value"
msgstr ""
-#: part/models.py:2311
+#: part/models.py:2484
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2561
msgid "Select parent part"
msgstr ""
-#: part/models.py:2370
+#: part/models.py:2569
msgid "Sub part"
msgstr ""
-#: part/models.py:2371
+#: part/models.py:2570
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2377
+#: part/models.py:2576
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2379 templates/js/translated/bom.js:275
-#: templates/js/translated/bom.js:335
+#: part/models.py:2578 templates/js/translated/bom.js:452
+#: templates/js/translated/bom.js:526
+#: templates/js/translated/table_filters.js:86
msgid "Optional"
msgstr ""
-#: part/models.py:2379
+#: part/models.py:2578
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2382
+#: part/models.py:2581
msgid "Overage"
msgstr ""
-#: part/models.py:2383
+#: part/models.py:2582
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2585
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2588
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "Checksum"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2395 templates/js/translated/bom.js:352
-#: templates/js/translated/bom.js:359
+#: part/models.py:2594 templates/js/translated/bom.js:543
+#: templates/js/translated/bom.js:550
#: templates/js/translated/table_filters.js:68
+#: templates/js/translated/table_filters.js:82
msgid "Inherited"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2595
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2401 templates/js/translated/bom.js:344
+#: part/models.py:2600 templates/js/translated/bom.js:535
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2402
+#: part/models.py:2601
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2487 stock/models.py:341
+#: part/models.py:2686 stock/models.py:371
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2496 part/models.py:2498
+#: part/models.py:2695 part/models.py:2697
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2620
+#: part/models.py:2826
+msgid "BOM Item Substitute"
+msgstr ""
+
+#: part/models.py:2848
+msgid "Substitute part cannot be the same as the master part"
+msgstr ""
+
+#: part/models.py:2860
+msgid "Parent BOM item"
+msgstr ""
+
+#: part/models.py:2868
+msgid "Substitute part"
+msgstr ""
+
+#: part/models.py:2879
msgid "Part 1"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Part 2"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2656
+#: part/models.py:2915
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
+#: part/tasks.py:53
+msgid "Low stock notification"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
-#: part/templates/part/bom.html:14
+#: part/templates/part/bom.html:15
#, python-format
msgid "The BOM for %(part)s has changed, and must be validated.
"
msgstr ""
-#: part/templates/part/bom.html:16
+#: part/templates/part/bom.html:17
#, python-format
msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s"
msgstr ""
-#: part/templates/part/bom.html:20
+#: part/templates/part/bom.html:21
#, python-format
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:27
-msgid "Remove selected BOM items"
-msgstr ""
-
-#: part/templates/part/bom.html:30
-msgid "Import BOM data"
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:383
+msgid "BOM actions"
msgstr ""
#: part/templates/part/bom.html:34
-msgid "Copy BOM from parent part"
-msgstr ""
-
-#: part/templates/part/bom.html:38
-msgid "New BOM Item"
-msgstr ""
-
-#: part/templates/part/bom.html:41
-msgid "Finish Editing"
-msgstr ""
-
-#: part/templates/part/bom.html:46
-msgid "Edit BOM"
-msgstr ""
-
-#: part/templates/part/bom.html:50
-msgid "Validate Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:56 part/views.py:1220
-msgid "Export Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:59
-msgid "Print BOM Report"
+msgid "Delete Items"
msgstr ""
#: part/templates/part/bom_duplicate.html:13
@@ -4360,28 +4180,23 @@ msgstr ""
msgid "Select Part"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:13
-#: part/templates/part/bom_upload/upload_file.html:16
-msgid "Return To BOM"
-msgstr ""
-
-#: part/templates/part/bom_upload/upload_file.html:27
+#: part/templates/part/bom_upload/upload_file.html:12
msgid "Upload Bill of Materials"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:46
+#: part/templates/part/bom_upload/upload_file.html:32
msgid "Requirements for BOM upload"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "The BOM file must contain the required named columns as provided in the "
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "BOM Upload Template"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:49
+#: part/templates/part/bom_upload/upload_file.html:35
msgid "Each part must already exist in the database"
msgstr ""
@@ -4394,93 +4209,113 @@ msgstr ""
msgid "This will validate each line in the BOM."
msgstr ""
-#: part/templates/part/category.html:33
-msgid "All parts"
+#: part/templates/part/category.html:24 part/templates/part/category.html:28
+msgid "You are subscribed to notifications for this category"
+msgstr ""
+
+#: part/templates/part/category.html:32
+msgid "Subscribe to notifications for this category"
msgstr ""
#: part/templates/part/category.html:38
+msgid "Category Actions"
+msgstr ""
+
+#: part/templates/part/category.html:43
+#, fuzzy
+#| msgid "Select Category"
+msgid "Edit category"
+msgstr "Selezione una categoria"
+
+#: part/templates/part/category.html:44
+#, fuzzy
+#| msgid "Select Category"
+msgid "Edit Category"
+msgstr "Selezione una categoria"
+
+#: part/templates/part/category.html:48
+#, fuzzy
+#| msgid "Select Category"
+msgid "Delete category"
+msgstr "Selezione una categoria"
+
+#: part/templates/part/category.html:49
+#, fuzzy
+#| msgid "Select Category"
+msgid "Delete Category"
+msgstr "Selezione una categoria"
+
+#: part/templates/part/category.html:57
msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:44
-msgid "Edit part category"
+#: part/templates/part/category.html:58
+#, fuzzy
+#| msgid "Select Category"
+msgid "New Category"
+msgstr "Selezione una categoria"
+
+#: part/templates/part/category.html:67
+msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:49
-msgid "Delete part category"
-msgstr ""
-
-#: part/templates/part/category.html:59 part/templates/part/category.html:98
-msgid "Category Details"
-msgstr ""
-
-#: part/templates/part/category.html:64
+#: part/templates/part/category.html:79
msgid "Category Path"
msgstr ""
-#: part/templates/part/category.html:69
+#: part/templates/part/category.html:84
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:175
-#: part/templates/part/category_navbar.html:14
-#: part/templates/part/category_navbar.html:17
+#: part/templates/part/category.html:103 part/templates/part/category.html:194
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:93
+#: part/templates/part/category.html:108
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:126
+#: part/templates/part/category.html:145
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:142
+#: part/templates/part/category.html:146 part/templates/part/category.html:170
msgid "Export"
msgstr ""
-#: part/templates/part/category.html:130
+#: part/templates/part/category.html:149
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 templates/js/translated/bom.js:39
+#: part/templates/part/category.html:150 templates/js/translated/bom.js:40
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:141
+#: part/templates/part/category.html:168
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:142
+#: part/templates/part/category.html:170
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:146
-msgid "View list display"
-msgstr ""
-
-#: part/templates/part/category.html:149
-msgid "View grid display"
-msgstr ""
-
-#: part/templates/part/category.html:165
+#: part/templates/part/category.html:184
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:254
+#: part/templates/part/category.html:261
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:281
+#: part/templates/part/category.html:288
msgid "Create Part"
msgstr ""
@@ -4519,12 +4354,7 @@ msgstr ""
msgid "If this category is deleted, these parts will be moved to the top-level category Teile"
msgstr ""
-#: part/templates/part/category_navbar.html:29
-#: part/templates/part/category_navbar.html:32
-msgid "Import Parts"
-msgstr ""
-
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365
msgid "Duplicate Part"
msgstr ""
@@ -4549,311 +4379,315 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)"
msgstr ""
#: part/templates/part/detail.html:16
+msgid "Part Details"
+msgstr ""
+
+#: part/templates/part/detail.html:66
+msgid "Minimum stock level"
+msgstr ""
+
+#: part/templates/part/detail.html:97
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/detail.html:124
msgid "Part Stock"
msgstr ""
-#: part/templates/part/detail.html:21
+#: part/templates/part/detail.html:136
#, python-format
msgid "Showing stock for all variants of %(full_name)s"
msgstr ""
-#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99
+#: part/templates/part/detail.html:146
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:36
+#: part/templates/part/detail.html:151
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:77
-msgid "New sales order"
-msgstr ""
-
-#: part/templates/part/detail.html:77
-msgid "New Order"
-msgstr ""
-
-#: part/templates/part/detail.html:90
+#: part/templates/part/detail.html:208
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27
+#: part/templates/part/detail.html:249
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:137
+#: part/templates/part/detail.html:253
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:138
+#: part/templates/part/detail.html:254
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:161
+#: part/templates/part/detail.html:281
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107
-#: part/templates/part/navbar.html:110
+#: part/templates/part/detail.html:315
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:188
+#: part/templates/part/detail.html:319 part/templates/part/detail.html:320
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43
-#: part/templates/part/navbar.html:46
+#: part/templates/part/detail.html:366
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:237
+#: part/templates/part/detail.html:371
+msgid "Export actions"
+msgstr ""
+
+#: part/templates/part/detail.html:375
+msgid "Export BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:377
+msgid "Print BOM Report"
+msgstr ""
+
+#: part/templates/part/detail.html:387
+msgid "Upload BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:389 templates/js/translated/part.js:266
+msgid "Copy BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:391 part/views.py:820
+msgid "Validate BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:396
+msgid "New BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:397
+msgid "Add BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:410
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:253
+#: part/templates/part/detail.html:427
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:260
-msgid "Start New Build"
-msgstr ""
-
-#: part/templates/part/detail.html:274
+#: part/templates/part/detail.html:452
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:283
+#: part/templates/part/detail.html:462
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:305
+#: part/templates/part/detail.html:489
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:317
+#: part/templates/part/detail.html:505
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:502
+#: part/templates/part/detail.html:686
msgid "Delete selected BOM items?"
msgstr ""
-#: part/templates/part/detail.html:503
+#: part/templates/part/detail.html:687
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:554
+#: part/templates/part/detail.html:738
msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:699
+#: part/templates/part/detail.html:876
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:755
+#: part/templates/part/detail.html:933
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:907
+#: part/templates/part/detail.html:1085
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:919
+#: part/templates/part/detail.html:1097
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:931
+#: part/templates/part/detail.html:1109
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1020
+#: part/templates/part/detail.html:1198
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
#: part/templates/part/import_wizard/ajax_part_upload.html:29
-#: part/templates/part/import_wizard/part_upload.html:51
+#: part/templates/part/import_wizard/part_upload.html:52
msgid "Unsuffitient privileges."
msgstr ""
-#: part/templates/part/import_wizard/part_upload.html:14
+#: part/templates/part/import_wizard/part_upload.html:15
msgid "Import Parts from File"
msgstr ""
-#: part/templates/part/navbar.html:30
-msgid "Variants"
-msgstr ""
-
-#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/navbar.html:70
-msgid "Prices"
-msgstr ""
-
-#: part/templates/part/navbar.html:102
-msgid "Test Templates"
-msgstr ""
-
#: part/templates/part/part_app_base.html:12
msgid "Part List"
msgstr ""
+#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31
+msgid "You are subscribed to notifications for this part"
+msgstr ""
+
#: part/templates/part/part_base.html:35
-msgid "Part is a template part (variants can be made from this part)"
+msgid "Subscribe to notifications for this part"
msgstr ""
-#: part/templates/part/part_base.html:38
-msgid "Part can be assembled from other parts"
-msgstr ""
-
-#: part/templates/part/part_base.html:41
-msgid "Part can be used in assemblies"
-msgstr ""
-
-#: part/templates/part/part_base.html:44
-msgid "Part stock is tracked by serial number"
-msgstr ""
-
-#: part/templates/part/part_base.html:47
-msgid "Part can be purchased from external suppliers"
-msgstr ""
-
-#: part/templates/part/part_base.html:50
-msgid "Part can be sold to customers"
-msgstr ""
-
-#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504
-#: templates/js/translated/company.js:761 templates/js/translated/part.js:443
-#: templates/js/translated/part.js:520
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:73
-msgid "Star this part"
-msgstr ""
-
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:75
-#: stock/templates/stock/location.html:51
+#: part/templates/part/part_base.html:43
+#: stock/templates/stock/item_base.html:28
+#: stock/templates/stock/location.html:29
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:82
-#: stock/templates/stock/item_base.html:77
-#: stock/templates/stock/location.html:53 templates/qr_button.html:1
+#: part/templates/part/part_base.html:45
+#: stock/templates/stock/item_base.html:32
+#: stock/templates/stock/location.html:31 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:83
-#: stock/templates/stock/item_base.html:93
-#: stock/templates/stock/location.html:54
+#: part/templates/part/part_base.html:46
+#: stock/templates/stock/item_base.html:48
+#: stock/templates/stock/location.html:32
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:89
+#: part/templates/part/part_base.html:51
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:95
-#: stock/templates/stock/item_base.html:142
-#: stock/templates/stock/location.html:62
+#: part/templates/part/part_base.html:56
+#: stock/templates/stock/item_base.html:103
+#: stock/templates/stock/location.html:40
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:102
+#: part/templates/part/part_base.html:63
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:108
+#: part/templates/part/part_base.html:69
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:125
+#: part/templates/part/part_base.html:84
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:128
+#: part/templates/part/part_base.html:87
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:131
+#: part/templates/part/part_base.html:90
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:134
+#: part/templates/part/part_base.html:93
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:146
+#: part/templates/part/part_base.html:109
+msgid "Part is a template part (variants can be made from this part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:113
+msgid "Part can be assembled from other parts"
+msgstr ""
+
+#: part/templates/part/part_base.html:117
+msgid "Part can be used in assemblies"
+msgstr ""
+
+#: part/templates/part/part_base.html:121
+msgid "Part stock is tracked by serial number"
+msgstr ""
+
+#: part/templates/part/part_base.html:125
+msgid "Part can be purchased from external suppliers"
+msgstr ""
+
+#: part/templates/part/part_base.html:129
+msgid "Part can be sold to customers"
+msgstr ""
+
+#: part/templates/part/part_base.html:135
+#: part/templates/part/part_base.html:143
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:136
+#: templates/js/translated/company.js:504
+#: templates/js/translated/company.js:761
+#: templates/js/translated/model_renderers.js:175
+#: templates/js/translated/part.js:464 templates/js/translated/part.js:541
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:155
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:161
-#: templates/js/translated/model_renderers.js:169
-#: templates/js/translated/order.js:1503
-#: templates/js/translated/table_filters.js:166
+#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524
+#: templates/js/translated/table_filters.js:182
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960
+#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961
msgid "On Order"
msgstr ""
-#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:181
+#: part/templates/part/part_base.html:199
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:188
+#: part/templates/part/part_base.html:206
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373
+#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776
-#: templates/js/translated/part.js:964
+#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793
+#: templates/js/translated/part.js:965
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:223
-#: part/templates/part/part_base.html:531
-#: part/templates/part/part_base.html:557
-msgid "Show Part Details"
-msgstr ""
-
-#: part/templates/part/part_base.html:283
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144
+#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:445
+#: part/templates/part/part_base.html:363
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:526
-#: part/templates/part/part_base.html:551
-msgid "Hide Part Details"
-msgstr ""
-
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4877,7 +4711,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
-#: templates/js/translated/bom.js:327
+#: templates/js/translated/bom.js:518
msgid "No supplier pricing available"
msgstr ""
@@ -4911,13 +4745,14 @@ msgstr ""
msgid "No pricing information is available for this part."
msgstr ""
-#: part/templates/part/part_thumb.html:20
+#: part/templates/part/part_thumb.html:11
msgid "Select from existing images"
msgstr ""
#: part/templates/part/partial_delete.html:9
#, python-format
-msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
+msgid ""
+"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
"
Disable the \"Active\" part attribute and re-try.\n"
" "
msgstr ""
@@ -4980,7 +4815,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321
+#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512
msgid "Supplier Cost"
msgstr ""
@@ -5002,7 +4837,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:215 part/views.py:1801
+#: part/templates/part/prices.html:215 part/views.py:1853
msgid "Add Internal Price Break"
msgstr ""
@@ -5022,13 +4857,13 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297
-#: templates/js/translated/model_renderers.js:167
-#: templates/js/translated/part.js:766 templates/js/translated/part.js:968
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474
+#: templates/js/translated/part.js:428 templates/js/translated/part.js:783
+#: templates/js/translated/part.js:969
msgid "No Stock"
msgstr ""
-#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166
+#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158
msgid "Low Stock"
msgstr ""
@@ -5041,135 +4876,140 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:106
+#: part/templatetags/inventree_extras.py:113
msgid "Unknown database"
msgstr ""
-#: part/views.py:94
+#: part/views.py:95
msgid "Add Related Part"
msgstr ""
-#: part/views.py:149
+#: part/views.py:150
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:160
+#: part/views.py:161
msgid "Set Part Category"
msgstr ""
-#: part/views.py:210
+#: part/views.py:211
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:270
+#: part/views.py:283
msgid "Match References"
msgstr ""
-#: part/views.py:526
+#: part/views.py:567
msgid "None"
msgstr ""
-#: part/views.py:585
+#: part/views.py:626
msgid "Part QR Code"
msgstr ""
-#: part/views.py:687
+#: part/views.py:728
msgid "Select Part Image"
msgstr ""
-#: part/views.py:713
+#: part/views.py:754
msgid "Updated part image"
msgstr ""
-#: part/views.py:716
+#: part/views.py:757
msgid "Part image not found"
msgstr ""
-#: part/views.py:728
+#: part/views.py:769
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:758
+#: part/views.py:799
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:779
-msgid "Validate BOM"
-msgstr ""
-
-#: part/views.py:800
+#: part/views.py:841
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:811
+#: part/views.py:852
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:884
+#: part/views.py:925
msgid "Match Parts"
msgstr ""
-#: part/views.py:1272
+#: part/views.py:1261
+msgid "Export Bill of Materials"
+msgstr ""
+
+#: part/views.py:1313
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1279
+#: part/views.py:1320
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1288
+#: part/views.py:1329
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1437
+#: part/views.py:1478
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1447
+#: part/views.py:1488
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1454
+#: part/views.py:1495
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1502 templates/js/translated/part.js:308
+#: part/views.py:1554 templates/js/translated/part.js:309
msgid "Edit Part Category"
msgstr ""
-#: part/views.py:1540
+#: part/views.py:1592
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1546
+#: part/views.py:1598
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1555
+#: part/views.py:1607
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1656
+#: part/views.py:1708
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1712
+#: part/views.py:1764
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:1734
+#: part/views.py:1786
msgid "Added new price break"
msgstr ""
-#: part/views.py:1810
+#: part/views.py:1862
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:1818
+#: part/views.py:1870
msgid "Delete Internal Price Break"
msgstr ""
+#: report/api.py:234 report/api.py:278
+#, python-brace-format
+msgid "Template file '{filename}' is missing or does not exist"
+msgstr ""
+
#: report/models.py:182
msgid "Template name"
msgstr ""
@@ -5206,51 +5046,51 @@ msgstr ""
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:380
+#: report/models.py:382
msgid "Build Filters"
msgstr ""
-#: report/models.py:381
+#: report/models.py:383
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:423
+#: report/models.py:425
msgid "Part Filters"
msgstr ""
-#: report/models.py:424
+#: report/models.py:426
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:458
+#: report/models.py:460
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:496
+#: report/models.py:498
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:546
+#: report/models.py:548
msgid "Snippet"
msgstr ""
-#: report/models.py:547
+#: report/models.py:549
msgid "Report snippet file"
msgstr ""
-#: report/models.py:551
+#: report/models.py:553
msgid "Snippet file description"
msgstr ""
-#: report/models.py:586
+#: report/models.py:588
msgid "Asset"
msgstr ""
-#: report/models.py:587
+#: report/models.py:589
msgid "Report asset file"
msgstr ""
-#: report/models.py:590
+#: report/models.py:592
msgid "Asset file description"
msgstr ""
@@ -5267,543 +5107,584 @@ msgstr ""
msgid "Stock Item Test Report"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:83
-msgid "Test Results"
+#: report/templates/report/inventree_test_report_base.html:79
+#: stock/models.py:530 stock/templates/stock/item_base.html:238
+#: templates/js/translated/build.js:233 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1013
+#: templates/js/translated/model_renderers.js:95
+#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355
+msgid "Serial Number"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:1804
+msgid "Test Results"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:93
+#: stock/models.py:1855
msgid "Test"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:89
-#: stock/models.py:1810
+#: report/templates/report/inventree_test_report_base.html:94
+#: stock/models.py:1861
msgid "Result"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502
+#: report/templates/report/inventree_test_report_base.html:97
+#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887
msgid "Date"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:103
+#: report/templates/report/inventree_test_report_base.html:108
msgid "Pass"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:105
+#: report/templates/report/inventree_test_report_base.html:110
msgid "Fail"
msgstr ""
-#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556
-#: stock/templates/stock/item_base.html:395
-#: templates/js/translated/stock.js:946
+#: report/templates/report/inventree_test_report_base.html:123
+msgid "Installed Items"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:137
+#: templates/js/translated/stock.js:2147
+msgid "Serial"
+msgstr ""
+
+#: stock/api.py:422
+msgid "Quantity is required"
+msgstr ""
+
+#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587
+#: stock/templates/stock/item_base.html:382
+#: templates/js/translated/stock.js:1246
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:308
+#: stock/forms.py:92 stock/forms.py:266
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:83
+#: stock/forms.py:95
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:134
+#: stock/forms.py:150
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:138 stock/forms.py:282
+#: stock/forms.py:154 stock/forms.py:238
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:168 stock/forms.py:224
-msgid "Select test report template"
-msgstr ""
-
-#: stock/forms.py:240
+#: stock/forms.py:194
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:270
+#: stock/forms.py:224
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:280
+#: stock/forms.py:236
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm removal of installed stock items"
msgstr ""
-#: stock/models.py:57 stock/models.py:593
+#: stock/models.py:60 stock/models.py:624
+#: stock/templates/stock/item_base.html:422
msgid "Owner"
msgstr ""
-#: stock/models.py:58 stock/models.py:594
+#: stock/models.py:61 stock/models.py:625
msgid "Select Owner"
msgstr ""
-#: stock/models.py:322
+#: stock/models.py:352
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:358
+#: stock/models.py:388
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:368 stock/models.py:377
+#: stock/models.py:398 stock/models.py:407
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:369
+#: stock/models.py:399
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:391
+#: stock/models.py:421
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:397
+#: stock/models.py:427
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:404
+#: stock/models.py:434
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:446
+#: stock/models.py:476
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:455
+#: stock/models.py:485
msgid "Base part"
msgstr ""
-#: stock/models.py:464
+#: stock/models.py:493
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8
+#: stock/models.py:498 stock/templates/stock/location.html:12
+#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:472
+#: stock/models.py:501
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:479
+#: stock/models.py:508
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:484 stock/templates/stock/item_base.html:284
+#: stock/models.py:513 stock/templates/stock/item_base.html:271
msgid "Installed In"
msgstr ""
-#: stock/models.py:487
+#: stock/models.py:516
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:503
+#: stock/models.py:532
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:515
+#: stock/models.py:546
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:519
+#: stock/models.py:550
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:528
+#: stock/models.py:559
msgid "Source Build"
msgstr ""
-#: stock/models.py:530
+#: stock/models.py:561
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:541
+#: stock/models.py:572
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:544
+#: stock/models.py:575
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:550
+#: stock/models.py:581
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:557
+#: stock/models.py:588
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:580 stock/templates/stock/item.html:99
-#: stock/templates/stock/navbar.html:54
+#: stock/models.py:611 stock/templates/stock/item.html:111
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:589
+#: stock/models.py:620
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:599
+#: stock/models.py:630
msgid "Scheduled for deletion"
msgstr ""
-#: stock/models.py:600
+#: stock/models.py:631
msgid "This StockItem will be deleted by the background worker"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1094
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1069
+#: stock/models.py:1100
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1075
+#: stock/models.py:1106
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1078
+#: stock/models.py:1109
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1081
+#: stock/models.py:1112
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1088
+#: stock/models.py:1119
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1246
+#: stock/models.py:1277
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:1724
+#: stock/models.py:1775
msgid "Entry notes"
msgstr ""
-#: stock/models.py:1781
+#: stock/models.py:1832
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:1787
+#: stock/models.py:1838
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:1805
+#: stock/models.py:1856
msgid "Test name"
msgstr ""
-#: stock/models.py:1811 templates/js/translated/table_filters.js:244
+#: stock/models.py:1862 templates/js/translated/table_filters.js:260
msgid "Test result"
msgstr ""
-#: stock/models.py:1817
+#: stock/models.py:1868
msgid "Test output value"
msgstr ""
-#: stock/models.py:1824
+#: stock/models.py:1875
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:1830
+#: stock/models.py:1881
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:424
-msgid "StockItem primary key value"
+#: stock/serializers.py:166
+msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:452
-msgid "Stock transaction notes"
+#: stock/serializers.py:173
+msgid "Purchase currency of this stock item"
msgstr ""
-#: stock/serializers.py:462
-msgid "A list of stock items must be provided"
+#: stock/serializers.py:287
+msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:554
+#: stock/serializers.py:302
+#, python-brace-format
+msgid "Quantity must not exceed available stock quantity ({q})"
+msgstr ""
+
+#: stock/serializers.py:308
+#, fuzzy
+#| msgid "No serial numbers found"
+msgid "Enter serial numbers for new items"
+msgstr "Nessun numero di serie trovato"
+
+#: stock/serializers.py:319 stock/serializers.py:687
msgid "Destination stock location"
msgstr ""
-#: stock/templates/stock/item.html:17
+#: stock/serializers.py:326
+msgid "Optional note field"
+msgstr ""
+
+#: stock/serializers.py:339
+msgid "Serial numbers cannot be assigned to this part"
+msgstr ""
+
+#: stock/serializers.py:557
+msgid "StockItem primary key value"
+msgstr ""
+
+#: stock/serializers.py:585
+msgid "Stock transaction notes"
+msgstr ""
+
+#: stock/serializers.py:595
+msgid "A list of stock items must be provided"
+msgstr ""
+
+#: stock/templates/stock/item.html:18
msgid "Stock Tracking Information"
msgstr ""
-#: stock/templates/stock/item.html:30
+#: stock/templates/stock/item.html:29
msgid "New Entry"
msgstr ""
-#: stock/templates/stock/item.html:43
+#: stock/templates/stock/item.html:48
msgid "Child Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:50
+#: stock/templates/stock/item.html:55
msgid "This stock item does not have any child items"
msgstr ""
-#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19
-#: stock/templates/stock/navbar.html:22
+#: stock/templates/stock/item.html:64
msgid "Test Data"
msgstr ""
-#: stock/templates/stock/item.html:66
-msgid "Delete Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:70
-msgid "Add Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95
+#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50
msgid "Test Report"
msgstr ""
-#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27
+#: stock/templates/stock/item.html:72
+msgid "Delete Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:76
+msgid "Add Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:133
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:125 stock/views.py:511
+#: stock/templates/stock/item.html:137 stock/views.py:515
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326
+#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:346
+#: stock/templates/stock/item.html:363
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:360
+#: stock/templates/stock/item.html:377
msgid "Delete Test Result"
msgstr ""
-#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:399
-#: templates/js/translated/table_filters.js:225
-msgid "Expired"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:401
-#: templates/js/translated/table_filters.js:231
-msgid "Stale"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:80
-#: templates/js/translated/barcode.js:331
-#: templates/js/translated/barcode.js:336
+#: stock/templates/stock/item_base.html:35
+#: templates/js/translated/barcode.js:330
+#: templates/js/translated/barcode.js:335
msgid "Unlink Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/item_base.html:37
msgid "Link Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31
+#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24
msgid "Scan to Location"
msgstr ""
-#: stock/templates/stock/item_base.html:91
+#: stock/templates/stock/item_base.html:46
msgid "Printing actions"
msgstr ""
-#: stock/templates/stock/item_base.html:104
+#: stock/templates/stock/item_base.html:65
msgid "Stock adjustment actions"
msgstr ""
-#: stock/templates/stock/item_base.html:108
-#: stock/templates/stock/location.html:69 templates/stock_table.html:57
+#: stock/templates/stock/item_base.html:69
+#: stock/templates/stock/location.html:47 templates/stock_table.html:50
msgid "Count stock"
msgstr ""
-#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55
+#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48
msgid "Add stock"
msgstr ""
-#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56
+#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49
msgid "Remove stock"
msgstr ""
-#: stock/templates/stock/item_base.html:117
+#: stock/templates/stock/item_base.html:78
msgid "Serialize stock"
msgstr ""
-#: stock/templates/stock/item_base.html:121
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/location.html:53
msgid "Transfer stock"
msgstr ""
-#: stock/templates/stock/item_base.html:124
+#: stock/templates/stock/item_base.html:85
msgid "Assign to customer"
msgstr ""
-#: stock/templates/stock/item_base.html:127
+#: stock/templates/stock/item_base.html:88
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install"
msgstr ""
-#: stock/templates/stock/item_base.html:145
+#: stock/templates/stock/item_base.html:106
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:109
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:150
+#: stock/templates/stock/item_base.html:111
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:153
+#: stock/templates/stock/item_base.html:114
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:173
+#: stock/templates/stock/item_base.html:136
+#: stock/templates/stock/item_base.html:386
+#: templates/js/translated/table_filters.js:241
+msgid "Expired"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/table_filters.js:247
+msgid "Stale"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:161
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:180
+#: stock/templates/stock/item_base.html:168
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:181
+#: stock/templates/stock/item_base.html:169
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:194
+#: stock/templates/stock/item_base.html:182
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:202
+#: stock/templates/stock/item_base.html:190
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:210
+#: stock/templates/stock/item_base.html:198
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:216
+#: stock/templates/stock/item_base.html:204
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:220
+#: stock/templates/stock/item_base.html:208
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:224
+#: stock/templates/stock/item_base.html:212
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:232
-msgid "Stock Item Details"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:241
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:260
+#: stock/templates/stock/item_base.html:247
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:303
-#: templates/js/translated/build.js:658
+#: stock/templates/stock/item_base.html:290
+#: templates/js/translated/build.js:1035
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:310
+#: stock/templates/stock/item_base.html:297
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:352
+#: stock/templates/stock/item_base.html:339
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:370
+#: stock/templates/stock/item_base.html:357
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:399
+#: stock/templates/stock/item_base.html:386
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:401
+#: stock/templates/stock/item_base.html:388
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:408
-#: templates/js/translated/stock.js:959
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1259
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:413
+#: stock/templates/stock/item_base.html:400
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:417
+#: stock/templates/stock/item_base.html:404
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:428
+#: stock/templates/stock/item_base.html:415
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:516
-msgid "Save"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:528
+#: stock/templates/stock/item_base.html:504
msgid "Edit Stock Status"
msgstr ""
@@ -5857,106 +5738,68 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:20
-msgid "You are not in the list of owners of this location. This stock location cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/location.html:37
-msgid "All stock items"
-msgstr ""
-
-#: stock/templates/stock/location.html:42
-msgid "Create new stock location"
-msgstr ""
-
-#: stock/templates/stock/location.html:55
+#: stock/templates/stock/location.html:33
msgid "Check-in Items"
msgstr ""
-#: stock/templates/stock/location.html:83
+#: stock/templates/stock/location.html:61
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:85
+#: stock/templates/stock/location.html:63
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:87
+#: stock/templates/stock/location.html:65
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:99
-msgid "Location Details"
+#: stock/templates/stock/location.html:75
+msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:104
-msgid "Location Path"
+#: stock/templates/stock/location.html:76
+msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:109
-msgid "Location Description"
+#: stock/templates/stock/location.html:86
+msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:114
-#: stock/templates/stock/location.html:155
-#: stock/templates/stock/location_navbar.html:11
-#: stock/templates/stock/location_navbar.html:14
+#: stock/templates/stock/location.html:95
+msgid "You are not in the list of owners of this location. This stock location cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/location.html:113
+#: stock/templates/stock/location.html:160
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:124
-msgid "Stock Details"
+#: stock/templates/stock/location.html:118
+#: stock/templates/stock/location.html:132
+#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158
+#: templates/js/translated/stock.js:1871 templates/stats.html:93
+#: templates/stats.html:102 users/models.py:43
+msgid "Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196
+#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170
#: templates/stats.html:97 users/models.py:42
msgid "Stock Locations"
msgstr ""
-#: stock/templates/stock/location.html:162 templates/stock_table.html:37
+#: stock/templates/stock/location.html:167 templates/stock_table.html:30
msgid "Printing Actions"
msgstr ""
-#: stock/templates/stock/location.html:166 templates/stock_table.html:41
+#: stock/templates/stock/location.html:171 templates/stock_table.html:34
msgid "Print labels"
msgstr ""
-#: stock/templates/stock/location.html:250
-msgid "New Location"
-msgstr ""
-
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
-msgstr ""
-
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: stock/templates/stock/navbar.html:11
-msgid "Stock Item Tracking"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:14
-msgid "History"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:30
-msgid "Installed Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:38
-msgid "Child Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:41
-msgid "Children"
-msgstr ""
-
-#: stock/templates/stock/stock_adjust.html:43
-msgid "Remove item"
-msgstr ""
-
#: stock/templates/stock/stock_app_base.html:16
msgid "Loading..."
msgstr ""
@@ -5965,7 +5808,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912
msgid "Convert Stock Item"
msgstr ""
@@ -5986,104 +5829,100 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:158
+#: stock/views.py:162
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:265 stock/views.py:888 stock/views.py:1010
-#: stock/views.py:1375
+#: stock/views.py:269 stock/views.py:891 stock/views.py:1017
+#: stock/views.py:1299
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:280
+#: stock/views.py:284
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:299
+#: stock/views.py:303
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:308
+#: stock/views.py:312
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:332
+#: stock/views.py:336
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:345
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:352
+#: stock/views.py:356
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:363
+#: stock/views.py:367
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:380
+#: stock/views.py:384
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:485
+#: stock/views.py:489
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:660
+#: stock/views.py:663
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:757 templates/js/translated/stock.js:321
+#: stock/views.py:760 templates/js/translated/stock.js:618
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:768
+#: stock/views.py:771
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:790
+#: stock/views.py:793 templates/js/translated/stock.js:288
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:936
+#: stock/views.py:943
msgid "Create new Stock Location"
msgstr ""
-#: stock/views.py:1027
-msgid "Serialize Stock"
-msgstr ""
-
-#: stock/views.py:1120
+#: stock/views.py:1044
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1262
+#: stock/views.py:1186 templates/js/translated/stock.js:268
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1344
+#: stock/views.py:1268
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1444
+#: stock/views.py:1368
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1457
+#: stock/views.py:1381
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1468
+#: stock/views.py:1392
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1475
+#: stock/views.py:1399
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1484
+#: stock/views.py:1408
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6107,63 +5946,67 @@ msgstr ""
msgid "Index"
msgstr ""
-#: templates/InvenTree/index.html:105
-msgid "Starred Parts"
+#: templates/InvenTree/index.html:88
+msgid "Subscribed Parts"
msgstr ""
-#: templates/InvenTree/index.html:115
+#: templates/InvenTree/index.html:98
+msgid "Subscribed Categories"
+msgstr ""
+
+#: templates/InvenTree/index.html:108
msgid "Latest Parts"
msgstr ""
-#: templates/InvenTree/index.html:126
+#: templates/InvenTree/index.html:119
msgid "BOM Waiting Validation"
msgstr ""
-#: templates/InvenTree/index.html:153
+#: templates/InvenTree/index.html:145
msgid "Recently Updated"
msgstr ""
-#: templates/InvenTree/index.html:176
+#: templates/InvenTree/index.html:168
msgid "Depleted Stock"
msgstr ""
-#: templates/InvenTree/index.html:199
+#: templates/InvenTree/index.html:191
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:202
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:232
+#: templates/InvenTree/index.html:224
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:243
+#: templates/InvenTree/index.html:235
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:263
+#: templates/InvenTree/index.html:255
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:274
+#: templates/InvenTree/index.html:266
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:294
+#: templates/InvenTree/index.html:286
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:305
+#: templates/InvenTree/index.html:297
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14
+#: templates/InvenTree/search.html:8
msgid "Search Results"
msgstr ""
-#: templates/InvenTree/search.html:24
+#: templates/InvenTree/search.html:22
msgid "Enter a search query"
msgstr ""
@@ -6183,23 +6026,23 @@ msgstr ""
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:23
+#: templates/InvenTree/settings/currencies.html:19
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:27
+#: templates/InvenTree/settings/currencies.html:24
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:37
+#: templates/InvenTree/settings/currencies.html:38
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:43
+#: templates/InvenTree/settings/currencies.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:48
+#: templates/InvenTree/settings/currencies.html:49
msgid "Update Now"
msgstr ""
@@ -6207,147 +6050,74 @@ msgstr ""
msgid "Server Settings"
msgstr ""
-#: templates/InvenTree/settings/header.html:7
-msgid "Setting"
-msgstr ""
-
#: templates/InvenTree/settings/login.html:9
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:12
-#: templates/InvenTree/settings/user_settings.html:9
-msgid "User Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:15
-#: templates/InvenTree/settings/navbar.html:17
-msgid "Account"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:21
-#: templates/InvenTree/settings/navbar.html:23
-msgid "Home Page"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29
-#: templates/js/translated/tables.js:375 templates/search_form.html:6
-#: templates/search_form.html:8
-msgid "Search"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:33
-#: templates/InvenTree/settings/navbar.html:35
-msgid "Labels"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:39
-#: templates/InvenTree/settings/navbar.html:41
-msgid "Reports"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:45
-#: templates/InvenTree/settings/navbar.html:47
-msgid "Forms"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:52
-#: templates/InvenTree/settings/navbar.html:54
-#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90
-msgid "Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:62
-msgid "InvenTree Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:65
-#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87
-msgid "Login"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:77
-#: templates/InvenTree/settings/navbar.html:79
-msgid "Barcodes"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85
-msgid "Currencies"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91
-msgid "Reporting"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103
-msgid "Categories"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:7
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:12
-msgid "Part Options"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:43
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:47
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:59
+#: templates/InvenTree/settings/part.html:61
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/po.html:9
+#: templates/InvenTree/settings/po.html:7
msgid "Purchase Order Settings"
msgstr ""
-#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:29
+#: templates/InvenTree/settings/setting.html:28
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:41
+#: templates/InvenTree/settings/setting.html:39
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:154
+#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93
+msgid "Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+msgid "Edit Global Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+msgid "Edit User Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:148
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:176
-#: templates/InvenTree/settings/settings.html:275
+#: templates/InvenTree/settings/settings.html:170
+#: templates/InvenTree/settings/settings.html:269
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:177
-#: templates/InvenTree/settings/settings.html:276
+#: templates/InvenTree/settings/settings.html:171
+#: templates/InvenTree/settings/settings.html:270
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:255
+#: templates/InvenTree/settings/settings.html:249
msgid "No part parameter templates found"
msgstr ""
@@ -6363,134 +6133,158 @@ msgstr ""
msgid "Account Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:19
+#: templates/InvenTree/settings/user.html:18
#: templates/js/translated/helpers.js:26
msgid "Edit"
msgstr ""
-#: templates/InvenTree/settings/user.html:21
+#: templates/InvenTree/settings/user.html:20
#: templates/account/password_reset_from_key.html:4
#: templates/account/password_reset_from_key.html:7
msgid "Change Password"
msgstr ""
-#: templates/InvenTree/settings/user.html:28
+#: templates/InvenTree/settings/user.html:31
msgid "Username"
msgstr ""
-#: templates/InvenTree/settings/user.html:32
+#: templates/InvenTree/settings/user.html:35
msgid "First Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:36
+#: templates/InvenTree/settings/user.html:39
msgid "Last Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:42
-msgid "E-Mail"
+#: templates/InvenTree/settings/user.html:54
+msgid "The following email addresses are associated with your account:"
msgstr ""
-#: templates/InvenTree/settings/user.html:47
-msgid "The following e-mail addresses are associated with your account:"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:61
+#: templates/InvenTree/settings/user.html:74
msgid "Verified"
msgstr ""
-#: templates/InvenTree/settings/user.html:63
+#: templates/InvenTree/settings/user.html:76
msgid "Unverified"
msgstr ""
-#: templates/InvenTree/settings/user.html:65
+#: templates/InvenTree/settings/user.html:78
msgid "Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:71
+#: templates/InvenTree/settings/user.html:84
msgid "Make Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:72
+#: templates/InvenTree/settings/user.html:85
msgid "Re-send Verification"
msgstr ""
-#: templates/InvenTree/settings/user.html:73
-#: templates/InvenTree/settings/user.html:130
+#: templates/InvenTree/settings/user.html:86
+#: templates/InvenTree/settings/user.html:153
msgid "Remove"
msgstr ""
-#: templates/InvenTree/settings/user.html:80
+#: templates/InvenTree/settings/user.html:93
msgid "Warning:"
msgstr ""
-#: templates/InvenTree/settings/user.html:81
-msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc."
+#: templates/InvenTree/settings/user.html:94
+msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc."
msgstr ""
-#: templates/InvenTree/settings/user.html:88
-msgid "Add E-mail Address"
+#: templates/InvenTree/settings/user.html:101
+msgid "Add Email Address"
msgstr ""
-#: templates/InvenTree/settings/user.html:93
-msgid "Add E-mail"
+#: templates/InvenTree/settings/user.html:111
+msgid "Enter e-mail address"
msgstr ""
-#: templates/InvenTree/settings/user.html:100
+#: templates/InvenTree/settings/user.html:113
+msgid "Add Email"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:123
msgid "Social Accounts"
msgstr ""
-#: templates/InvenTree/settings/user.html:105
+#: templates/InvenTree/settings/user.html:128
msgid "You can sign in to your account using any of the following third party accounts:"
msgstr ""
-#: templates/InvenTree/settings/user.html:138
-msgid "You currently have no social network accounts connected to this account."
+#: templates/InvenTree/settings/user.html:162
+msgid "There are no social network accounts connected to your InvenTree account"
msgstr ""
-#: templates/InvenTree/settings/user.html:142
+#: templates/InvenTree/settings/user.html:167
msgid "Add a 3rd Party Account"
msgstr ""
-#: templates/InvenTree/settings/user.html:153
-msgid "Theme Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:174
-msgid "Set Theme"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:181
+#: templates/InvenTree/settings/user.html:177
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:200
+#: templates/InvenTree/settings/user.html:186
+#, fuzzy
+#| msgid "Select Category"
+msgid "Select language"
+msgstr "Selezione una categoria"
+
+#: templates/InvenTree/settings/user.html:202
#, python-format
msgid "%(lang_translated)s%% translated"
msgstr ""
-#: templates/InvenTree/settings/user.html:202
+#: templates/InvenTree/settings/user.html:204
msgid "No translations available"
msgstr ""
-#: templates/InvenTree/settings/user.html:209
+#: templates/InvenTree/settings/user.html:211
msgid "Set Language"
msgstr ""
-#: templates/InvenTree/settings/user.html:214
-msgid "Help the translation efforts!"
+#: templates/InvenTree/settings/user.html:213
+msgid "Some languages are not complete"
msgstr ""
#: templates/InvenTree/settings/user.html:215
+msgid "Show only sufficent"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:217
+msgid "Show them too"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:224
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:225
#, python-format
msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
msgstr ""
-#: templates/InvenTree/settings/user.html:223
-msgid "Do you really want to remove the selected e-mail address?"
+#: templates/InvenTree/settings/user.html:233
+msgid "Do you really want to remove the selected email address?"
msgstr ""
-#: templates/InvenTree/settings/user_forms.html:9
-msgid "Form Settings"
+#: templates/InvenTree/settings/user_display.html:9
+msgid "Display Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:25
+msgid "Theme Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:35
+#, fuzzy
+#| msgid "Select Category"
+msgid "Select theme"
+msgstr "Selezione una categoria"
+
+#: templates/InvenTree/settings/user_display.html:46
+msgid "Set Theme"
msgstr ""
#: templates/InvenTree/settings/user_homepage.html:9
@@ -6505,124 +6299,139 @@ msgstr ""
msgid "Search Settings"
msgstr ""
-#: templates/about.html:13
+#: templates/InvenTree/settings/user_settings.html:9
+msgid "User Settings"
+msgstr ""
+
+#: templates/about.html:10
msgid "InvenTree Version Information"
msgstr ""
-#: templates/about.html:22
+#: templates/about.html:11 templates/about.html:105
+#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:964 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
+msgid "Close"
+msgstr ""
+
+#: templates/about.html:20
msgid "InvenTree Version"
msgstr ""
-#: templates/about.html:27
+#: templates/about.html:25
msgid "Development Version"
msgstr ""
-#: templates/about.html:30
+#: templates/about.html:28
msgid "Up to Date"
msgstr ""
-#: templates/about.html:32
+#: templates/about.html:30
msgid "Update Available"
msgstr ""
-#: templates/about.html:42
+#: templates/about.html:40
msgid "Commit Hash"
msgstr ""
-#: templates/about.html:49
+#: templates/about.html:47
msgid "Commit Date"
msgstr ""
-#: templates/about.html:55
+#: templates/about.html:53
msgid "InvenTree Documentation"
msgstr ""
-#: templates/about.html:60
+#: templates/about.html:58
msgid "API Version"
msgstr ""
-#: templates/about.html:65
+#: templates/about.html:63
msgid "Python Version"
msgstr ""
-#: templates/about.html:70
+#: templates/about.html:68
msgid "Django Version"
msgstr ""
-#: templates/about.html:75
+#: templates/about.html:73
msgid "View Code on GitHub"
msgstr ""
-#: templates/about.html:80
+#: templates/about.html:78
msgid "Credits"
msgstr ""
-#: templates/about.html:85
+#: templates/about.html:83
msgid "Mobile App"
msgstr ""
-#: templates/about.html:90
+#: templates/about.html:88
msgid "Submit Bug Report"
msgstr ""
-#: templates/about.html:97 templates/clip.html:4
+#: templates/about.html:95 templates/clip.html:4
msgid "copy to clipboard"
msgstr ""
-#: templates/about.html:97
+#: templates/about.html:95
msgid "copy version information"
msgstr ""
-#: templates/about.html:107 templates/js/translated/modals.js:50
-#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678
-#: templates/js/translated/modals.js:982 templates/modals.html:29
-#: templates/modals.html:54
-msgid "Close"
-msgstr ""
-
#: templates/account/email_confirm.html:6
#: templates/account/email_confirm.html:10
-msgid "Confirm E-mail Address"
+msgid "Confirm Email Address"
msgstr ""
#: templates/account/email_confirm.html:16
#, python-format
-msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s."
+msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
#: templates/account/email_confirm.html:27
#, python-format
-msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request."
+msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:5 templates/account/login.html:14
-#: templates/account/login.html:36
+#: templates/account/login.html:6 templates/account/login.html:16
+#: templates/account/login.html:39
msgid "Sign In"
msgstr ""
-#: templates/account/login.html:19
+#: templates/account/login.html:21
#, python-format
-msgid "Please sign in with one\n"
+msgid ""
+"Please sign in with one\n"
"of your existing third party accounts or sign up\n"
"for a account and sign in below:"
msgstr ""
-#: templates/account/login.html:23
+#: templates/account/login.html:25
#, python-format
-msgid "If you have not created an account yet, then please\n"
+msgid ""
+"If you have not created an account yet, then please\n"
"sign up first."
msgstr ""
-#: templates/account/login.html:38
+#: templates/account/login.html:42
msgid "Forgot Password?"
msgstr ""
-#: templates/account/login.html:45
+#: templates/account/login.html:47
+msgid "InvenTree demo instance"
+msgstr ""
+
+#: templates/account/login.html:47
+msgid "Click here for login details"
+msgstr ""
+
+#: templates/account/login.html:55
msgid "or use SSO"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
-#: templates/account/logout.html:17
+#: templates/account/logout.html:20
msgid "Sign Out"
msgstr ""
@@ -6630,13 +6439,17 @@ msgstr ""
msgid "Are you sure you want to sign out?"
msgstr ""
+#: templates/account/logout.html:19
+msgid "Back to Site"
+msgstr ""
+
#: templates/account/password_reset.html:5
#: templates/account/password_reset.html:12
msgid "Password Reset"
msgstr ""
#: templates/account/password_reset.html:18
-msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it."
+msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it."
msgstr ""
#: templates/account/password_reset.html:23
@@ -6656,11 +6469,13 @@ msgstr ""
msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
msgstr ""
-#: templates/account/password_reset_from_key.html:17
-msgid "change password"
-msgstr ""
+#: templates/account/password_reset_from_key.html:18
+#, fuzzy
+#| msgid "Enter password"
+msgid "Change password"
+msgstr "Inserire la password"
-#: templates/account/password_reset_from_key.html:20
+#: templates/account/password_reset_from_key.html:22
msgid "Your password is now changed."
msgstr ""
@@ -6677,6 +6492,81 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/admin_button.html:2
+msgid "View in administration panel"
+msgstr ""
+
+#: templates/base.html:96
+msgid "Server Restart Required"
+msgstr ""
+
+#: templates/base.html:99
+msgid "A configuration option has been changed which requires a server restart"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Contact your system administrator for further information"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:7
+msgid "Stock is required for the following build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:8
+#, python-format
+msgid "Build order %(build)s - building %(quantity)s x %(part)s"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:10
+msgid "Click on the following link to view this build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:14
+msgid "The following parts are low on required stock"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:18
+#: templates/js/translated/bom.js:989
+#, fuzzy
+#| msgid "Quantity"
+msgid "Required Quantity"
+msgstr "Quantità"
+
+#: templates/email/build_order_required_stock.html:19
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129
+#: templates/js/translated/build.js:1749
+msgid "Available"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:38
+#: templates/email/low_stock_notification.html:31
+msgid "You are receiving this email because you are subscribed to notifications for this part "
+msgstr ""
+
+#: templates/email/email.html:35
+msgid "InvenTree version"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:7
+#, python-format
+msgid " The available stock for %(part)s has fallen below the configured minimum level"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:9
+msgid "Click on the following link to view this part"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:17
+msgid "Total Stock"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:19
+#, fuzzy
+#| msgid "Quantity"
+msgid "Minimum Quantity"
+msgstr "Quantità"
+
#: templates/image_download.html:8
msgid "Specify URL for downloading image"
msgstr ""
@@ -6693,138 +6583,59 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/report.js:47 templates/js/translated/report.js:67
-msgid "items selected"
-msgstr ""
-
-#: templates/js/report.js:55 templates/js/translated/report.js:75
-msgid "Select Report Template"
-msgstr ""
-
-#: templates/js/report.js:70 templates/js/translated/report.js:90
-msgid "Select Test Report Template"
-msgstr ""
-
-#: templates/js/report.js:98 templates/js/translated/label.js:29
-#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/report.js:99 templates/js/translated/report.js:119
-msgid "Stock item(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:116 templates/js/report.js:169
-#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331 templates/js/translated/report.js:136
-#: templates/js/translated/report.js:189 templates/js/translated/report.js:243
-#: templates/js/translated/report.js:297 templates/js/translated/report.js:351
-msgid "No Reports Found"
-msgstr ""
-
-#: templates/js/report.js:117 templates/js/translated/report.js:137
-msgid "No report templates found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/report.js:152 templates/js/translated/report.js:172
-msgid "Select Builds"
-msgstr ""
-
-#: templates/js/report.js:153 templates/js/translated/report.js:173
-msgid "Build(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:170 templates/js/translated/report.js:190
-msgid "No report templates found which match selected build(s)"
-msgstr ""
-
-#: templates/js/report.js:205 templates/js/translated/build.js:948
-#: templates/js/translated/label.js:134 templates/js/translated/report.js:225
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/report.js:206 templates/js/translated/report.js:226
-msgid "Part(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:224 templates/js/translated/report.js:244
-msgid "No report templates found which match selected part(s)"
-msgstr ""
-
-#: templates/js/report.js:259 templates/js/translated/report.js:279
-msgid "Select Purchase Orders"
-msgstr ""
-
-#: templates/js/report.js:260 templates/js/translated/report.js:280
-msgid "Purchase Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/report.js:278 templates/js/report.js:332
-#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
-msgid "No report templates found which match selected orders"
-msgstr ""
-
-#: templates/js/report.js:313 templates/js/translated/report.js:333
-msgid "Select Sales Orders"
-msgstr ""
-
-#: templates/js/report.js:314 templates/js/translated/report.js:334
-msgid "Sales Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053
+#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035
msgid "No response from the InvenTree server"
msgstr ""
-#: templates/js/translated/api.js:181
+#: templates/js/translated/api.js:191
msgid "Error 400: Bad request"
msgstr ""
-#: templates/js/translated/api.js:182
+#: templates/js/translated/api.js:192
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063
+#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055
msgid "The requested resource could not be located on the server"
msgstr ""
-#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060
msgid "Connection timeout while requesting data from server"
msgstr ""
-#: templates/js/translated/api.js:205
+#: templates/js/translated/api.js:215
msgid "Unhandled Error Code"
msgstr ""
-#: templates/js/translated/api.js:206
+#: templates/js/translated/api.js:216
msgid "Error code"
msgstr ""
@@ -6832,292 +6643,371 @@ msgstr ""
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:91
+#: templates/js/translated/attachment.js:95
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:104
+#: templates/js/translated/attachment.js:108
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:115
msgid "Delete attachment"
msgstr ""
-#: templates/js/translated/barcode.js:30
+#: templates/js/translated/barcode.js:29
msgid "Scan barcode data here using wedge scanner"
msgstr ""
-#: templates/js/translated/barcode.js:32
+#: templates/js/translated/barcode.js:31
msgid "Enter barcode data"
msgstr ""
-#: templates/js/translated/barcode.js:36
+#: templates/js/translated/barcode.js:35
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:54
+#: templates/js/translated/barcode.js:53
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:55
+#: templates/js/translated/barcode.js:54
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:93
+#: templates/js/translated/barcode.js:92
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:114
+#: templates/js/translated/barcode.js:113
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:141
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/barcode.js:140
+#: templates/js/translated/modals.js:1024
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:234
+#: templates/js/translated/barcode.js:233
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:281 templates/navbar.html:65
+#: templates/js/translated/barcode.js:280 templates/navbar.html:69
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:292
+#: templates/js/translated/barcode.js:291
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:310
+#: templates/js/translated/barcode.js:309
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:333
+#: templates/js/translated/barcode.js:332
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:339
+#: templates/js/translated/barcode.js:338
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273
+#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:440
+#: templates/js/translated/barcode.js:439
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:444
-#: templates/js/translated/barcode.js:571
+#: templates/js/translated/barcode.js:443
+#: templates/js/translated/barcode.js:573
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:486
-#: templates/js/translated/barcode.js:610
+#: templates/js/translated/barcode.js:485
+#: templates/js/translated/barcode.js:612
msgid "Error transferring stock"
msgstr ""
-#: templates/js/translated/barcode.js:505
+#: templates/js/translated/barcode.js:507
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:509
+#: templates/js/translated/barcode.js:511
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:516
+#: templates/js/translated/barcode.js:518
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:523
+#: templates/js/translated/barcode.js:525
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:566
+#: templates/js/translated/barcode.js:568
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:629
+#: templates/js/translated/barcode.js:633
msgid "Barcode does not match a valid location"
msgstr ""
-#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495
+#: templates/js/translated/bom.js:184
+msgid "Remove substitute part"
+msgstr ""
+
+#: templates/js/translated/bom.js:226
+msgid "Select and add a new variant item using the input below"
+msgstr ""
+
+#: templates/js/translated/bom.js:237
+msgid "Are you sure you wish to remove this substitute part link?"
+msgstr ""
+
+#: templates/js/translated/bom.js:243
+msgid "Remove Substitute Part"
+msgstr ""
+
+#: templates/js/translated/bom.js:282
+msgid "Add Substitute"
+msgstr ""
+
+#: templates/js/translated/bom.js:283
+msgid "Edit BOM Item Substitutes"
+msgstr ""
+
+#: templates/js/translated/bom.js:402
+msgid "Substitutes Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111
+msgid "Variant stock allowed"
+msgstr ""
+
+#: templates/js/translated/bom.js:411
msgid "Open subassembly"
msgstr ""
-#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744
-#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522
-msgid "Available"
+#: templates/js/translated/bom.js:483
+msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:307
+#: templates/js/translated/bom.js:498
msgid "Purchase Price Range"
msgstr ""
-#: templates/js/translated/bom.js:314
+#: templates/js/translated/bom.js:505
msgid "Purchase Price Average"
msgstr ""
-#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449
+#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798
-#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285
+#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183
+#: templates/js/translated/order.js:1298
msgid "Actions"
msgstr ""
-#: templates/js/translated/bom.js:423
+#: templates/js/translated/bom.js:614
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:425
+#: templates/js/translated/bom.js:616
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590
+#: templates/js/translated/bom.js:618
+msgid "Edit substitute parts"
+msgstr ""
+
+#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575
+#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:1593
+#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/build.js:71
-msgid "Edit Build Order"
+#: templates/js/translated/bom.js:772
+msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/build.js:105
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/translated/build.js:138
-msgid "Allocate stock items to this build output"
-msgstr ""
-
-#: templates/js/translated/build.js:146
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/translated/build.js:155
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:164
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:265
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356
-#: templates/js/translated/order.js:1292
-msgid "Edit stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357
-#: templates/js/translated/order.js:1293
-msgid "Delete stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:695
-msgid "Edit Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:705
-msgid "Remove Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:718
+#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095
msgid "Required Part"
msgstr ""
-#: templates/js/translated/build.js:739
+#: templates/js/translated/bom.js:994
+#, fuzzy
+#| msgid "Split from parent item"
+msgid "Inherited from parent BOM"
+msgstr "Diviso dall'elemento genitore"
+
+#: templates/js/translated/build.js:78
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:112
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:133
+msgid "Allocate stock items to this build output"
+msgstr ""
+
+#: templates/js/translated/build.js:144
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:153
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:161
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:184
+msgid "Are you sure you wish to unallocate stock items from this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:202
+msgid "Unallocate Stock Items"
+msgstr ""
+
+#: templates/js/translated/build.js:220
+msgid "Select Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:221
+msgid "At least one build output must be selected"
+msgstr ""
+
+#: templates/js/translated/build.js:275
+msgid "Output"
+msgstr ""
+
+#: templates/js/translated/build.js:291
+msgid "Complete Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:386
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:603
+msgid "No active build outputs found"
+msgstr ""
+
+#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760
+#: templates/js/translated/order.js:1305
+msgid "Edit stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761
+#: templates/js/translated/order.js:1306
+msgid "Delete stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1072
+msgid "Edit Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1082
+msgid "Remove Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1107
+msgid "Substitute parts available"
+msgstr ""
+
+#: templates/js/translated/build.js:1124
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:749 templates/js/translated/build.js:975
-#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514
+#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360
+#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553
-#: templates/js/translated/order.js:1567
+#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557
-#: templates/stock_table.html:59
+#: templates/js/translated/build.js:1194 templates/stock_table.html:52
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560
+#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:880
+#: templates/js/translated/build.js:1262
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:949
+#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134
+#: templates/js/translated/report.js:225
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/translated/build.js:1334
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:963
+#: templates/js/translated/build.js:1348
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:992
+#: templates/js/translated/build.js:1377
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/build.js:993
+#: templates/js/translated/build.js:1378
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:1004
+#: templates/js/translated/build.js:1389
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:1048
+#: templates/js/translated/build.js:1451
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:1172
+#: templates/js/translated/build.js:1576
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856
-#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762
-#: templates/js/translated/stock.js:1456
+#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873
+#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064
+#: templates/js/translated/stock.js:1841
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:1209
+#: templates/js/translated/build.js:1613
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675
+#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:1282
+#: templates/js/translated/build.js:1686
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:1333
+#: templates/js/translated/build.js:1737
msgid "No parts allocated for"
msgstr ""
@@ -7137,7 +7027,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:164 templates/js/translated/order.js:89
+#: templates/js/translated/company.js:164 templates/js/translated/order.js:90
msgid "Add Supplier"
msgstr ""
@@ -7186,34 +7076,34 @@ msgid "No manufacturer parts found"
msgstr ""
#: templates/js/translated/company.js:496
-#: templates/js/translated/company.js:753 templates/js/translated/part.js:427
-#: templates/js/translated/part.js:512
+#: templates/js/translated/company.js:753 templates/js/translated/part.js:448
+#: templates/js/translated/part.js:533
msgid "Template part"
msgstr ""
#: templates/js/translated/company.js:500
-#: templates/js/translated/company.js:757 templates/js/translated/part.js:431
-#: templates/js/translated/part.js:516
+#: templates/js/translated/company.js:757 templates/js/translated/part.js:452
+#: templates/js/translated/part.js:537
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:627 templates/js/translated/part.js:604
+#: templates/js/translated/company.js:627 templates/js/translated/part.js:625
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:664 templates/js/translated/part.js:646
+#: templates/js/translated/company.js:664 templates/js/translated/part.js:667
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:665 templates/js/translated/part.js:647
+#: templates/js/translated/company.js:665 templates/js/translated/part.js:668
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:684 templates/js/translated/part.js:664
+#: templates/js/translated/company.js:684 templates/js/translated/part.js:685
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:695 templates/js/translated/part.js:676
+#: templates/js/translated/company.js:695 templates/js/translated/part.js:697
msgid "Delete Parameter"
msgstr ""
@@ -7222,12 +7112,12 @@ msgid "No supplier parts found"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:407
+#: templates/js/translated/filters.js:420
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:408
+#: templates/js/translated/filters.js:421
msgid "false"
msgstr ""
@@ -7235,57 +7125,63 @@ msgstr ""
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:284
+#: templates/js/translated/filters.js:286
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:286
+#: templates/js/translated/filters.js:290
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:289
+#: templates/js/translated/filters.js:293
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:317
+#: templates/js/translated/filters.js:329
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336
-#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360
+#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364
+#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:324
+#: templates/js/translated/forms.js:351
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:337
+#: templates/js/translated/forms.js:366
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:349
+#: templates/js/translated/forms.js:380
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:361
+#: templates/js/translated/forms.js:394
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:968 templates/modals.html:21
-#: templates/modals.html:47
+#: templates/js/translated/forms.js:679
+#, fuzzy
+#| msgid "Must be a valid number"
+msgid "Enter a valid number"
+msgstr "Deve essere un numero valido"
+
+#: templates/js/translated/forms.js:1071 templates/modals.html:19
+#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1323
+#: templates/js/translated/forms.js:1457
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1525
+#: templates/js/translated/forms.js:1661
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:1742
+#: templates/js/translated/forms.js:1878
msgid "Clear input"
msgstr ""
@@ -7297,6 +7193,11 @@ msgstr ""
msgid "NO"
msgstr ""
+#: templates/js/translated/label.js:29 templates/js/translated/report.js:118
+#: templates/js/translated/stock.js:594
+msgid "Select Stock Items"
+msgstr ""
+
#: templates/js/translated/label.js:30
msgid "Stock item(s) must be selected before printing labels"
msgstr ""
@@ -7342,62 +7243,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119
+#: templates/js/translated/modals.js:593
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981
-#: templates/modals.html:30 templates/modals.html:55
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963
+#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:117
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:397
+#: templates/js/translated/modals.js:380
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:556
+#: templates/js/translated/modals.js:539
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:592
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:649
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:945
+#: templates/js/translated/modals.js:927
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/modals.js:1024
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1057
+#: templates/js/translated/modals.js:1039
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1058
+#: templates/js/translated/modals.js:1040
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1081
+#: templates/js/translated/modals.js:1063
msgid "Error requesting form data"
msgstr ""
@@ -7405,35 +7306,35 @@ msgstr ""
msgid "Company ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:90
+#: templates/js/translated/model_renderers.js:77
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:125
+#: templates/js/translated/model_renderers.js:130
msgid "Location ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:142
+#: templates/js/translated/model_renderers.js:147
msgid "Build ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:177
+#: templates/js/translated/model_renderers.js:182
msgid "Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:231
+#: templates/js/translated/model_renderers.js:236
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:251
+#: templates/js/translated/model_renderers.js:256
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:288
+#: templates/js/translated/model_renderers.js:293
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:317
+#: templates/js/translated/model_renderers.js:322
msgid "Supplier Part ID"
msgstr ""
@@ -7445,565 +7346,692 @@ msgstr ""
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:207
+#: templates/js/translated/order.js:208
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96
+#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393
msgid "Format"
msgstr ""
-#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97
+#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394
msgid "Select file format"
msgstr ""
-#: templates/js/translated/order.js:299
+#: templates/js/translated/order.js:300
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:300
+#: templates/js/translated/order.js:301
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:325
+#: templates/js/translated/order.js:326
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343
+#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:426
+#: templates/js/translated/order.js:427
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:428
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:429
+#: templates/js/translated/order.js:430
msgid "Receive"
msgstr ""
-#: templates/js/translated/order.js:448
+#: templates/js/translated/order.js:449
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:449
+#: templates/js/translated/order.js:450
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:626
+#: templates/js/translated/order.js:627
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028
+#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602
+#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613
+#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:800
+#: templates/js/translated/order.js:801
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432
+#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457
-#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554
+#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470
+#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464
-msgid "Total price"
+#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486
+msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573
+#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:963
+#: templates/js/translated/order.js:976
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:967
+#: templates/js/translated/order.js:980
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1004
+#: templates/js/translated/order.js:1017
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1055
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1120
+#: templates/js/translated/order.js:1133
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:1213
+#: templates/js/translated/order.js:1226
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1231
+#: templates/js/translated/order.js:1244
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1273
+#: templates/js/translated/order.js:1286
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:1514
+#: templates/js/translated/order.js:1535
msgid "Fulfilled"
msgstr ""
-#: templates/js/translated/order.js:1557
+#: templates/js/translated/order.js:1579
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1585
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725
+#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1596
msgid "Delete line item "
msgstr ""
-#: templates/js/translated/order.js:1673
+#: templates/js/translated/order.js:1719
msgid "Allocate Stock Item"
msgstr ""
-#: templates/js/translated/order.js:1733
+#: templates/js/translated/order.js:1779
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1747
+#: templates/js/translated/order.js:1793
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/part.js:49
+#: templates/js/translated/part.js:50
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:53
+#: templates/js/translated/part.js:54
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:57
+#: templates/js/translated/part.js:58
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:61
+#: templates/js/translated/part.js:62
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:75
+#: templates/js/translated/part.js:76
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:164
+#: templates/js/translated/part.js:165
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:165
+#: templates/js/translated/part.js:166
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:172
+#: templates/js/translated/part.js:173
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:173
+#: templates/js/translated/part.js:174
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:180
+#: templates/js/translated/part.js:181
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:191
+#: templates/js/translated/part.js:192
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:192
+#: templates/js/translated/part.js:193
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:201
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:202
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:257
+#: templates/js/translated/part.js:258
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:258
+#: templates/js/translated/part.js:259
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:265
-msgid "Copy BOM"
-msgstr ""
-
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:267
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:273
+#: templates/js/translated/part.js:274
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:274
+#: templates/js/translated/part.js:275
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:287
+#: templates/js/translated/part.js:288
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:331
+#: templates/js/translated/part.js:332
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:419 templates/js/translated/part.js:504
+#: templates/js/translated/part.js:334
+msgid "Part edited"
+msgstr ""
+
+#: templates/js/translated/part.js:402
+msgid "You are subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:404
+msgid "You have subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:409
+msgid "Subscribe to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:411
+msgid "You have unsubscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:440 templates/js/translated/part.js:525
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:423 templates/js/translated/part.js:508
+#: templates/js/translated/part.js:444 templates/js/translated/part.js:529
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:435
-msgid "Starred part"
+#: templates/js/translated/part.js:456
+msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:439
+#: templates/js/translated/part.js:460
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:554
+#: templates/js/translated/part.js:575
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005
+#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:932
+#: templates/js/translated/part.js:933
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:955
-#: templates/js/translated/table_filters.js:359
+#: templates/js/translated/part.js:956
+#: templates/js/translated/table_filters.js:375
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480
+#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200
+#: templates/js/translated/stock.js:1802
+msgid "Display as list"
+msgstr ""
+
+#: templates/js/translated/part.js:1044
+msgid "Display as grid"
+msgstr ""
+
+#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821
+msgid "Display as tree"
+msgstr ""
+
+#: templates/js/translated/part.js:1283
+msgid "Subscribed category"
+msgstr ""
+
+#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1202
+#: templates/js/translated/part.js:1341
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493
+#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494
+#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1260
+#: templates/js/translated/part.js:1399
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1282
+#: templates/js/translated/part.js:1421
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1296
+#: templates/js/translated/part.js:1435
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1321
+#: templates/js/translated/part.js:1460
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1376
+#: templates/js/translated/part.js:1515
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1377
+#: templates/js/translated/part.js:1516
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1478
+#: templates/js/translated/part.js:1617
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1497
+#: templates/js/translated/part.js:1636
msgid "Single Price Difference"
msgstr ""
-#: templates/js/translated/stock.js:63
+#: templates/js/translated/report.js:67
+msgid "items selected"
+msgstr ""
+
+#: templates/js/translated/report.js:75
+msgid "Select Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:90
+msgid "Select Test Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:119
+msgid "Stock item(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:136 templates/js/translated/report.js:189
+#: templates/js/translated/report.js:243 templates/js/translated/report.js:297
+#: templates/js/translated/report.js:351
+msgid "No Reports Found"
+msgstr ""
+
+#: templates/js/translated/report.js:137
+msgid "No report templates found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:172
+msgid "Select Builds"
+msgstr ""
+
+#: templates/js/translated/report.js:173
+msgid "Build(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:190
+msgid "No report templates found which match selected build(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:226
+msgid "Part(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:244
+msgid "No report templates found which match selected part(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:279
+msgid "Select Purchase Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:280
+msgid "Purchase Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
+msgid "No report templates found which match selected orders"
+msgstr ""
+
+#: templates/js/translated/report.js:333
+msgid "Select Sales Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:334
+msgid "Sales Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/stock.js:70
+msgid "Serialize Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:90
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:126
+msgid "New Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:189
+msgid "Enter initial quantity for this stock item"
+msgstr ""
+
+#: templates/js/translated/stock.js:195
+msgid "Enter serial numbers for new stock (or leave blank)"
+msgstr ""
+
+#: templates/js/translated/stock.js:338
+#, fuzzy
+#| msgid "Edited stock item"
+msgid "Created new stock item"
+msgstr "Elemento stock modificato"
+
+#: templates/js/translated/stock.js:351
+#, fuzzy
+#| msgid "Edited stock item"
+msgid "Created multiple stock items"
+msgstr "Elemento stock modificato"
+
+#: templates/js/translated/stock.js:390
msgid "Export Stock"
msgstr ""
-#: templates/js/translated/stock.js:104
+#: templates/js/translated/stock.js:401
msgid "Include Sublocations"
msgstr ""
-#: templates/js/translated/stock.js:105
+#: templates/js/translated/stock.js:402
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:444
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:148
+#: templates/js/translated/stock.js:445
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:154
+#: templates/js/translated/stock.js:451
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:155
+#: templates/js/translated/stock.js:452
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:159
+#: templates/js/translated/stock.js:456
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:160
+#: templates/js/translated/stock.js:457
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:164
+#: templates/js/translated/stock.js:461
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:165 users/models.py:195
+#: templates/js/translated/stock.js:462 users/models.py:200
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:169 templates/stock_table.html:63
+#: templates/js/translated/stock.js:466 templates/stock_table.html:56
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:298
+#: templates/js/translated/stock.js:595
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:456
+#: templates/js/translated/stock.js:753
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:458
+#: templates/js/translated/stock.js:755
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:463
+#: templates/js/translated/stock.js:760
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:489
+#: templates/js/translated/stock.js:782
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:515
+#: templates/js/translated/stock.js:808
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:563
+#: templates/js/translated/stock.js:865
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:670
+#: templates/js/translated/stock.js:972
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:674
+#: templates/js/translated/stock.js:976
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:678
+#: templates/js/translated/stock.js:980
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:984
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:688
+#: templates/js/translated/stock.js:990
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:844
+#: templates/js/translated/stock.js:1148
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:849
+#: templates/js/translated/stock.js:1153
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:852
+#: templates/js/translated/stock.js:1156
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:856
+#: templates/js/translated/stock.js:1160
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:858
+#: templates/js/translated/stock.js:1162
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:1166
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:866
+#: templates/js/translated/stock.js:1170
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:873
+#: templates/js/translated/stock.js:1177
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:1179
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:877
+#: templates/js/translated/stock.js:1181
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:881
-#: templates/js/translated/table_filters.js:161
+#: templates/js/translated/stock.js:1185
+#: templates/js/translated/table_filters.js:177
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:935
+#: templates/js/translated/stock.js:1235
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1308
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1046
+#: templates/js/translated/stock.js:1346
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115
+#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415
msgid "items"
msgstr ""
-#: templates/js/translated/stock.js:1155
+#: templates/js/translated/stock.js:1455
msgid "batches"
msgstr ""
-#: templates/js/translated/stock.js:1182
+#: templates/js/translated/stock.js:1482
msgid "locations"
msgstr ""
-#: templates/js/translated/stock.js:1184
+#: templates/js/translated/stock.js:1484
msgid "Undefined location"
msgstr ""
-#: templates/js/translated/stock.js:1358
+#: templates/js/translated/stock.js:1658
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:1372
+#: templates/js/translated/stock.js:1672
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:1373
+#: templates/js/translated/stock.js:1673
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:1512
+#: templates/js/translated/stock.js:1897
msgid "Invalid date"
msgstr ""
-#: templates/js/translated/stock.js:1559
+#: templates/js/translated/stock.js:1919
+msgid "Details"
+msgstr ""
+
+#: templates/js/translated/stock.js:1944
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1578
+#: templates/js/translated/stock.js:1963
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1597
+#: templates/js/translated/stock.js:1982
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1615
+#: templates/js/translated/stock.js:2000
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1638
+#: templates/js/translated/stock.js:2023
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:1646
+#: templates/js/translated/stock.js:2031
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:1687
+#: templates/js/translated/stock.js:2072
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1688
+#: templates/js/translated/stock.js:2073
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:2124
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:1835
-msgid "Serial"
-msgstr ""
-
-#: templates/js/translated/stock.js:1863
+#: templates/js/translated/stock.js:2175
msgid "Uninstall Stock Item"
msgstr ""
@@ -8023,254 +8051,264 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:156
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:172
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:93
+#: templates/js/translated/table_filters.js:105
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:103
-#: templates/js/translated/table_filters.js:104
-#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:115
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:352
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:114
-#: templates/js/translated/table_filters.js:191
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:117
-#: templates/js/translated/table_filters.js:198
-msgid "Serial number GTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:118
-#: templates/js/translated/table_filters.js:199
-msgid "Serial number greater than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:121
-#: templates/js/translated/table_filters.js:202
-msgid "Serial number LTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:122
-#: templates/js/translated/table_filters.js:203
-msgid "Serial number less than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:125
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:195
-msgid "Serial number"
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:387
+msgid "Subscribed"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:212
-msgid "Batch code"
+#: templates/js/translated/table_filters.js:207
+msgid "Is Serialized"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:214
+msgid "Serial number GTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:134
+#: templates/js/translated/table_filters.js:215
+msgid "Serial number greater than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:137
+#: templates/js/translated/table_filters.js:218
+msgid "Serial number LTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:138
+#: templates/js/translated/table_filters.js:219
+msgid "Serial number less than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:141
-#: templates/js/translated/table_filters.js:326
-msgid "Active parts"
-msgstr ""
-
#: templates/js/translated/table_filters.js:142
-msgid "Show stock for active parts"
+#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:211
+msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:147
-msgid "Part is an assembly"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:151
-msgid "Is allocated"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:152
-msgid "Item has been allocated"
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:228
+msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:157
-msgid "Include stock in sublocations"
+#: templates/js/translated/table_filters.js:342
+msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:162
-msgid "Show stock items which are depleted"
+#: templates/js/translated/table_filters.js:158
+msgid "Show stock for active parts"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:163
+msgid "Part is an assembly"
msgstr ""
#: templates/js/translated/table_filters.js:167
+msgid "Is allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:168
+msgid "Item has been allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:173
+msgid "Include stock in sublocations"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:178
+msgid "Show stock items which are depleted"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:183
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:187
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:188
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:176
+#: templates/js/translated/table_filters.js:192
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:177
+#: templates/js/translated/table_filters.js:193
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:197
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:182
+#: templates/js/translated/table_filters.js:198
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:187
+#: templates/js/translated/table_filters.js:203
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:207
-#: templates/js/translated/table_filters.js:208
+#: templates/js/translated/table_filters.js:223
+#: templates/js/translated/table_filters.js:224
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/table_filters.js:232
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:233
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:242
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:248
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:279
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:291
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:307
+#: templates/js/translated/table_filters.js:324
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:296
-#: templates/js/translated/table_filters.js:313
+#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:329
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:337
+#: templates/js/translated/table_filters.js:353
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:341
+#: templates/js/translated/table_filters.js:357
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:342
+#: templates/js/translated/table_filters.js:358
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:347
+#: templates/js/translated/table_filters.js:363
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:355
+#: templates/js/translated/table_filters.js:371
msgid "Stock available"
msgstr ""
-#: templates/js/translated/table_filters.js:371
-msgid "Starred"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:383
+#: templates/js/translated/table_filters.js:399
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/tables.js:366
+#: templates/js/translated/tables.js:368
msgid "Loading data"
msgstr ""
-#: templates/js/translated/tables.js:369
+#: templates/js/translated/tables.js:371
msgid "rows per page"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "Showing"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "to"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "of"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "rows"
msgstr ""
-#: templates/js/translated/tables.js:378
+#: templates/js/translated/tables.js:377 templates/search_form.html:6
+#: templates/search_form.html:7
+msgid "Search"
+msgstr ""
+
+#: templates/js/translated/tables.js:380
msgid "No matching results"
msgstr ""
-#: templates/js/translated/tables.js:381
+#: templates/js/translated/tables.js:383
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/translated/tables.js:384
+#: templates/js/translated/tables.js:386
msgid "Refresh"
msgstr ""
-#: templates/js/translated/tables.js:387
+#: templates/js/translated/tables.js:389
msgid "Toggle"
msgstr ""
-#: templates/js/translated/tables.js:390
+#: templates/js/translated/tables.js:392
msgid "Columns"
msgstr ""
-#: templates/js/translated/tables.js:393
+#: templates/js/translated/tables.js:395
msgid "All"
msgstr ""
-#: templates/navbar.html:19
-msgid "Toggle navigation"
-msgstr ""
-
-#: templates/navbar.html:39
+#: templates/navbar.html:40
msgid "Buy"
msgstr ""
-#: templates/navbar.html:51
+#: templates/navbar.html:52
msgid "Sell"
msgstr ""
-#: templates/navbar.html:83 users/models.py:39
+#: templates/navbar.html:86 users/models.py:39
msgid "Admin"
msgstr ""
-#: templates/navbar.html:85
+#: templates/navbar.html:88
msgid "Logout"
msgstr ""
-#: templates/navbar.html:106
+#: templates/navbar.html:90
+msgid "Login"
+msgstr ""
+
+#: templates/navbar.html:111
msgid "About InvenTree"
msgstr ""
+#: templates/navbar_demo.html:5
+msgid "InvenTree demo mode"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -8283,6 +8321,10 @@ msgstr ""
msgid "Log in again"
msgstr ""
+#: templates/stats.html:9
+msgid "Server"
+msgstr ""
+
#: templates/stats.html:13
msgid "Instance Name"
msgstr ""
@@ -8336,54 +8378,50 @@ msgid "Export Stock Information"
msgstr ""
#: templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/stock_table.html:27
msgid "Barcode Actions"
msgstr ""
-#: templates/stock_table.html:43
+#: templates/stock_table.html:36
msgid "Print test reports"
msgstr ""
-#: templates/stock_table.html:50
+#: templates/stock_table.html:43
msgid "Stock Options"
msgstr ""
-#: templates/stock_table.html:55
+#: templates/stock_table.html:48
msgid "Add to selected stock items"
msgstr ""
-#: templates/stock_table.html:56
+#: templates/stock_table.html:49
msgid "Remove from selected stock items"
msgstr ""
-#: templates/stock_table.html:57
+#: templates/stock_table.html:50
msgid "Stocktake selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move stock"
msgstr ""
-#: templates/stock_table.html:59
+#: templates/stock_table.html:52
msgid "Order selected items"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change status"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change stock status"
msgstr ""
-#: templates/stock_table.html:63
+#: templates/stock_table.html:56
msgid "Delete selected items"
msgstr ""
@@ -8419,35 +8457,34 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:182
+#: users/models.py:187
msgid "Permission set"
msgstr ""
-#: users/models.py:190
+#: users/models.py:195
msgid "Group"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "View"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "Permission to view items"
msgstr ""
-#: users/models.py:195
+#: users/models.py:200
msgid "Permission to add items"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Change"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:199
+#: users/models.py:204
msgid "Permission to delete items"
msgstr ""
-
diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.mo b/InvenTree/locale/ja/LC_MESSAGES/django.mo
index c8fe740f6a..d9e09fe1ee 100644
Binary files a/InvenTree/locale/ja/LC_MESSAGES/django.mo and b/InvenTree/locale/ja/LC_MESSAGES/django.mo differ
diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po
index e8eaefdd41..70f01ea9ce 100644
--- a/InvenTree/locale/ja/LC_MESSAGES/django.po
+++ b/InvenTree/locale/ja/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-11 06:21+0000\n"
+"POT-Creation-Date: 2021-11-22 22:08+0000\n"
"PO-Revision-Date: 2021-10-11 06:29\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
@@ -33,260 +33,266 @@ msgstr "一致するアクションが見つかりませんでした"
msgid "Enter date"
msgstr "日付を入力する"
-#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123
-#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27
-#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71
-#: part/forms.py:108 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:564
+#: InvenTree/forms.py:120 build/forms.py:48 build/forms.py:69 build/forms.py:93
+#: order/forms.py:26 order/forms.py:37 order/forms.py:48 order/forms.py:59
+#: order/forms.py:70 part/forms.py:108 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:594
msgid "Confirm"
msgstr "確認"
-#: InvenTree/forms.py:132
+#: InvenTree/forms.py:136
msgid "Confirm delete"
msgstr "削除の確認"
-#: InvenTree/forms.py:133
+#: InvenTree/forms.py:137
msgid "Confirm item deletion"
msgstr "削除の確認"
-#: InvenTree/forms.py:164
+#: InvenTree/forms.py:168
msgid "Enter password"
msgstr "パスワードを入力してください"
-#: InvenTree/forms.py:165
+#: InvenTree/forms.py:169
msgid "Enter new password"
msgstr "新しいパスワードを入力してください。"
-#: InvenTree/forms.py:172
+#: InvenTree/forms.py:176
msgid "Confirm password"
msgstr "パスワードの確認"
-#: InvenTree/forms.py:173
+#: InvenTree/forms.py:177
msgid "Confirm new password"
msgstr "新しいパスワードの確認"
-#: InvenTree/forms.py:205
+#: InvenTree/forms.py:209
msgid "Select Category"
msgstr "カテゴリの選択"
-#: InvenTree/forms.py:226
-msgid "E-mail (again)"
-msgstr ""
-
#: InvenTree/forms.py:230
-msgid "E-mail address confirmation"
+msgid "Email (again)"
msgstr ""
-#: InvenTree/forms.py:250
+#: InvenTree/forms.py:234
+msgid "Email address confirmation"
+msgstr ""
+
+#: InvenTree/forms.py:254
msgid "You must type the same email each time."
msgstr ""
-#: InvenTree/helpers.py:401
+#: InvenTree/helpers.py:430
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr ""
-#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437
-#: stock/views.py:1340
+#: InvenTree/helpers.py:437 order/models.py:318 order/models.py:440
+#: stock/views.py:1264
msgid "Invalid quantity provided"
msgstr "数量コードが無効です"
-#: InvenTree/helpers.py:411
+#: InvenTree/helpers.py:440
msgid "Empty serial number string"
msgstr "シリアル番号は空です"
-#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:462 InvenTree/helpers.py:465 InvenTree/helpers.py:468
+#: InvenTree/helpers.py:493
#, python-brace-format
msgid "Invalid group: {g}"
msgstr "無効なグループ: {g}"
-#: InvenTree/helpers.py:469
+#: InvenTree/helpers.py:498
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr "重複シリアル: {g}"
-#: InvenTree/helpers.py:477
+#: InvenTree/helpers.py:506
msgid "No serial numbers found"
msgstr "シリアル番号が見つかりません"
-#: InvenTree/helpers.py:481
+#: InvenTree/helpers.py:510
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/models.py:66 stock/models.py:1823
+#: InvenTree/models.py:109 stock/models.py:1874
msgid "Attachment"
msgstr "添付ファイル"
-#: InvenTree/models.py:67
+#: InvenTree/models.py:110
msgid "Select file to attach"
msgstr "添付ファイルを選択"
-#: InvenTree/models.py:69 templates/js/translated/attachment.js:87
+#: InvenTree/models.py:112 templates/js/translated/attachment.js:91
msgid "Comment"
msgstr "コメント:"
-#: InvenTree/models.py:69
+#: InvenTree/models.py:112
msgid "File comment"
msgstr "ファイルコメント"
-#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055
-#: common/models.py:1056 part/models.py:2055
-#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/translated/stock.js:1669
+#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185
+#: common/models.py:1186 part/models.py:2205 part/models.py:2225
+#: report/templates/report/inventree_test_report_base.html:96
+#: templates/js/translated/stock.js:2054
msgid "User"
msgstr "ユーザー"
-#: InvenTree/models.py:79
+#: InvenTree/models.py:122
msgid "upload date"
msgstr "アップロード日時"
-#: InvenTree/models.py:99
+#: InvenTree/models.py:142
msgid "Filename must not be empty"
msgstr ""
-#: InvenTree/models.py:122
+#: InvenTree/models.py:165
msgid "Invalid attachment directory"
msgstr ""
-#: InvenTree/models.py:132
+#: InvenTree/models.py:175
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr ""
-#: InvenTree/models.py:135
+#: InvenTree/models.py:178
msgid "Filename missing extension"
msgstr ""
-#: InvenTree/models.py:142
+#: InvenTree/models.py:185
msgid "Attachment with this filename already exists"
msgstr ""
-#: InvenTree/models.py:149
+#: InvenTree/models.py:192
msgid "Error renaming file"
msgstr ""
-#: InvenTree/models.py:184
+#: InvenTree/models.py:227
msgid "Invalid choice"
msgstr "無効な選択です"
-#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415
-#: label/models.py:112 part/models.py:659 part/models.py:2216
-#: part/templates/part/part_base.html:241 report/models.py:181
-#: templates/js/translated/company.js:637 templates/js/translated/part.js:477
-#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141
-#: templates/js/translated/stock.js:1462
+#: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415
+#: label/models.py:112 part/models.py:741 part/models.py:2389
+#: part/templates/part/detail.html:25 report/models.py:181
+#: templates/js/translated/company.js:637 templates/js/translated/part.js:498
+#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272
+#: templates/js/translated/stock.js:1847
msgid "Name"
msgstr "お名前"
-#: InvenTree/models.py:207 build/models.py:189
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/manufacturer_part.html:76
-#: company/templates/company/supplier_part.html:75 label/models.py:119
-#: order/models.py:158 part/models.py:682
-#: part/templates/part/part_base.html:246
+#: InvenTree/models.py:250 build/models.py:207
+#: build/templates/build/detail.html:25 company/models.py:354
+#: company/models.py:570 company/templates/company/manufacturer_part.html:80
+#: company/templates/company/supplier_part.html:81 label/models.py:119
+#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30
#: part/templates/part/set_category.html:14 report/models.py:194
-#: report/models.py:551 report/models.py:590
+#: report/models.py:553 report/models.py:592
#: report/templates/report/inventree_build_order_base.html:118
-#: templates/InvenTree/settings/header.html:9
-#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217
-#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344
+#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214
+#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621
+#: templates/js/translated/company.js:344
#: templates/js/translated/company.js:547
-#: templates/js/translated/company.js:836 templates/js/translated/order.js:672
-#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056
-#: templates/js/translated/part.js:536 templates/js/translated/part.js:724
-#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153
-#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819
-#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519
+#: templates/js/translated/company.js:836 templates/js/translated/order.js:673
+#: templates/js/translated/order.js:833 templates/js/translated/order.js:1069
+#: templates/js/translated/part.js:557 templates/js/translated/part.js:745
+#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291
+#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121
+#: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904
msgid "Description"
msgstr "説明"
-#: InvenTree/models.py:208
+#: InvenTree/models.py:251
msgid "Description (optional)"
msgstr "説明 (オプション)"
-#: InvenTree/models.py:216
+#: InvenTree/models.py:259
msgid "parent"
msgstr "親"
-#: InvenTree/serializers.py:55 part/models.py:2475
+#: InvenTree/serializers.py:62 part/models.py:2674
msgid "Must be a valid number"
msgstr "有効な数字でなければなりません"
-#: InvenTree/serializers.py:244
+#: InvenTree/serializers.py:251
msgid "Filename"
msgstr ""
-#: InvenTree/settings.py:529
+#: InvenTree/settings.py:663
msgid "German"
msgstr "ドイツ語"
-#: InvenTree/settings.py:530
+#: InvenTree/settings.py:664
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:531
+#: InvenTree/settings.py:665
msgid "English"
msgstr "英語"
-#: InvenTree/settings.py:532
+#: InvenTree/settings.py:666
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:533
+#: InvenTree/settings.py:667
+msgid "Spanish (Mexican)"
+msgstr ""
+
+#: InvenTree/settings.py:668
msgid "French"
msgstr "フランス語"
-#: InvenTree/settings.py:534
+#: InvenTree/settings.py:669
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:535
+#: InvenTree/settings.py:670
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:536
+#: InvenTree/settings.py:671
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:537
+#: InvenTree/settings.py:672
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:538
+#: InvenTree/settings.py:673
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:539
+#: InvenTree/settings.py:674
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:540
+#: InvenTree/settings.py:675
msgid "Polish"
msgstr "ポーランド語"
-#: InvenTree/settings.py:541
+#: InvenTree/settings.py:676
+msgid "Portugese"
+msgstr ""
+
+#: InvenTree/settings.py:677
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:542
+#: InvenTree/settings.py:678
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:543
+#: InvenTree/settings.py:679
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:544
+#: InvenTree/settings.py:680
msgid "Turkish"
msgstr "トルコ語"
-#: InvenTree/settings.py:545
+#: InvenTree/settings.py:681
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:546
+#: InvenTree/settings.py:682
msgid "Chinese"
msgstr ""
@@ -302,196 +308,196 @@ msgstr "メールアドレスが未設定です"
msgid "InvenTree system health checks failed"
msgstr "InvenTree システムのヘルスチェックに失敗しました"
-#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145
-#: InvenTree/status_codes.py:314
+#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142
+#: InvenTree/status_codes.py:311
msgid "Pending"
msgstr "処理待ち"
-#: InvenTree/status_codes.py:105
+#: InvenTree/status_codes.py:102
msgid "Placed"
msgstr "設置済"
-#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317
+#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:314
msgid "Complete"
msgstr "完了"
-#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147
-#: InvenTree/status_codes.py:316
+#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144
+#: InvenTree/status_codes.py:313
msgid "Cancelled"
msgstr "キャンセル済"
-#: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148
-#: InvenTree/status_codes.py:190
+#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145
+#: InvenTree/status_codes.py:187
msgid "Lost"
msgstr "紛失"
-#: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149
-#: InvenTree/status_codes.py:192
+#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146
+#: InvenTree/status_codes.py:189
msgid "Returned"
msgstr "返品済"
-#: InvenTree/status_codes.py:146
-#: order/templates/order/sales_order_base.html:131
+#: InvenTree/status_codes.py:143
+#: order/templates/order/sales_order_base.html:147
msgid "Shipped"
msgstr "発送済み"
-#: InvenTree/status_codes.py:186
+#: InvenTree/status_codes.py:183
msgid "OK"
msgstr "OK"
-#: InvenTree/status_codes.py:187
+#: InvenTree/status_codes.py:184
msgid "Attention needed"
msgstr "注意が必要です"
-#: InvenTree/status_codes.py:188
+#: InvenTree/status_codes.py:185
msgid "Damaged"
msgstr "破損"
-#: InvenTree/status_codes.py:189
+#: InvenTree/status_codes.py:186
msgid "Destroyed"
msgstr ""
-#: InvenTree/status_codes.py:191
+#: InvenTree/status_codes.py:188
msgid "Rejected"
msgstr "却下済み"
-#: InvenTree/status_codes.py:272
+#: InvenTree/status_codes.py:269
msgid "Legacy stock tracking entry"
msgstr ""
-#: InvenTree/status_codes.py:274
+#: InvenTree/status_codes.py:271
msgid "Stock item created"
msgstr ""
-#: InvenTree/status_codes.py:276
+#: InvenTree/status_codes.py:273
msgid "Edited stock item"
msgstr ""
-#: InvenTree/status_codes.py:277
+#: InvenTree/status_codes.py:274
msgid "Assigned serial number"
msgstr ""
-#: InvenTree/status_codes.py:279
+#: InvenTree/status_codes.py:276
msgid "Stock counted"
msgstr ""
-#: InvenTree/status_codes.py:280
+#: InvenTree/status_codes.py:277
msgid "Stock manually added"
msgstr ""
-#: InvenTree/status_codes.py:281
+#: InvenTree/status_codes.py:278
msgid "Stock manually removed"
msgstr ""
-#: InvenTree/status_codes.py:283
+#: InvenTree/status_codes.py:280
msgid "Location changed"
msgstr ""
-#: InvenTree/status_codes.py:285
+#: InvenTree/status_codes.py:282
msgid "Installed into assembly"
msgstr ""
-#: InvenTree/status_codes.py:286
+#: InvenTree/status_codes.py:283
msgid "Removed from assembly"
msgstr ""
-#: InvenTree/status_codes.py:288
+#: InvenTree/status_codes.py:285
msgid "Installed component item"
msgstr ""
-#: InvenTree/status_codes.py:289
+#: InvenTree/status_codes.py:286
msgid "Removed component item"
msgstr ""
-#: InvenTree/status_codes.py:291
+#: InvenTree/status_codes.py:288
msgid "Split from parent item"
msgstr ""
-#: InvenTree/status_codes.py:292
+#: InvenTree/status_codes.py:289
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186
+#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202
msgid "Sent to customer"
msgstr ""
-#: InvenTree/status_codes.py:295
+#: InvenTree/status_codes.py:292
msgid "Returned from customer"
msgstr ""
-#: InvenTree/status_codes.py:297
+#: InvenTree/status_codes.py:294
msgid "Build order output created"
msgstr ""
-#: InvenTree/status_codes.py:298
+#: InvenTree/status_codes.py:295
msgid "Build order output completed"
msgstr ""
-#: InvenTree/status_codes.py:300
+#: InvenTree/status_codes.py:297
msgid "Received against purchase order"
msgstr ""
-#: InvenTree/status_codes.py:315
+#: InvenTree/status_codes.py:312
msgid "Production"
msgstr ""
-#: InvenTree/validators.py:22
+#: InvenTree/validators.py:23
msgid "Not a valid currency code"
msgstr ""
-#: InvenTree/validators.py:50
+#: InvenTree/validators.py:51
msgid "Invalid character in part name"
msgstr ""
-#: InvenTree/validators.py:63
+#: InvenTree/validators.py:64
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr ""
-#: InvenTree/validators.py:77 InvenTree/validators.py:91
-#: InvenTree/validators.py:105
+#: InvenTree/validators.py:78 InvenTree/validators.py:92
+#: InvenTree/validators.py:106
#, python-brace-format
msgid "Reference must match pattern {pattern}"
msgstr ""
-#: InvenTree/validators.py:113
+#: InvenTree/validators.py:114
#, python-brace-format
msgid "Illegal character in name ({x})"
msgstr ""
-#: InvenTree/validators.py:132 InvenTree/validators.py:148
+#: InvenTree/validators.py:133 InvenTree/validators.py:149
msgid "Overage value must not be negative"
msgstr ""
-#: InvenTree/validators.py:150
+#: InvenTree/validators.py:151
msgid "Overage must not exceed 100%"
msgstr ""
-#: InvenTree/validators.py:157
+#: InvenTree/validators.py:158
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:616
+#: InvenTree/views.py:536
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:665
+#: InvenTree/views.py:585
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:710
+#: InvenTree/views.py:630
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:954 templates/navbar.html:97
+#: InvenTree/views.py:863 templates/navbar.html:101
msgid "System Information"
msgstr ""
@@ -535,599 +541,568 @@ msgstr ""
msgid "Barcode associated with StockItem"
msgstr ""
-#: build/api.py:213
-msgid "Matching build order does not exist"
-msgstr ""
-
-#: build/forms.py:37
-msgid "Build Order reference"
-msgstr ""
-
-#: build/forms.py:38
-msgid "Order target date"
-msgstr ""
-
-#: build/forms.py:42 build/templates/build/build_base.html:146
-#: build/templates/build/detail.html:124
-#: order/templates/order/order_base.html:124
-#: order/templates/order/sales_order_base.html:124
-#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689
-#: templates/js/translated/order.js:1074
-msgid "Target Date"
-msgstr ""
-
-#: build/forms.py:43 build/models.py:279
-msgid "Target date for build completion. Build will be overdue after this date."
-msgstr ""
-
-#: build/forms.py:48 build/forms.py:90 build/models.py:1281
-#: build/templates/build/allocation_card.html:23
-#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:1087
-#: company/forms.py:42 company/templates/company/supplier_part.html:226
-#: order/forms.py:101 order/forms.py:123 order/models.py:720
-#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249
-#: part/forms.py:265 part/forms.py:281 part/models.py:2377
+#: build/forms.py:36 build/models.py:1283
+#: build/templates/build/build_base.html:124
+#: build/templates/build/detail.html:35 common/models.py:1225
+#: company/forms.py:42 company/templates/company/supplier_part.html:251
+#: order/forms.py:102 order/models.py:729 order/models.py:991
+#: order/templates/order/order_wizard/match_parts.html:30
+#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237
+#: part/forms.py:253 part/forms.py:269 part/models.py:2576
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030
+#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
-#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:140 stock/templates/stock/item_base.html:269
-#: stock/templates/stock/stock_adjust.html:18
-#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264
-#: templates/js/translated/build.js:314 templates/js/translated/build.js:638
-#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515
-#: templates/js/translated/model_renderers.js:74
-#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170
-#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444
-#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487
-#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654
-#: templates/js/translated/stock.js:1829
+#: report/templates/report/inventree_test_report_base.html:81
+#: report/templates/report/inventree_test_report_base.html:139
+#: stock/forms.py:156 stock/serializers.py:286
+#: stock/templates/stock/item_base.html:256
+#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441
+#: templates/js/translated/build.js:235 templates/js/translated/build.js:435
+#: templates/js/translated/build.js:629 templates/js/translated/build.js:639
+#: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362
+#: templates/js/translated/model_renderers.js:99
+#: templates/js/translated/order.js:870 templates/js/translated/order.js:1183
+#: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268
+#: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457
+#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626
+#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347
+#: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141
msgid "Quantity"
msgstr ""
-#: build/forms.py:49
-msgid "Number of items to build"
-msgstr ""
-
-#: build/forms.py:91
+#: build/forms.py:37
msgid "Enter quantity for build output"
msgstr ""
-#: build/forms.py:95 order/forms.py:95 stock/forms.py:83
+#: build/forms.py:41 order/forms.py:96 stock/forms.py:95
+#: stock/serializers.py:307 templates/js/translated/stock.js:194
+#: templates/js/translated/stock.js:348
msgid "Serial Numbers"
msgstr ""
-#: build/forms.py:97
+#: build/forms.py:43
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/forms.py:103
+#: build/forms.py:49
msgid "Confirm creation of build output"
msgstr ""
-#: build/forms.py:124
+#: build/forms.py:70
msgid "Confirm deletion of build output"
msgstr ""
-#: build/forms.py:145
-msgid "Confirm unallocation of stock"
-msgstr ""
-
-#: build/forms.py:174
+#: build/forms.py:94
msgid "Mark build as complete"
msgstr ""
-#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284
-#: stock/forms.py:280 stock/serializers.py:553
-#: stock/templates/stock/item_base.html:299
-#: stock/templates/stock/stock_adjust.html:17
-#: templates/js/translated/barcode.js:385
-#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299
-#: templates/js/translated/build.js:650 templates/js/translated/order.js:347
-#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263
-#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179
-#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921
-#: templates/js/translated/stock.js:1546
-msgid "Location"
-msgstr ""
-
-#: build/forms.py:199
-msgid "Location of completed parts"
-msgstr "完了したパーツの場所"
-
-#: build/forms.py:203 build/templates/build/build_base.html:138
-#: build/templates/build/detail.html:62 order/models.py:563
-#: order/serializers.py:238 stock/templates/stock/item_base.html:422
-#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251
-#: templates/js/translated/order.js:430 templates/js/translated/order.js:676
-#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896
-#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845
-msgid "Status"
-msgstr ""
-
-#: build/forms.py:204
-msgid "Build output stock status"
-msgstr ""
-
-#: build/forms.py:211
-msgid "Confirm incomplete"
-msgstr ""
-
-#: build/forms.py:212
-msgid "Confirm completion with incomplete stock allocation"
-msgstr ""
-
-#: build/forms.py:215
-msgid "Confirm build completion"
-msgstr ""
-
-#: build/forms.py:240
+#: build/forms.py:107
msgid "Confirm cancel"
msgstr ""
-#: build/forms.py:240 build/views.py:65
+#: build/forms.py:107 build/views.py:65
msgid "Confirm build cancellation"
msgstr ""
-#: build/models.py:115
+#: build/models.py:133
msgid "Invalid choice for parent build"
msgstr ""
-#: build/models.py:119 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:73
+#: build/models.py:137 build/templates/build/build_base.html:9
+#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:276
+#: templates/js/translated/build.js:397
msgid "Build Order"
msgstr ""
-#: build/models.py:120 build/templates/build/index.html:8
-#: build/templates/build/index.html:15
-#: order/templates/order/sales_order_detail.html:34
-#: order/templates/order/so_navbar.html:19
-#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50
-#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229
-#: templates/InvenTree/search.html:171
-#: templates/InvenTree/settings/navbar.html:113
-#: templates/InvenTree/settings/navbar.html:115 users/models.py:44
+#: build/models.py:138 build/templates/build/build_base.html:13
+#: build/templates/build/index.html:8 build/templates/build/index.html:12
+#: order/templates/order/sales_order_detail.html:42
+#: templates/InvenTree/index.html:221 templates/InvenTree/search.html:145
+#: users/models.py:44
msgid "Build Orders"
msgstr ""
-#: build/models.py:180
+#: build/models.py:198
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:181 order/models.py:246 order/models.py:547
-#: order/models.py:727 part/models.py:2386
+#: build/models.py:199 order/models.py:249 order/models.py:556
+#: order/models.py:736 part/models.py:2585
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734
-#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863
-#: templates/js/translated/order.js:1438
+#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119
+#: templates/js/translated/order.js:864 templates/js/translated/order.js:1451
msgid "Reference"
msgstr ""
-#: build/models.py:192
+#: build/models.py:210
msgid "Brief description of the build"
msgstr ""
-#: build/models.py:201 build/templates/build/build_base.html:163
-#: build/templates/build/detail.html:80
+#: build/models.py:219 build/templates/build/build_base.html:156
+#: build/templates/build/detail.html:88
msgid "Parent Build"
msgstr ""
-#: build/models.py:202
+#: build/models.py:220
msgid "BuildOrder to which this build is allocated"
msgstr ""
-#: build/models.py:207 build/templates/build/build_base.html:128
-#: build/templates/build/detail.html:29 company/models.py:705
-#: order/models.py:780 order/models.py:851
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298
-#: part/models.py:2000 part/models.py:2016 part/models.py:2035
-#: part/models.py:2053 part/models.py:2132 part/models.py:2254
-#: part/models.py:2361 part/templates/part/detail.html:199
+#: build/models.py:225 build/templates/build/build_base.html:119
+#: build/templates/build/detail.html:30 company/models.py:705
+#: order/models.py:789 order/models.py:860
+#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357
+#: part/models.py:2151 part/models.py:2167 part/models.py:2186
+#: part/models.py:2203 part/models.py:2305 part/models.py:2427
+#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
-#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384
-#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611
-#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222
-#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488
-#: templates/js/translated/company.js:745 templates/js/translated/order.js:425
-#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422
-#: templates/js/translated/part.js:705 templates/js/translated/part.js:875
-#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776
-#: templates/js/translated/stock.js:1817
+#: templates/InvenTree/search.html:86
+#: templates/email/build_order_required_stock.html:17
+#: templates/email/low_stock_notification.html:16
+#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213
+#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620
+#: templates/js/translated/build.js:988 templates/js/translated/build.js:1359
+#: templates/js/translated/build.js:1626 templates/js/translated/company.js:488
+#: templates/js/translated/company.js:745 templates/js/translated/order.js:426
+#: templates/js/translated/order.js:818 templates/js/translated/order.js:1435
+#: templates/js/translated/part.js:726 templates/js/translated/part.js:892
+#: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:2129
msgid "Part"
msgstr "パーツ"
-#: build/models.py:215
+#: build/models.py:233
msgid "Select part to build"
msgstr ""
-#: build/models.py:220
+#: build/models.py:238
msgid "Sales Order Reference"
msgstr ""
-#: build/models.py:224
+#: build/models.py:242
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:229 templates/js/translated/build.js:962
+#: build/models.py:247 templates/js/translated/build.js:1347
msgid "Source Location"
msgstr ""
-#: build/models.py:233
+#: build/models.py:251
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr ""
-#: build/models.py:238
+#: build/models.py:256
msgid "Destination Location"
msgstr ""
-#: build/models.py:242
+#: build/models.py:260
msgid "Select location where the completed items will be stored"
msgstr ""
-#: build/models.py:246
+#: build/models.py:264
msgid "Build Quantity"
msgstr ""
-#: build/models.py:249
+#: build/models.py:267
msgid "Number of stock items to build"
msgstr ""
-#: build/models.py:253
+#: build/models.py:271
msgid "Completed items"
msgstr ""
-#: build/models.py:255
+#: build/models.py:273
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:259 part/templates/part/part_base.html:198
+#: build/models.py:277 part/templates/part/part_base.html:216
msgid "Build Status"
msgstr ""
-#: build/models.py:263
+#: build/models.py:281
msgid "Build status code"
msgstr ""
-#: build/models.py:267 stock/models.py:513
+#: build/models.py:285 stock/models.py:544
msgid "Batch Code"
msgstr ""
-#: build/models.py:271
+#: build/models.py:289
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:274 order/models.py:162 part/models.py:854
-#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069
+#: build/models.py:292 order/models.py:165 part/models.py:936
+#: part/templates/part/detail.html:86 templates/js/translated/order.js:1082
msgid "Creation Date"
msgstr ""
-#: build/models.py:278 order/models.py:569
+#: build/models.py:296 order/models.py:578
msgid "Target completion date"
msgstr ""
-#: build/models.py:282 order/models.py:288
-#: templates/js/translated/build.js:1293
+#: build/models.py:297
+msgid "Target date for build completion. Build will be overdue after this date."
+msgstr ""
+
+#: build/models.py:300 order/models.py:291
+#: templates/js/translated/build.js:1697
msgid "Completion Date"
msgstr ""
-#: build/models.py:288
+#: build/models.py:306
msgid "completed by"
msgstr ""
-#: build/models.py:296 templates/js/translated/build.js:1264
+#: build/models.py:314 templates/js/translated/build.js:1668
msgid "Issued by"
msgstr ""
-#: build/models.py:297
+#: build/models.py:315
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:305 build/templates/build/build_base.html:184
-#: build/templates/build/detail.html:108 order/models.py:176
-#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:145 part/models.py:858
+#: build/models.py:323 build/templates/build/build_base.html:177
+#: build/templates/build/detail.html:116 order/models.py:179
+#: order/templates/order/order_base.html:154
+#: order/templates/order/sales_order_base.html:161 part/models.py:940
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1680
msgid "Responsible"
msgstr ""
-#: build/models.py:306
+#: build/models.py:324
msgid "User responsible for this build order"
msgstr ""
-#: build/models.py:311 build/templates/build/detail.html:94
-#: company/templates/company/manufacturer_part.html:83
-#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:266 stock/models.py:507
-#: stock/templates/stock/item_base.html:359
+#: build/models.py:329 build/templates/build/detail.html:102
+#: company/templates/company/manufacturer_part.html:87
+#: company/templates/company/supplier_part.html:88
+#: part/templates/part/detail.html:80 stock/models.py:538
+#: stock/templates/stock/item_base.html:346
msgid "External Link"
msgstr ""
-#: build/models.py:312 part/models.py:716 stock/models.py:509
+#: build/models.py:330 part/models.py:798 stock/models.py:540
msgid "Link to external URL"
msgstr ""
-#: build/models.py:316 build/templates/build/navbar.html:52
-#: company/models.py:142 company/models.py:577
-#: company/templates/company/navbar.html:69
-#: company/templates/company/navbar.html:72 order/models.py:180
-#: order/models.py:729 order/templates/order/po_navbar.html:38
-#: order/templates/order/po_navbar.html:41
-#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:843
-#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120
-#: part/templates/part/navbar.html:123
+#: build/models.py:334 build/serializers.py:201 company/models.py:142
+#: company/models.py:577 order/models.py:183 order/models.py:738
+#: part/models.py:925 part/templates/part/detail.html:223
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579
-#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451
-#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59
-#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841
-#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540
-#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040
+#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610
+#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325
+#: stock/serializers.py:584 templates/js/translated/barcode.js:58
+#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841
+#: templates/js/translated/order.js:963 templates/js/translated/order.js:1561
+#: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340
msgid "Notes"
msgstr ""
-#: build/models.py:317
+#: build/models.py:335
msgid "Extra build notes"
msgstr ""
-#: build/models.py:714
+#: build/models.py:710
msgid "No build output specified"
msgstr ""
-#: build/models.py:717
+#: build/models.py:713
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:720
+#: build/models.py:716
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1102
+#: build/models.py:1108
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1111
+#: build/models.py:1117
#, python-brace-format
msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1121
+#: build/models.py:1127
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1127 order/models.py:955
+#: build/models.py:1133 order/models.py:964
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1133
+#: build/models.py:1139
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1191
+#: build/models.py:1193
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1251 stock/templates/stock/item_base.html:331
-#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195
-#: templates/navbar.html:35
+#: build/models.py:1253 stock/templates/stock/item_base.html:318
+#: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599
+#: templates/navbar.html:33
msgid "Build"
msgstr ""
-#: build/models.py:1252
+#: build/models.py:1254
msgid "Build to allocate parts"
msgstr "パーツを割り当てるためにビルドする"
-#: build/models.py:1268 build/serializers.py:151
+#: build/models.py:1270 build/serializers.py:328
#: stock/templates/stock/item_base.html:8
-#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:353
-#: stock/templates/stock/stock_adjust.html:16
-#: templates/js/translated/build.js:287 templates/js/translated/build.js:292
-#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148
-#: templates/js/translated/stock.js:1605
+#: stock/templates/stock/item_base.html:16
+#: stock/templates/stock/item_base.html:340
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:413
+#: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742
+#: templates/js/translated/order.js:1156 templates/js/translated/order.js:1161
+#: templates/js/translated/stock.js:1990
msgid "Stock Item"
msgstr ""
-#: build/models.py:1269
+#: build/models.py:1271
msgid "Source stock item"
msgstr ""
-#: build/models.py:1282
+#: build/models.py:1284
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1290
+#: build/models.py:1292
msgid "Install into"
msgstr ""
-#: build/models.py:1291
+#: build/models.py:1293
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:133 part/models.py:2501
-msgid "BOM Item"
-msgstr ""
-
-#: build/serializers.py:142
-msgid "bom_item.part must point to the same part as the build order"
-msgstr ""
-
-#: build/serializers.py:157
-msgid "Item must be in stock"
-msgstr ""
-
-#: build/serializers.py:171 order/models.py:313 order/serializers.py:231
-#: stock/models.py:351 stock/models.py:1072
-msgid "Quantity must be greater than zero"
-msgstr ""
-
-#: build/serializers.py:180
+#: build/serializers.py:137 build/serializers.py:357
msgid "Build Output"
msgstr ""
+#: build/serializers.py:146
+msgid "Build output does not match the parent build"
+msgstr ""
+
+#: build/serializers.py:150
+msgid "Output part does not match BuildOrder part"
+msgstr ""
+
+#: build/serializers.py:154
+msgid "This build output has already been completed"
+msgstr ""
+
+#: build/serializers.py:158
+msgid "This build output is not fully allocated"
+msgstr ""
+
+#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285
+#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686
+#: stock/templates/stock/item_base.html:286
+#: templates/js/translated/barcode.js:384
+#: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420
+#: templates/js/translated/build.js:1027 templates/js/translated/order.js:348
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1276
+#: templates/js/translated/order.js:1282 templates/js/translated/part.js:180
+#: templates/js/translated/stock.js:480 templates/js/translated/stock.js:1221
+#: templates/js/translated/stock.js:1931
+msgid "Location"
+msgstr ""
+
+#: build/serializers.py:191
+#, fuzzy
+#| msgid "Location of completed parts"
+msgid "Location for completed build outputs"
+msgstr "完了したパーツの場所"
+
+#: build/serializers.py:197 build/templates/build/build_base.html:129
+#: build/templates/build/detail.html:63 order/models.py:572
+#: order/serializers.py:238 stock/templates/stock/item_base.html:409
+#: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655
+#: templates/js/translated/order.js:431 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196
+#: templates/js/translated/stock.js:2008 templates/js/translated/stock.js:2157
+msgid "Status"
+msgstr ""
+
#: build/serializers.py:213
+msgid "A list of build outputs must be provided"
+msgstr ""
+
+#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700
+#: part/models.py:2859
+msgid "BOM Item"
+msgstr ""
+
+#: build/serializers.py:269
+msgid "Build output"
+msgstr ""
+
+#: build/serializers.py:278
+msgid "Build output must point to the same build"
+msgstr ""
+
+#: build/serializers.py:319
+msgid "bom_item.part must point to the same part as the build order"
+msgstr ""
+
+#: build/serializers.py:334
+msgid "Item must be in stock"
+msgstr ""
+
+#: build/serializers.py:348 order/models.py:316 order/serializers.py:231
+#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298
+msgid "Quantity must be greater than zero"
+msgstr ""
+
+#: build/serializers.py:390
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:219
+#: build/serializers.py:396
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:226
+#: build/serializers.py:403
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:254
+#: build/serializers.py:431
msgid "Allocation items must be provided"
msgstr ""
-#: build/templates/build/allocation_card.html:21
-#: build/templates/build/complete_output.html:46
-#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:501 stock/templates/stock/item_base.html:251
-#: templates/js/translated/build.js:636
-#: templates/js/translated/model_renderers.js:72
-#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342
-msgid "Serial Number"
+#: build/tasks.py:92
+msgid "Stock required for build order"
msgstr ""
-#: build/templates/build/build_base.html:18
+#: build/templates/build/build_base.html:39
+#: order/templates/order/order_base.html:28
+#: order/templates/order/sales_order_base.html:38
+msgid "Print actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:43
+msgid "Print build order report"
+msgstr ""
+
+#: build/templates/build/build_base.html:50
+msgid "Build actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:54
+msgid "Edit Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:56
+#: build/templates/build/build_base.html:207 build/views.py:56
+msgid "Cancel Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:59
+msgid "Delete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:64
+#: build/templates/build/build_base.html:65
+#: build/templates/build/build_base.html:223
+msgid "Complete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:79
#, python-format
msgid "This Build Order is allocated to Sales Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:25
+#: build/templates/build/build_base.html:86
#, python-format
msgid "This Build Order is a child of Build Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:32
+#: build/templates/build/build_base.html:93
msgid "Build Order is ready to mark as completed"
msgstr ""
-#: build/templates/build/build_base.html:37
+#: build/templates/build/build_base.html:98
msgid "Build Order cannot be completed as outstanding outputs remain"
msgstr ""
-#: build/templates/build/build_base.html:42
+#: build/templates/build/build_base.html:103
msgid "Required build quantity has not yet been completed"
msgstr ""
-#: build/templates/build/build_base.html:47
+#: build/templates/build/build_base.html:108
msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
-#: build/templates/build/build_base.html:75
-#: company/templates/company/company_base.html:40
-#: company/templates/company/manufacturer_part.html:29
-#: company/templates/company/supplier_part.html:30
-#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:30
-#: stock/templates/stock/item_base.html:62
-#: stock/templates/stock/location.html:31
-msgid "Admin view"
+#: build/templates/build/build_base.html:138
+#: build/templates/build/detail.html:132
+#: order/templates/order/order_base.html:140
+#: order/templates/order/sales_order_base.html:140
+#: report/templates/report/inventree_build_order_base.html:126
+#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690
+#: templates/js/translated/order.js:1087
+msgid "Target Date"
msgstr ""
-#: build/templates/build/build_base.html:81
-#: build/templates/build/build_base.html:150
-#: order/templates/order/order_base.html:32
-#: order/templates/order/order_base.html:86
-#: order/templates/order/sales_order_base.html:43
-#: order/templates/order/sales_order_base.html:93
-#: templates/js/translated/table_filters.js:272
-#: templates/js/translated/table_filters.js:300
-#: templates/js/translated/table_filters.js:317
-msgid "Overdue"
-msgstr ""
-
-#: build/templates/build/build_base.html:90
-msgid "Print actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:94
-msgid "Print Build Order"
-msgstr ""
-
-#: build/templates/build/build_base.html:100
-#: build/templates/build/build_base.html:222
-msgid "Complete Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:105
-msgid "Build actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:109
-msgid "Edit Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:111
-#: build/templates/build/build_base.html:206 build/views.py:56
-msgid "Cancel Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:114
-msgid "Delete Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:124
-#: build/templates/build/detail.html:15
-msgid "Build Details"
-msgstr ""
-
-#: build/templates/build/build_base.html:150
+#: build/templates/build/build_base.html:143
#, python-format
msgid "This build was due on %(target)s"
msgstr ""
-#: build/templates/build/build_base.html:157
-#: build/templates/build/detail.html:67
-msgid "Progress"
+#: build/templates/build/build_base.html:143
+#: build/templates/build/build_base.html:188
+#: order/templates/order/order_base.html:81
+#: order/templates/order/order_base.html:102
+#: order/templates/order/sales_order_base.html:78
+#: order/templates/order/sales_order_base.html:107
+#: templates/js/translated/table_filters.js:288
+#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:333
+msgid "Overdue"
msgstr ""
-#: build/templates/build/build_base.html:170
-#: build/templates/build/detail.html:87 order/models.py:848
+#: build/templates/build/build_base.html:150
+#: build/templates/build/detail.html:68 build/templates/build/detail.html:143
+#: templates/js/translated/build.js:1641
+#: templates/js/translated/table_filters.js:298
+msgid "Completed"
+msgstr ""
+
+#: build/templates/build/build_base.html:163
+#: build/templates/build/detail.html:95 order/models.py:857
#: order/templates/order/sales_order_base.html:9
-#: order/templates/order/sales_order_base.html:35
+#: order/templates/order/sales_order_base.html:28
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:293
-#: templates/js/translated/order.js:1016
+#: stock/templates/stock/item_base.html:280
+#: templates/js/translated/order.js:1029
msgid "Sales Order"
msgstr ""
-#: build/templates/build/build_base.html:177
-#: build/templates/build/detail.html:101
+#: build/templates/build/build_base.html:170
+#: build/templates/build/detail.html:109
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:214
+#: build/templates/build/build_base.html:215
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:215
+#: build/templates/build/build_base.html:216
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
@@ -1175,220 +1150,199 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/templates/build/complete_output.html:10
-msgid "Stock allocation is complete for this output"
+#: build/templates/build/detail.html:16
+msgid "Build Details"
msgstr ""
-#: build/templates/build/complete_output.html:14
-msgid "Stock allocation is incomplete"
-msgstr ""
-
-#: build/templates/build/complete_output.html:20
-msgid "tracked parts have not been fully allocated"
-msgstr ""
-
-#: build/templates/build/complete_output.html:41
-msgid "The following items will be created"
-msgstr ""
-
-#: build/templates/build/detail.html:38
+#: build/templates/build/detail.html:39
msgid "Stock Source"
msgstr ""
-#: build/templates/build/detail.html:43
+#: build/templates/build/detail.html:44
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134
-#: templates/js/translated/order.js:431 templates/js/translated/order.js:939
+#: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150
+#: templates/js/translated/order.js:432 templates/js/translated/order.js:952
msgid "Destination"
msgstr ""
-#: build/templates/build/detail.html:56
+#: build/templates/build/detail.html:57
msgid "Destination location not specified"
msgstr ""
-#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:317
-#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852
-#: templates/js/translated/table_filters.js:129
-#: templates/js/translated/table_filters.js:211
+#: build/templates/build/detail.html:74 templates/js/translated/build.js:647
+#, fuzzy
+#| msgid "Delete Parts"
+msgid "Allocated Parts"
+msgstr "パーツを削除"
+
+#: build/templates/build/detail.html:81
+#: stock/templates/stock/item_base.html:304
+#: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164
+#: templates/js/translated/table_filters.js:145
+#: templates/js/translated/table_filters.js:227
msgid "Batch"
msgstr ""
-#: build/templates/build/detail.html:119
-#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:118
-#: templates/js/translated/build.js:1259
+#: build/templates/build/detail.html:127
+#: order/templates/order/order_base.html:127
+#: order/templates/order/sales_order_base.html:134
+#: templates/js/translated/build.js:1663
msgid "Created"
msgstr ""
-#: build/templates/build/detail.html:130
+#: build/templates/build/detail.html:138
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237
-#: templates/js/translated/table_filters.js:282
-msgid "Completed"
-msgstr ""
-
-#: build/templates/build/detail.html:139
+#: build/templates/build/detail.html:147
msgid "Build not complete"
msgstr ""
-#: build/templates/build/detail.html:150 build/templates/build/navbar.html:35
+#: build/templates/build/detail.html:158
msgid "Child Build Orders"
msgstr ""
-#: build/templates/build/detail.html:166
+#: build/templates/build/detail.html:173
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:172
-msgid "Allocate stock to build"
-msgstr ""
-
-#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20
-#: build/templates/build/navbar.html:23
-msgid "Allocate Stock"
-msgstr ""
-
-#: build/templates/build/detail.html:175 templates/js/translated/build.js:817
+#: build/templates/build/detail.html:177 templates/js/translated/build.js:1202
msgid "Unallocate stock"
msgstr ""
-#: build/templates/build/detail.html:176 build/views.py:257
+#: build/templates/build/detail.html:178
msgid "Unallocate Stock"
msgstr ""
-#: build/templates/build/detail.html:179
+#: build/templates/build/detail.html:180
+msgid "Allocate stock to build"
+msgstr ""
+
+#: build/templates/build/detail.html:181
+msgid "Allocate Stock"
+msgstr ""
+
+#: build/templates/build/detail.html:184
msgid "Order required parts"
msgstr "注文必須パーツ"
-#: build/templates/build/detail.html:180
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72 order/views.py:509
-#: part/templates/part/category.html:140
+#: build/templates/build/detail.html:185
+#: company/templates/company/detail.html:38
+#: company/templates/company/detail.html:85 order/views.py:509
+#: part/templates/part/category.html:166
msgid "Order Parts"
msgstr "パーツの注文"
-#: build/templates/build/detail.html:186
+#: build/templates/build/detail.html:197
msgid "Untracked stock has been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:190
+#: build/templates/build/detail.html:201
msgid "Untracked stock has not been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:197
+#: build/templates/build/detail.html:208
msgid "Allocate selected items"
msgstr ""
-#: build/templates/build/detail.html:209
+#: build/templates/build/detail.html:218
msgid "This Build Order does not have any associated untracked BOM items"
msgstr ""
-#: build/templates/build/detail.html:218
+#: build/templates/build/detail.html:227
msgid "Incomplete Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:223
+#: build/templates/build/detail.html:231
msgid "Create new build output"
msgstr ""
-#: build/templates/build/detail.html:224
-msgid "Create New Output"
+#: build/templates/build/detail.html:232
+msgid "New Build Output"
msgstr ""
-#: build/templates/build/detail.html:237
-msgid "Create a new build output"
+#: build/templates/build/detail.html:246
+msgid "Output Actions"
msgstr ""
-#: build/templates/build/detail.html:238
-msgid "No incomplete build outputs remain."
+#: build/templates/build/detail.html:250
+msgid "Complete selected items"
msgstr ""
-#: build/templates/build/detail.html:239
-msgid "Create a new build output using the button above"
-msgstr ""
+#: build/templates/build/detail.html:251
+#, fuzzy
+#| msgid "Complete"
+msgid "Complete outputs"
+msgstr "完了"
-#: build/templates/build/detail.html:247
+#: build/templates/build/detail.html:266
msgid "Completed Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42
-#: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35
-#: order/templates/order/sales_order_detail.html:43
-#: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173
-#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117
-#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47
-#: stock/templates/stock/navbar.html:50
+#: build/templates/build/detail.html:278
+#: order/templates/order/purchase_order_detail.html:60
+#: order/templates/order/sales_order_detail.html:52
+#: part/templates/part/detail.html:300 stock/templates/stock/item.html:95
msgid "Attachments"
msgstr ""
-#: build/templates/build/detail.html:269
+#: build/templates/build/detail.html:294
msgid "Build Notes"
msgstr ""
-#: build/templates/build/detail.html:273 build/templates/build/detail.html:414
-#: company/templates/company/detail.html:169
-#: company/templates/company/detail.html:196
-#: order/templates/order/purchase_order_detail.html:71
-#: order/templates/order/purchase_order_detail.html:104
-#: order/templates/order/sales_order_detail.html:58
-#: order/templates/order/sales_order_detail.html:85
-#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103
-#: stock/templates/stock/item.html:188
+#: build/templates/build/detail.html:298 build/templates/build/detail.html:489
+#: company/templates/company/detail.html:188
+#: company/templates/company/detail.html:215
+#: order/templates/order/purchase_order_detail.html:80
+#: order/templates/order/purchase_order_detail.html:108
+#: order/templates/order/sales_order_detail.html:72
+#: order/templates/order/sales_order_detail.html:99
+#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115
+#: stock/templates/stock/item.html:205
msgid "Edit Notes"
msgstr ""
-#: build/templates/build/detail.html:373
-#: order/templates/order/po_attachments.html:79
-#: order/templates/order/purchase_order_detail.html:166
-#: order/templates/order/sales_order_detail.html:146
-#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253
-#: templates/attachment_table.html:6
+#: build/templates/build/detail.html:448
+#: order/templates/order/purchase_order_detail.html:170
+#: order/templates/order/sales_order_detail.html:160
+#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270
+#: templates/attachment_button.html:4
msgid "Add Attachment"
msgstr ""
-#: build/templates/build/detail.html:392
-#: order/templates/order/po_attachments.html:51
-#: order/templates/order/purchase_order_detail.html:138
-#: order/templates/order/sales_order_detail.html:119
-#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221
+#: build/templates/build/detail.html:467
+#: order/templates/order/purchase_order_detail.html:142
+#: order/templates/order/sales_order_detail.html:133
+#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238
msgid "Edit Attachment"
msgstr ""
-#: build/templates/build/detail.html:399
-#: order/templates/order/po_attachments.html:58
-#: order/templates/order/purchase_order_detail.html:145
-#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230
-#: templates/js/translated/order.js:1230
+#: build/templates/build/detail.html:474
+#: order/templates/order/purchase_order_detail.html:149
+#: order/templates/order/sales_order_detail.html:139
+#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247
+#: templates/js/translated/order.js:1243
msgid "Confirm Delete Operation"
msgstr ""
-#: build/templates/build/detail.html:400
-#: order/templates/order/po_attachments.html:59
-#: order/templates/order/purchase_order_detail.html:146
-#: order/templates/order/sales_order_detail.html:126
-#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231
+#: build/templates/build/detail.html:475
+#: order/templates/order/purchase_order_detail.html:150
+#: order/templates/order/sales_order_detail.html:140
+#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248
msgid "Delete Attachment"
msgstr ""
-#: build/templates/build/detail.html:443
+#: build/templates/build/detail.html:513
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:444
+#: build/templates/build/detail.html:514
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/edit_build_item.html:7
-msgid "Alter the quantity of stock allocated to the build output"
-msgstr ""
-
-#: build/templates/build/index.html:28
+#: build/templates/build/index.html:18 part/templates/part/detail.html:433
msgid "New Build Order"
msgstr ""
@@ -1396,47 +1350,18 @@ msgstr ""
msgid "Print Build Orders"
msgstr ""
-#: build/templates/build/index.html:43
-#: order/templates/order/purchase_orders.html:27
-#: order/templates/order/sales_orders.html:27
+#: build/templates/build/index.html:44
+#: order/templates/order/purchase_orders.html:34
+#: order/templates/order/sales_orders.html:37
msgid "Display calendar view"
msgstr ""
-#: build/templates/build/index.html:46
-#: order/templates/order/purchase_orders.html:30
-#: order/templates/order/sales_orders.html:30
+#: build/templates/build/index.html:47
+#: order/templates/order/purchase_orders.html:37
+#: order/templates/order/sales_orders.html:40
msgid "Display list view"
msgstr ""
-#: build/templates/build/navbar.html:12
-msgid "Build Order Details"
-msgstr ""
-
-#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/translated/stock.js:1534
-msgid "Details"
-msgstr ""
-
-#: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31
-msgid "Build Outputs"
-msgstr ""
-
-#: build/templates/build/navbar.html:38
-msgid "Child Builds"
-msgstr ""
-
-#: build/templates/build/navbar.html:49
-msgid "Build Order Notes"
-msgstr ""
-
-#: build/templates/build/unallocate.html:10
-msgid "Are you sure you wish to unallocate all stock for this build?"
-msgstr ""
-
-#: build/templates/build/unallocate.html:12
-msgid "All incomplete stock allocations will be removed from the build"
-msgstr ""
-
#: build/views.py:76
msgid "Build was cancelled"
msgstr ""
@@ -1449,7 +1374,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:122 stock/views.py:1366
+#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290
msgid "Serial numbers already exist"
msgstr ""
@@ -1461,11 +1386,11 @@ msgstr ""
msgid "Delete Build Output"
msgstr ""
-#: build/views.py:218 build/views.py:308
+#: build/views.py:218
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:219 build/views.py:309 stock/views.py:381
+#: build/views.py:219 stock/views.py:385
msgid "Check the confirmation box"
msgstr ""
@@ -1473,7 +1398,7 @@ msgstr ""
msgid "Build output does not match build"
msgstr ""
-#: build/views.py:233 build/views.py:434
+#: build/views.py:233
msgid "Build output must be specified"
msgstr ""
@@ -1481,39 +1406,19 @@ msgstr ""
msgid "Build output deleted"
msgstr ""
-#: build/views.py:343
+#: build/views.py:261
msgid "Complete Build Order"
msgstr ""
-#: build/views.py:349
+#: build/views.py:267
msgid "Build order cannot be completed - incomplete outputs remain"
msgstr ""
-#: build/views.py:360
+#: build/views.py:278
msgid "Completed build order"
msgstr ""
-#: build/views.py:376
-msgid "Complete Build Output"
-msgstr ""
-
-#: build/views.py:418
-msgid "Invalid stock status value selected"
-msgstr ""
-
-#: build/views.py:425
-msgid "Quantity to complete cannot exceed build output quantity"
-msgstr ""
-
-#: build/views.py:431
-msgid "Confirm completion of incomplete build"
-msgstr ""
-
-#: build/views.py:530
-msgid "Build output completed"
-msgstr ""
-
-#: build/views.py:567
+#: build/views.py:319
msgid "Delete Build Order"
msgstr ""
@@ -1554,728 +1459,732 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:308 common/models.py:887 common/models.py:1048
+#: common/models.py:340 common/models.py:970 common/models.py:1178
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:310
+#: common/models.py:342
msgid "Settings value"
msgstr ""
-#: common/models.py:345
+#: common/models.py:377
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:368
+#: common/models.py:382
+msgid "Chosen value is not a valid option"
+msgstr ""
+
+#: common/models.py:405
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:379
+#: common/models.py:416
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:402
+#: common/models.py:439
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:509
+#: common/models.py:559
+msgid "No group"
+msgstr ""
+
+#: common/models.py:601
+#, fuzzy
+#| msgid "Order required parts"
+msgid "Restart required"
+msgstr "注文必須パーツ"
+
+#: common/models.py:602
+msgid "A setting has been changed which requires a server restart"
+msgstr ""
+
+#: common/models.py:609
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:511
+#: common/models.py:611
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:515
+#: common/models.py:615
msgid "Use instance name"
msgstr ""
-#: common/models.py:516
+#: common/models.py:616
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:522 company/models.py:100 company/models.py:101
+#: common/models.py:622 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr ""
-#: common/models.py:523
+#: common/models.py:623
msgid "Internal company name"
msgstr ""
-#: common/models.py:528
+#: common/models.py:628
msgid "Base URL"
msgstr ""
-#: common/models.py:529
+#: common/models.py:629
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:535
+#: common/models.py:635
msgid "Default Currency"
msgstr ""
-#: common/models.py:536
+#: common/models.py:636
msgid "Default currency"
msgstr ""
-#: common/models.py:542
+#: common/models.py:642
msgid "Download from URL"
msgstr ""
-#: common/models.py:543
+#: common/models.py:643
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:549
+#: common/models.py:649
msgid "Barcode Support"
msgstr ""
-#: common/models.py:550
+#: common/models.py:650
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:556
+#: common/models.py:656
msgid "IPN Regex"
msgstr ""
-#: common/models.py:557
+#: common/models.py:657
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:561
+#: common/models.py:661
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:562
+#: common/models.py:662
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:568
+#: common/models.py:668
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:569
+#: common/models.py:669
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:575
+#: common/models.py:675
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:576
+#: common/models.py:676
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:582
+#: common/models.py:682
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:583
+#: common/models.py:683
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:589
+#: common/models.py:689
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:590
+#: common/models.py:690
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:596
+#: common/models.py:696
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:597
+#: common/models.py:697
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:603 part/models.py:2256 report/models.py:187
-#: stock/forms.py:224 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:351
+#: common/models.py:703 part/models.py:2429 report/models.py:187
+#: templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:367
msgid "Template"
msgstr "テンプレート"
-#: common/models.py:604
+#: common/models.py:704
msgid "Parts are templates by default"
msgstr "パーツはデフォルトのテンプレートです"
-#: common/models.py:610 part/models.py:806
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:363
+#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954
+#: templates/js/translated/table_filters.js:162
+#: templates/js/translated/table_filters.js:379
msgid "Assembly"
msgstr "アセンブリ"
-#: common/models.py:611
+#: common/models.py:711
msgid "Parts can be assembled from other components by default"
msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます"
-#: common/models.py:617 part/models.py:812
-#: templates/js/translated/table_filters.js:367
+#: common/models.py:717 part/models.py:894
+#: templates/js/translated/table_filters.js:383
msgid "Component"
msgstr "コンポーネント"
-#: common/models.py:618
+#: common/models.py:718
msgid "Parts can be used as sub-components by default"
msgstr "パーツはデフォルトでサブコンポーネントとして使用できます"
-#: common/models.py:624 part/models.py:823
+#: common/models.py:724 part/models.py:905
msgid "Purchaseable"
msgstr "購入可能"
-#: common/models.py:625
+#: common/models.py:725
msgid "Parts are purchaseable by default"
msgstr "パーツはデフォルトで購入可能です"
-#: common/models.py:631 part/models.py:828
-#: templates/js/translated/table_filters.js:375
+#: common/models.py:731 part/models.py:910
+#: templates/js/translated/table_filters.js:391
msgid "Salable"
msgstr ""
-#: common/models.py:632
+#: common/models.py:732
msgid "Parts are salable by default"
msgstr "パーツはデフォルトで販売可能です"
-#: common/models.py:638 part/models.py:818
+#: common/models.py:738 part/models.py:900
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:379
+#: templates/js/translated/table_filters.js:94
+#: templates/js/translated/table_filters.js:395
msgid "Trackable"
msgstr "追跡可能"
-#: common/models.py:639
+#: common/models.py:739
msgid "Parts are trackable by default"
msgstr "パーツはデフォルトで追跡可能です"
-#: common/models.py:645 part/models.py:838
-#: part/templates/part/part_base.html:66
+#: common/models.py:745 part/models.py:920
+#: part/templates/part/part_base.html:144
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:646
+#: common/models.py:746
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:652
+#: common/models.py:752
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:653
+#: common/models.py:753
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:659
+#: common/models.py:759
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:660
+#: common/models.py:760
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:671
+#: common/models.py:771
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:672
+#: common/models.py:772
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:678
+#: common/models.py:778
msgid "Show related parts"
msgstr ""
-#: common/models.py:679
+#: common/models.py:779
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:685
+#: common/models.py:785
msgid "Create initial stock"
msgstr ""
-#: common/models.py:686
+#: common/models.py:786
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:692
+#: common/models.py:792
msgid "Internal Prices"
msgstr ""
-#: common/models.py:693
+#: common/models.py:793
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:699
+#: common/models.py:799
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:700
+#: common/models.py:800
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:706 templates/stats.html:25
+#: common/models.py:806
+msgid "Part Name Display Format"
+msgstr ""
+
+#: common/models.py:807
+msgid "Format to display the part name"
+msgstr ""
+
+#: common/models.py:814
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:815
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:821 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:707
+#: common/models.py:822
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:713
+#: common/models.py:828
msgid "Page Size"
msgstr ""
-#: common/models.py:714
+#: common/models.py:829
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:724
+#: common/models.py:839
msgid "Test Reports"
msgstr ""
-#: common/models.py:725
+#: common/models.py:840
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:731
+#: common/models.py:846
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:732
+#: common/models.py:847
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:738
+#: common/models.py:853
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:739
+#: common/models.py:854
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:745
+#: common/models.py:860
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:746
+#: common/models.py:861
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:748
+#: common/models.py:863
msgid "days"
msgstr ""
-#: common/models.py:753
+#: common/models.py:868
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:754
+#: common/models.py:869
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:760
+#: common/models.py:875
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:761
+#: common/models.py:876
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:767
+#: common/models.py:882
msgid "Group by Part"
msgstr ""
-#: common/models.py:768
+#: common/models.py:883
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:774
+#: common/models.py:889
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:775
+#: common/models.py:890
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:780
+#: common/models.py:895
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:781
+#: common/models.py:896
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:785
+#: common/models.py:900
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:786
+#: common/models.py:901
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:791
+#: common/models.py:906
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:792
+#: common/models.py:907
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:798
-msgid "Enable build"
-msgstr ""
-
-#: common/models.py:799
-msgid "Enable build functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:804
-msgid "Enable buy"
-msgstr ""
-
-#: common/models.py:805
-msgid "Enable buy functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:810
-msgid "Enable sell"
-msgstr ""
-
-#: common/models.py:811
-msgid "Enable sell functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:816
-msgid "Enable stock"
-msgstr ""
-
-#: common/models.py:817
-msgid "Enable stock functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:822
-msgid "Enable SO"
-msgstr ""
-
-#: common/models.py:823
-msgid "Enable SO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:828
-msgid "Enable PO"
-msgstr ""
-
-#: common/models.py:829
-msgid "Enable PO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:836
+#: common/models.py:913
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:837
-msgid "Enable password forgot function on the login-pages"
+#: common/models.py:914
+msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:842
+#: common/models.py:919
msgid "Enable registration"
msgstr ""
-#: common/models.py:843
-msgid "Enable self-registration for users on the login-pages"
+#: common/models.py:920
+msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:848
+#: common/models.py:925
msgid "Enable SSO"
msgstr ""
-#: common/models.py:849
-msgid "Enable SSO on the login-pages"
+#: common/models.py:926
+msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:854
-msgid "E-Mail required"
+#: common/models.py:931
+msgid "Email required"
msgstr ""
-#: common/models.py:855
+#: common/models.py:932
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:860
+#: common/models.py:937
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:861
+#: common/models.py:938
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:943
msgid "Mail twice"
msgstr ""
-#: common/models.py:867
+#: common/models.py:944
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:872
+#: common/models.py:949
msgid "Password twice"
msgstr ""
-#: common/models.py:873
+#: common/models.py:950
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:898
-msgid "Show starred parts"
+#: common/models.py:955
+msgid "Group on signup"
msgstr ""
-#: common/models.py:899
-msgid "Show starred parts on the homepage"
+#: common/models.py:956
+msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:904
-msgid "Show latest parts"
-msgstr ""
-
-#: common/models.py:905
-msgid "Show latest parts on the homepage"
-msgstr ""
-
-#: common/models.py:910
-msgid "Recent Part Count"
-msgstr ""
-
-#: common/models.py:911
-msgid "Number of recent parts to display on index page"
-msgstr ""
-
-#: common/models.py:917
-msgid "Show unvalidated BOMs"
-msgstr ""
-
-#: common/models.py:918
-msgid "Show BOMs that await validation on the homepage"
-msgstr ""
-
-#: common/models.py:923
-msgid "Show recent stock changes"
-msgstr ""
-
-#: common/models.py:924
-msgid "Show recently changed stock items on the homepage"
-msgstr ""
-
-#: common/models.py:929
-msgid "Recent Stock Count"
-msgstr ""
-
-#: common/models.py:930
-msgid "Number of recent stock items to display on index page"
-msgstr ""
-
-#: common/models.py:935
-msgid "Show low stock"
-msgstr ""
-
-#: common/models.py:936
-msgid "Show low stock items on the homepage"
-msgstr ""
-
-#: common/models.py:941
-msgid "Show depleted stock"
-msgstr ""
-
-#: common/models.py:942
-msgid "Show depleted stock items on the homepage"
-msgstr ""
-
-#: common/models.py:947
-msgid "Show needed stock"
-msgstr ""
-
-#: common/models.py:948
-msgid "Show stock items needed for builds on the homepage"
-msgstr ""
-
-#: common/models.py:953
-msgid "Show expired stock"
-msgstr ""
-
-#: common/models.py:954
-msgid "Show expired stock items on the homepage"
-msgstr ""
-
-#: common/models.py:959
-msgid "Show stale stock"
-msgstr ""
-
-#: common/models.py:960
-msgid "Show stale stock items on the homepage"
-msgstr ""
-
-#: common/models.py:965
-msgid "Show pending builds"
-msgstr ""
-
-#: common/models.py:966
-msgid "Show pending builds on the homepage"
-msgstr ""
-
-#: common/models.py:971
-msgid "Show overdue builds"
-msgstr ""
-
-#: common/models.py:972
-msgid "Show overdue builds on the homepage"
-msgstr ""
-
-#: common/models.py:977
-msgid "Show outstanding POs"
-msgstr ""
-
-#: common/models.py:978
-msgid "Show outstanding POs on the homepage"
-msgstr ""
-
-#: common/models.py:983
-msgid "Show overdue POs"
-msgstr ""
-
-#: common/models.py:984
-msgid "Show overdue POs on the homepage"
-msgstr ""
-
-#: common/models.py:989
-msgid "Show outstanding SOs"
-msgstr ""
-
-#: common/models.py:990
-msgid "Show outstanding SOs on the homepage"
-msgstr ""
-
-#: common/models.py:995
-msgid "Show overdue SOs"
-msgstr ""
-
-#: common/models.py:996
-msgid "Show overdue SOs on the homepage"
+#: common/models.py:1001
+msgid "Show subscribed parts"
msgstr ""
#: common/models.py:1002
+msgid "Show subscribed parts on the homepage"
+msgstr ""
+
+#: common/models.py:1007
+msgid "Show subscribed categories"
+msgstr ""
+
+#: common/models.py:1008
+msgid "Show subscribed part categories on the homepage"
+msgstr ""
+
+#: common/models.py:1013
+msgid "Show latest parts"
+msgstr ""
+
+#: common/models.py:1014
+msgid "Show latest parts on the homepage"
+msgstr ""
+
+#: common/models.py:1019
+msgid "Recent Part Count"
+msgstr ""
+
+#: common/models.py:1020
+msgid "Number of recent parts to display on index page"
+msgstr ""
+
+#: common/models.py:1026
+msgid "Show unvalidated BOMs"
+msgstr ""
+
+#: common/models.py:1027
+msgid "Show BOMs that await validation on the homepage"
+msgstr ""
+
+#: common/models.py:1032
+msgid "Show recent stock changes"
+msgstr ""
+
+#: common/models.py:1033
+msgid "Show recently changed stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1038
+msgid "Recent Stock Count"
+msgstr ""
+
+#: common/models.py:1039
+msgid "Number of recent stock items to display on index page"
+msgstr ""
+
+#: common/models.py:1044
+msgid "Show low stock"
+msgstr ""
+
+#: common/models.py:1045
+msgid "Show low stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1050
+msgid "Show depleted stock"
+msgstr ""
+
+#: common/models.py:1051
+msgid "Show depleted stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1056
+msgid "Show needed stock"
+msgstr ""
+
+#: common/models.py:1057
+msgid "Show stock items needed for builds on the homepage"
+msgstr ""
+
+#: common/models.py:1062
+msgid "Show expired stock"
+msgstr ""
+
+#: common/models.py:1063
+msgid "Show expired stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1068
+msgid "Show stale stock"
+msgstr ""
+
+#: common/models.py:1069
+msgid "Show stale stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1074
+msgid "Show pending builds"
+msgstr ""
+
+#: common/models.py:1075
+msgid "Show pending builds on the homepage"
+msgstr ""
+
+#: common/models.py:1080
+msgid "Show overdue builds"
+msgstr ""
+
+#: common/models.py:1081
+msgid "Show overdue builds on the homepage"
+msgstr ""
+
+#: common/models.py:1086
+msgid "Show outstanding POs"
+msgstr ""
+
+#: common/models.py:1087
+msgid "Show outstanding POs on the homepage"
+msgstr ""
+
+#: common/models.py:1092
+msgid "Show overdue POs"
+msgstr ""
+
+#: common/models.py:1093
+msgid "Show overdue POs on the homepage"
+msgstr ""
+
+#: common/models.py:1098
+msgid "Show outstanding SOs"
+msgstr ""
+
+#: common/models.py:1099
+msgid "Show outstanding SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Show overdue SOs"
+msgstr ""
+
+#: common/models.py:1105
+msgid "Show overdue SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1111
msgid "Inline label display"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1112
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1118
msgid "Inline report display"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1119
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1125
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1126
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:1023
+#: common/models.py:1132
+msgid "Search Show Stock"
+msgstr ""
+
+#: common/models.py:1133
+msgid "Display stock levels in search preview window"
+msgstr ""
+
+#: common/models.py:1139
+#, fuzzy
+#| msgid "New Manufacturer Part"
+msgid "Hide Inactive Parts"
+msgstr "新しいメーカ―・パーツ"
+
+#: common/models.py:1140
+msgid "Hide inactive parts in search preview window"
+msgstr ""
+
+#: common/models.py:1146
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1024
+#: common/models.py:1147
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1153
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1154
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1088 company/forms.py:43
+#: common/models.py:1160
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1161
+msgid "InvenTree navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1226 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1095 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1369
+#: common/models.py:1233 company/serializers.py:264
+#: company/templates/company/supplier_part.html:256
+#: templates/js/translated/part.js:1508
msgid "Price"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1234
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1189
-msgid "Default"
-msgstr ""
-
-#: common/templates/common/edit_setting.html:11
-msgid "Current value"
-msgstr ""
-
-#: common/views.py:33
-msgid "Change Setting"
-msgstr ""
-
-#: common/views.py:119
-msgid "Supplied value is not allowed"
-msgstr ""
-
-#: common/views.py:128
-msgid "Supplied value must be a boolean"
-msgstr ""
-
-#: common/views.py:138
-msgid "Change User Setting"
-msgstr ""
-
-#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42
-#: order/templates/order/po_navbar.html:19
-#: order/templates/order/po_navbar.html:22
-#: order/templates/order/purchase_order_detail.html:27 order/views.py:289
-#: part/templates/part/bom_upload/upload_file.html:65
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
-#: part/views.py:882
+#: common/views.py:93 order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:289
+#: part/templates/part/bom_upload/upload_file.html:51
+#: part/templates/part/import_wizard/part_upload.html:46 part/views.py:281
+#: part/views.py:923
msgid "Upload File"
msgstr ""
-#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
+#: common/views.py:94 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
-#: part/views.py:883
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:282
+#: part/views.py:924
msgid "Match Fields"
msgstr ""
-#: common/views.py:215
+#: common/views.py:95
msgid "Match Items"
msgstr ""
-#: common/views.py:560
+#: common/views.py:440
msgid "Fields matching failed"
msgstr ""
-#: common/views.py:615
+#: common/views.py:495
msgid "Parts imported"
msgstr ""
-#: common/views.py:637 order/templates/order/order_wizard/match_fields.html:27
+#: common/views.py:517 order/templates/order/order_wizard/match_fields.html:27
#: order/templates/order/order_wizard/match_parts.html:19
-#: order/templates/order/order_wizard/po_upload.html:40
+#: order/templates/order/order_wizard/po_upload.html:46
#: part/templates/part/bom_upload/match_fields.html:27
#: part/templates/part/bom_upload/match_parts.html:19
-#: part/templates/part/bom_upload/upload_file.html:63
+#: part/templates/part/bom_upload/upload_file.html:49
#: part/templates/part/import_wizard/match_fields.html:27
#: part/templates/part/import_wizard/match_references.html:19
-#: part/templates/part/import_wizard/part_upload.html:43
+#: part/templates/part/import_wizard/part_upload.html:44
msgid "Previous Step"
msgstr ""
@@ -2321,6 +2230,7 @@ msgid "Contact phone number"
msgstr ""
#: company/models.py:125 company/templates/company/company_base.html:102
+#: templates/InvenTree/settings/user.html:46
msgid "Email"
msgstr ""
@@ -2337,10 +2247,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:131 company/models.py:348 company/models.py:564
-#: order/models.py:160 part/models.py:715
+#: order/models.py:163 part/models.py:797
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:536
-#: templates/js/translated/company.js:825 templates/js/translated/part.js:983
+#: templates/js/translated/company.js:825 templates/js/translated/part.js:984
msgid "Link"
msgstr ""
@@ -2348,7 +2258,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:725
+#: company/models.py:139 part/models.py:807
msgid "Image"
msgstr ""
@@ -2376,8 +2286,8 @@ msgstr ""
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:152 company/serializers.py:264
-#: company/templates/company/company_base.html:76 stock/serializers.py:158
+#: company/models.py:152 company/serializers.py:270
+#: company/templates/company/company_base.html:76 stock/serializers.py:172
msgid "Currency"
msgstr ""
@@ -2385,8 +2295,8 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:454
-#: stock/templates/stock/item_base.html:237
+#: company/models.py:320 company/models.py:535 stock/models.py:484
+#: stock/templates/stock/item_base.html:224
msgid "Base Part"
msgstr ""
@@ -2395,28 +2305,28 @@ msgid "Select part"
msgstr ""
#: company/models.py:335 company/templates/company/company_base.html:116
-#: company/templates/company/manufacturer_part.html:89
-#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:247 stock/templates/stock/item_base.html:366
+#: company/templates/company/manufacturer_part.html:93
+#: company/templates/company/supplier_part.html:104
+#: stock/templates/stock/item_base.html:353
#: templates/js/translated/company.js:332
#: templates/js/translated/company.js:513
-#: templates/js/translated/company.js:796 templates/js/translated/part.js:227
+#: templates/js/translated/company.js:796 templates/js/translated/part.js:228
msgid "Manufacturer"
msgstr ""
-#: company/models.py:336 templates/js/translated/part.js:228
+#: company/models.py:336 templates/js/translated/part.js:229
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:342 company/templates/company/manufacturer_part.html:93
-#: company/templates/company/supplier_part.html:106 part/bom.py:171
-#: part/bom.py:248 templates/js/translated/company.js:529
-#: templates/js/translated/company.js:814 templates/js/translated/order.js:851
-#: templates/js/translated/part.js:238
+#: company/models.py:342 company/templates/company/manufacturer_part.html:97
+#: company/templates/company/supplier_part.html:112
+#: templates/js/translated/company.js:529
+#: templates/js/translated/company.js:814 templates/js/translated/order.js:852
+#: templates/js/translated/part.js:239
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:239
+#: company/models.py:343 templates/js/translated/part.js:240
msgid "Manufacturer Part Number"
msgstr ""
@@ -2431,7 +2341,7 @@ msgstr ""
#: company/models.py:409 company/models.py:558
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:376
+#: stock/templates/stock/item_base.html:363
msgid "Manufacturer Part"
msgstr "メーカー・パーツ"
@@ -2440,10 +2350,9 @@ msgid "Parameter name"
msgstr ""
#: company/models.py:422
-#: report/templates/report/inventree_test_report_base.html:90
-#: stock/models.py:1816 templates/InvenTree/settings/header.html:8
-#: templates/js/translated/company.js:643 templates/js/translated/part.js:623
-#: templates/js/translated/stock.js:555
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:1867 templates/js/translated/company.js:643
+#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848
msgid "Value"
msgstr ""
@@ -2451,8 +2360,9 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:800 part/models.py:2224
-#: templates/js/translated/company.js:649 templates/js/translated/part.js:629
+#: company/models.py:429 part/models.py:882 part/models.py:2397
+#: part/templates/part/detail.html:59 templates/js/translated/company.js:649
+#: templates/js/translated/part.js:650
msgid "Units"
msgstr ""
@@ -2465,27 +2375,27 @@ msgid "Linked manufacturer part must reference the same base part"
msgstr ""
#: company/models.py:545 company/templates/company/company_base.html:121
-#: company/templates/company/supplier_part.html:88 order/models.py:260
-#: order/templates/order/order_base.html:92
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:292 stock/templates/stock/item_base.html:383
+#: company/templates/company/supplier_part.html:94 order/models.py:263
+#: order/templates/order/order_base.html:108
+#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219
+#: part/bom.py:247 stock/templates/stock/item_base.html:370
#: templates/js/translated/company.js:336
-#: templates/js/translated/company.js:770 templates/js/translated/order.js:659
-#: templates/js/translated/part.js:208
+#: templates/js/translated/company.js:770 templates/js/translated/order.js:660
+#: templates/js/translated/part.js:209
msgid "Supplier"
msgstr ""
-#: company/models.py:546 templates/js/translated/part.js:209
+#: company/models.py:546 templates/js/translated/part.js:210
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:92
-#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838
-#: templates/js/translated/part.js:219
+#: company/models.py:551 company/templates/company/supplier_part.html:98
+#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:839
+#: templates/js/translated/part.js:220
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:220
+#: company/models.py:552 templates/js/translated/part.js:221
msgid "Supplier stock keeping unit"
msgstr ""
@@ -2501,23 +2411,23 @@ msgstr ""
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:120
-#: part/models.py:2389 report/templates/report/inventree_po_report.html:93
+#: company/models.py:576 company/templates/company/supplier_part.html:126
+#: part/models.py:2588 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:113
-#: stock/models.py:478 stock/templates/stock/item_base.html:324
-#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036
+#: company/models.py:582 company/templates/company/supplier_part.html:119
+#: stock/models.py:507 stock/templates/stock/item_base.html:311
+#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336
msgid "Packaging"
msgstr ""
@@ -2525,7 +2435,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1605
+#: company/models.py:584 part/models.py:1750
msgid "multiple"
msgstr ""
@@ -2533,46 +2443,42 @@ msgstr ""
msgid "Order multiple"
msgstr ""
-#: company/serializers.py:68
+#: company/serializers.py:70
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:69
+#: company/serializers.py:71
msgid "Currency Code"
msgstr ""
-#: company/templates/company/company_base.html:9
-#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321
+#: company/templates/company/company_base.html:8
+#: company/templates/company/company_base.html:12
+#: templates/InvenTree/search.html:182 templates/js/translated/company.js:321
msgid "Company"
msgstr ""
-#: company/templates/company/company_base.html:25
-#: part/templates/part/part_thumb.html:21
-msgid "Upload new image"
-msgstr ""
-
-#: company/templates/company/company_base.html:27
-#: part/templates/part/part_thumb.html:23
-msgid "Download image from URL"
-msgstr ""
-
-#: company/templates/company/company_base.html:46
-#: templates/js/translated/order.js:120
+#: company/templates/company/company_base.html:22
+#: templates/js/translated/order.js:121
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:51
+#: company/templates/company/company_base.html:27
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:56
-#: company/templates/company/company_base.html:153
+#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:148
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:64
-msgid "Company Details"
+#: company/templates/company/company_base.html:48
+#: part/templates/part/part_thumb.html:12
+msgid "Upload new image"
+msgstr ""
+
+#: company/templates/company/company_base.html:51
+#: part/templates/part/part_thumb.html:14
+msgid "Download image from URL"
msgstr ""
#: company/templates/company/company_base.html:81
@@ -2583,145 +2489,133 @@ msgstr ""
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:126 order/models.py:558
-#: order/templates/order/sales_order_base.html:99 stock/models.py:496
-#: stock/models.py:497 stock/templates/stock/item_base.html:276
-#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038
-#: templates/js/translated/stock.js:1587
+#: company/templates/company/company_base.html:126 order/models.py:567
+#: order/templates/order/sales_order_base.html:114 stock/models.py:525
+#: stock/models.py:526 stock/templates/stock/item_base.html:263
+#: templates/js/translated/company.js:328 templates/js/translated/order.js:1051
+#: templates/js/translated/stock.js:1972
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:199
-#: part/templates/part/part_base.html:424
+#: company/templates/company/company_base.html:194
+#: part/templates/part/part_base.html:342
msgid "Upload Image"
msgstr ""
-#: company/templates/company/detail.html:14
-#: company/templates/company/manufacturer_part_navbar.html:18
-#: templates/InvenTree/search.html:150
+#: company/templates/company/detail.html:15 templates/InvenTree/search.html:124
msgid "Supplier Parts"
msgstr "サプライヤー・パーツ"
-#: company/templates/company/detail.html:22
+#: company/templates/company/detail.html:19
#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr "新しいサプライヤー・パーツを作成"
-#: company/templates/company/detail.html:23
-#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289
+#: company/templates/company/detail.html:20
+#: company/templates/company/manufacturer_part.html:112
+#: part/templates/part/detail.html:466
msgid "New Supplier Part"
msgstr "新しいサプライヤー・パーツ"
-#: company/templates/company/detail.html:27
-#: company/templates/company/detail.html:67
-#: company/templates/company/manufacturer_part.html:112
-#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/category.html:135 part/templates/part/detail.html:292
-#: part/templates/part/detail.html:315
+#: company/templates/company/detail.html:32
+#: company/templates/company/detail.html:79
+#: company/templates/company/manufacturer_part.html:121
+#: company/templates/company/manufacturer_part.html:150
+#: part/templates/part/category.html:160 part/templates/part/detail.html:475
+#: part/templates/part/detail.html:503
msgid "Options"
msgstr ""
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72
-#: part/templates/part/category.html:140
+#: company/templates/company/detail.html:37
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:166
msgid "Order parts"
msgstr "パーツの注文"
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:42
+#: company/templates/company/detail.html:89
msgid "Delete parts"
msgstr "パーツを削除"
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:43
+#: company/templates/company/detail.html:90
msgid "Delete Parts"
msgstr "パーツを削除"
-#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135
+#: company/templates/company/detail.html:62 templates/InvenTree/search.html:109
msgid "Manufacturer Parts"
msgstr "メーカー・パーツ"
-#: company/templates/company/detail.html:62
+#: company/templates/company/detail.html:66
msgid "Create new manufacturer part"
msgstr "新しいメーカー・パーツを作成"
-#: company/templates/company/detail.html:63 part/templates/part/detail.html:312
+#: company/templates/company/detail.html:67 part/templates/part/detail.html:493
msgid "New Manufacturer Part"
msgstr "新しいメーカ―・パーツ"
-#: company/templates/company/detail.html:93
+#: company/templates/company/detail.html:107
msgid "Supplier Stock"
msgstr ""
-#: company/templates/company/detail.html:102
-#: company/templates/company/navbar.html:46
-#: company/templates/company/navbar.html:49
+#: company/templates/company/detail.html:117
+#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
-#: order/templates/order/purchase_orders.html:13
-#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82
-#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260
-#: templates/InvenTree/search.html:229
-#: templates/InvenTree/settings/navbar.html:119
-#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44
+#: order/templates/order/purchase_orders.html:12
+#: part/templates/part/detail.html:171 templates/InvenTree/index.html:252
+#: templates/InvenTree/search.html:203 templates/navbar.html:45
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
-#: company/templates/company/detail.html:108
-#: order/templates/order/purchase_orders.html:20
+#: company/templates/company/detail.html:121
+#: order/templates/order/purchase_orders.html:17
msgid "Create new purchase order"
msgstr ""
-#: company/templates/company/detail.html:109
-#: order/templates/order/purchase_orders.html:21
+#: company/templates/company/detail.html:122
+#: order/templates/order/purchase_orders.html:18
msgid "New Purchase Order"
msgstr ""
-#: company/templates/company/detail.html:124
-#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58
+#: company/templates/company/detail.html:143
+#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
-#: order/templates/order/sales_orders.html:13
-#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91
-#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291
-#: templates/InvenTree/search.html:249
-#: templates/InvenTree/settings/navbar.html:125
-#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55
+#: order/templates/order/sales_orders.html:15
+#: part/templates/part/detail.html:194 templates/InvenTree/index.html:283
+#: templates/InvenTree/search.html:223 templates/navbar.html:56
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
-#: company/templates/company/detail.html:130
+#: company/templates/company/detail.html:147
#: order/templates/order/sales_orders.html:20
msgid "Create new sales order"
msgstr ""
-#: company/templates/company/detail.html:131
+#: company/templates/company/detail.html:148
#: order/templates/order/sales_orders.html:21
msgid "New Sales Order"
msgstr ""
-#: company/templates/company/detail.html:147
-#: company/templates/company/navbar.html:61
-#: company/templates/company/navbar.html:64
-#: templates/js/translated/build.js:622
+#: company/templates/company/detail.html:168
+#: templates/js/translated/build.js:999
msgid "Assigned Stock"
msgstr ""
-#: company/templates/company/detail.html:165
+#: company/templates/company/detail.html:184
msgid "Company Notes"
msgstr ""
-#: company/templates/company/detail.html:364
-#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:357
+#: company/templates/company/detail.html:383
+#: company/templates/company/manufacturer_part.html:209
+#: part/templates/part/detail.html:546
msgid "Delete Supplier Parts?"
msgstr ""
-#: company/templates/company/detail.html:365
-#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:358
+#: company/templates/company/detail.html:384
+#: company/templates/company/manufacturer_part.html:210
+#: part/templates/part/detail.html:547
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2729,204 +2623,174 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:40
-#: company/templates/company/supplier_part.html:40
-#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116
+#: company/templates/company/manufacturer_part.html:14 company/views.py:55
+#: part/templates/part/prices.html:167 templates/InvenTree/search.html:184
+#: templates/navbar.html:44
+msgid "Manufacturers"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:35
+#: company/templates/company/supplier_part.html:34
+#: company/templates/company/supplier_part.html:159
+#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76
msgid "Order part"
msgstr "パーツの注文"
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:40
#: templates/js/translated/company.js:561
msgid "Edit manufacturer part"
msgstr "メーカー・パーツの編集"
-#: company/templates/company/manufacturer_part.html:49
+#: company/templates/company/manufacturer_part.html:44
#: templates/js/translated/company.js:562
msgid "Delete manufacturer part"
msgstr "メーカー・パーツを削除"
-#: company/templates/company/manufacturer_part.html:61
-msgid "Manufacturer Part Details"
-msgstr "メーカー・パーツの詳細"
-
-#: company/templates/company/manufacturer_part.html:66
-#: company/templates/company/supplier_part.html:65
+#: company/templates/company/manufacturer_part.html:70
+#: company/templates/company/supplier_part.html:71
msgid "Internal Part"
msgstr "内部パーツ"
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/manufacturer_part_navbar.html:21
-#: company/views.py:49 part/templates/part/navbar.html:75
-#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163
-#: templates/InvenTree/search.html:220 templates/navbar.html:41
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: part/templates/part/prices.html:163 templates/InvenTree/search.html:194
+#: templates/navbar.html:43
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: part/templates/part/detail.html:294
+#: company/templates/company/manufacturer_part.html:123
+#: part/templates/part/detail.html:477
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: company/templates/company/manufacturer_part.html:138
-#: company/templates/company/manufacturer_part.html:239
-#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/translated/company.js:424
-#: templates/js/translated/helpers.js:31 users/models.py:199
+#: company/templates/company/manufacturer_part.html:123
+#: company/templates/company/manufacturer_part.html:152
+#: company/templates/company/manufacturer_part.html:248
+#: part/templates/part/detail.html:351 part/templates/part/detail.html:477
+#: part/templates/part/detail.html:505 templates/js/translated/company.js:424
+#: templates/js/translated/helpers.js:31 users/models.py:204
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:127
-#: company/templates/company/manufacturer_part_navbar.html:11
-#: company/templates/company/manufacturer_part_navbar.html:14
-#: part/templates/part/category_navbar.html:38
-#: part/templates/part/category_navbar.html:41
-#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20
-#: part/templates/part/navbar.html:23
+#: company/templates/company/manufacturer_part.html:137
+#: part/templates/part/detail.html:277
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:133
-#: part/templates/part/detail.html:162
-#: templates/InvenTree/settings/category.html:26
-#: templates/InvenTree/settings/part.html:63
+#: company/templates/company/manufacturer_part.html:141
+#: part/templates/part/detail.html:282
+#: templates/InvenTree/settings/category.html:12
+#: templates/InvenTree/settings/part.html:65
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:138
+#: company/templates/company/manufacturer_part.html:152
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:805
+#: company/templates/company/manufacturer_part.html:185
+#: part/templates/part/detail.html:983
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:224
+#: company/templates/company/manufacturer_part.html:233
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:236
+#: company/templates/company/manufacturer_part.html:245
msgid "Delete Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part_navbar.html:26
-msgid "Manufacturer Part Stock"
-msgstr "メーカー・パーツの在庫"
-
-#: company/templates/company/manufacturer_part_navbar.html:29
-#: company/templates/company/navbar.html:39
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/navbar.html:38 stock/api.py:52
-#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182
-#: templates/InvenTree/settings/navbar.html:107
-#: templates/InvenTree/settings/navbar.html:109
-#: templates/js/translated/part.js:540 templates/js/translated/part.js:769
-#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182
-#: templates/js/translated/stock.js:829 templates/navbar.html:32
-msgid "Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:33
-msgid "Manufacturer Part Orders"
-msgstr "メーカー・パーツの注文"
-
-#: company/templates/company/manufacturer_part_navbar.html:36
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr ""
-
-#: company/templates/company/navbar.html:17
-#: company/templates/company/navbar.html:20
-msgid "Manufactured Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:26
-#: company/templates/company/navbar.html:29
-msgid "Supplied Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35
-#: stock/templates/stock/location.html:119
-#: stock/templates/stock/location.html:134
-#: stock/templates/stock/location.html:148
-#: stock/templates/stock/location_navbar.html:18
-#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486
-#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
-msgid "Stock Items"
-msgstr ""
-
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:463
-#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993
+#: company/templates/company/supplier_part.html:24 stock/models.py:492
+#: stock/templates/stock/item_base.html:375
+#: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44
+#: company/templates/company/supplier_part.html:38
#: templates/js/translated/company.js:859
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48
+#: company/templates/company/supplier_part.html:42
#: templates/js/translated/company.js:860
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:60
-msgid "Supplier Part Details"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:131
+#: company/templates/company/supplier_part.html:138
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:140
+#: company/templates/company/supplier_part.html:141
+#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147
+#, fuzzy
+#| msgid "Create new supplier part"
+msgid "Create new stock item"
+msgstr "新しいサプライヤー・パーツを作成"
+
+#: company/templates/company/supplier_part.html:142
+#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148
+#: templates/js/translated/stock.js:324
+msgid "New Stock Item"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:155
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:147
-#: part/templates/part/detail.html:56
+#: company/templates/company/supplier_part.html:160
+#: part/templates/part/detail.html:175
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:158
-#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7
+#: company/templates/company/supplier_part.html:179
+#: part/templates/part/prices.html:7
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:164
-#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:271 part/views.py:1730
+#: company/templates/company/supplier_part.html:184
+#: company/templates/company/supplier_part.html:290
+#: part/templates/part/prices.html:271 part/views.py:1782
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:185
+#: company/templates/company/supplier_part.html:210
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:1792
+#: company/templates/company/supplier_part.html:224 part/views.py:1844
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:1778
+#: company/templates/company/supplier_part.html:238 part/views.py:1830
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
+#: company/templates/company/supplier_part.html:263
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:239
+#: company/templates/company/supplier_part.html:264
msgid "Delete price break"
msgstr ""
+#: company/templates/company/supplier_part_navbar.html:15
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426
+#: templates/js/translated/part.js:561 templates/js/translated/part.js:786
+#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479
+#: templates/js/translated/stock.js:1132 templates/navbar.html:26
+msgid "Stock"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:22
+msgid "Orders"
+msgstr ""
+
#: company/templates/company/supplier_part_navbar.html:26
msgid "Supplier Part Pricing"
msgstr ""
@@ -2939,17 +2803,12 @@ msgstr ""
msgid "New Supplier"
msgstr ""
-#: company/views.py:55 part/templates/part/prices.html:167
-#: templates/InvenTree/search.html:210 templates/navbar.html:42
-msgid "Manufacturers"
-msgstr ""
-
#: company/views.py:56
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:240
-#: templates/navbar.html:53
+#: company/views.py:61 templates/InvenTree/search.html:214
+#: templates/navbar.html:55
msgid "Customers"
msgstr ""
@@ -2965,24 +2824,24 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:608
+#: company/views.py:129 part/views.py:649
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:640
+#: company/views.py:158 part/views.py:681
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:647
+#: company/views.py:165 part/views.py:688
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:656
+#: company/views.py:174 part/views.py:697
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:57 report/api.py:201
+#: label/api.py:57 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -2994,7 +2853,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:167
+#: label/models.py:127
msgid "Label"
msgstr ""
@@ -3039,7 +2898,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:259 label/models.py:319 label/models.py:366
-#: report/models.py:322 report/models.py:457 report/models.py:495
+#: report/models.py:322 report/models.py:459 report/models.py:497
msgid "Filters"
msgstr ""
@@ -3051,240 +2910,236 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:250
-msgid "Matching purchase order does not exist"
-msgstr ""
-
-#: order/forms.py:27 order/templates/order/order_base.html:50
+#: order/forms.py:26 order/templates/order/order_base.html:52
msgid "Place order"
msgstr ""
-#: order/forms.py:38 order/templates/order/order_base.html:57
+#: order/forms.py:37 order/templates/order/order_base.html:59
msgid "Mark order as complete"
msgstr ""
-#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:64
+#: order/forms.py:48 order/forms.py:59 order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
msgid "Cancel order"
msgstr ""
-#: order/forms.py:71 order/templates/order/sales_order_base.html:61
+#: order/forms.py:70
msgid "Ship order"
msgstr ""
-#: order/forms.py:97
+#: order/forms.py:98
msgid "Enter stock item serial numbers"
msgstr ""
-#: order/forms.py:103
+#: order/forms.py:104
msgid "Enter quantity of stock items"
msgstr ""
-#: order/models.py:158
+#: order/models.py:161
msgid "Order description"
msgstr ""
-#: order/models.py:160
+#: order/models.py:163
msgid "Link to external page"
msgstr ""
-#: order/models.py:168
+#: order/models.py:171
msgid "Created By"
msgstr ""
-#: order/models.py:175
+#: order/models.py:178
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:180
+#: order/models.py:183
msgid "Order notes"
msgstr ""
-#: order/models.py:247 order/models.py:548
+#: order/models.py:250 order/models.py:557
msgid "Order reference"
msgstr ""
-#: order/models.py:252 order/models.py:563
+#: order/models.py:255 order/models.py:572
msgid "Purchase order status"
msgstr ""
-#: order/models.py:261
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/translated/order.js:668
+#: order/models.py:267 order/templates/order/order_base.html:114
+#: templates/js/translated/order.js:669
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:264
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:271
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:276
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:277
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:282
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:283
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:289
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:318
+#: order/models.py:321
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:428
+#: order/models.py:431
msgid "Quantity must be an integer"
msgstr ""
-#: order/models.py:432
+#: order/models.py:435
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:559
+#: order/models.py:568
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer Reference "
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:570
+#: order/models.py:579
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:573 templates/js/translated/order.js:1079
+#: order/models.py:582 templates/js/translated/order.js:1092
msgid "Shipment Date"
msgstr ""
-#: order/models.py:580
+#: order/models.py:589
msgid "shipped by"
msgstr ""
-#: order/models.py:624
+#: order/models.py:633
msgid "SalesOrder cannot be shipped as it is not currently pending"
msgstr ""
-#: order/models.py:721
+#: order/models.py:730
msgid "Item quantity"
msgstr ""
-#: order/models.py:727
+#: order/models.py:736
msgid "Line item reference"
msgstr ""
-#: order/models.py:729
+#: order/models.py:738
msgid "Line item notes"
msgstr ""
-#: order/models.py:759 order/models.py:847
-#: templates/js/translated/order.js:1131
+#: order/models.py:768 order/models.py:856
+#: templates/js/translated/order.js:1144
msgid "Order"
msgstr ""
-#: order/models.py:760 order/templates/order/order_base.html:9
-#: order/templates/order/order_base.html:24
+#: order/models.py:769 order/templates/order/order_base.html:9
+#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:338
-#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970
-#: templates/js/translated/stock.js:1568
+#: stock/templates/stock/item_base.html:325
+#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1270
+#: templates/js/translated/stock.js:1953
msgid "Purchase Order"
msgstr ""
-#: order/models.py:781
+#: order/models.py:790
msgid "Supplier part"
msgstr ""
-#: order/models.py:788 order/templates/order/order_base.html:131
-#: order/templates/order/sales_order_base.html:138
-#: templates/js/translated/order.js:428 templates/js/translated/order.js:919
+#: order/models.py:797 order/templates/order/order_base.html:147
+#: order/templates/order/sales_order_base.html:154
+#: templates/js/translated/order.js:429 templates/js/translated/order.js:932
msgid "Received"
msgstr ""
-#: order/models.py:789
+#: order/models.py:798
msgid "Number of items received"
msgstr ""
-#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588
-#: stock/serializers.py:150 stock/templates/stock/item_base.html:345
-#: templates/js/translated/stock.js:1024
+#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619
+#: stock/serializers.py:163 stock/templates/stock/item_base.html:332
+#: templates/js/translated/stock.js:1324
msgid "Purchase Price"
msgstr ""
-#: order/models.py:797
+#: order/models.py:806
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:805
+#: order/models.py:814
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:857 part/templates/part/part_pricing.html:112
+#: order/models.py:866 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:116 part/templates/part/prices.html:284
msgid "Sale Price"
msgstr ""
-#: order/models.py:858
+#: order/models.py:867
msgid "Unit sale price"
msgstr ""
-#: order/models.py:937 order/models.py:939
+#: order/models.py:946 order/models.py:948
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:943
+#: order/models.py:952
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:945
+#: order/models.py:954
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:948
+#: order/models.py:957
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:952
+#: order/models.py:961
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:958
+#: order/models.py:967
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:966
+#: order/models.py:975
msgid "Line"
msgstr ""
-#: order/models.py:978
+#: order/models.py:987
msgid "Item"
msgstr ""
-#: order/models.py:979
+#: order/models.py:988
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:982
+#: order/models.py:991
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3300,7 +3155,7 @@ msgstr ""
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:218 order/serializers.py:285
+#: order/serializers.py:218 order/serializers.py:286
msgid "Select destination location for received items"
msgstr ""
@@ -3312,72 +3167,72 @@ msgstr ""
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:259
+#: order/serializers.py:260
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:297
+#: order/serializers.py:298
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:314
+#: order/serializers.py:315
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:325
+#: order/serializers.py:326
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:569
+#: order/serializers.py:568
msgid "Sale price currency"
msgstr ""
#: order/templates/order/delete_attachment.html:5
#: stock/templates/stock/attachment_delete.html:5
-#: templates/attachment_delete.html:5
msgid "Are you sure you want to delete this attachment?"
msgstr ""
-#: order/templates/order/order_base.html:39
-#: order/templates/order/sales_order_base.html:50
-msgid "Print"
+#: order/templates/order/order_base.html:33
+msgid "Print purchase order report"
msgstr ""
-#: order/templates/order/order_base.html:42
-#: order/templates/order/sales_order_base.html:53
+#: order/templates/order/order_base.html:35
+#: order/templates/order/sales_order_base.html:45
msgid "Export order to file"
msgstr ""
-#: order/templates/order/order_base.html:46
-#: order/templates/order/sales_order_base.html:57
-msgid "Edit order information"
+#: order/templates/order/order_base.html:41
+#: order/templates/order/sales_order_base.html:54
+#, fuzzy
+#| msgid "Order Parts"
+msgid "Order actions"
+msgstr "パーツの注文"
+
+#: order/templates/order/order_base.html:45
+#: order/templates/order/sales_order_base.html:58
+msgid "Edit order"
msgstr ""
-#: order/templates/order/order_base.html:54
+#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
-#: order/templates/order/order_base.html:72
-#: order/templates/order/po_navbar.html:12
-msgid "Purchase Order Details"
-msgstr ""
-
-#: order/templates/order/order_base.html:77
-#: order/templates/order/sales_order_base.html:84
+#: order/templates/order/order_base.html:93
+#: order/templates/order/sales_order_base.html:98
msgid "Order Reference"
msgstr ""
-#: order/templates/order/order_base.html:82
-#: order/templates/order/sales_order_base.html:89
+#: order/templates/order/order_base.html:98
+#: order/templates/order/sales_order_base.html:103
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:117
+#: order/templates/order/order_base.html:133
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:185
+#: order/templates/order/order_base.html:203
msgid "Edit Purchase Order"
msgstr ""
@@ -3453,7 +3308,8 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/build.js:869 templates/js/translated/order.js:376
+#: templates/js/translated/build.js:240 templates/js/translated/build.js:1251
+#: templates/js/translated/order.js:377
msgid "Remove row"
msgstr ""
@@ -3475,19 +3331,19 @@ msgstr ""
msgid "Select Supplier Part"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:11
+#: order/templates/order/order_wizard/po_upload.html:16
msgid "Upload File for Purchase Order"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:18
-#: part/templates/part/bom_upload/upload_file.html:34
+#: order/templates/order/order_wizard/po_upload.html:24
+#: part/templates/part/bom_upload/upload_file.html:20
#: part/templates/part/import_wizard/ajax_part_upload.html:10
-#: part/templates/part/import_wizard/part_upload.html:21
+#: part/templates/part/import_wizard/part_upload.html:22
#, python-format
msgid "Step %(step)s of %(count)s"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/order_wizard/po_upload.html:54
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
@@ -3530,7 +3386,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084
+#: templates/js/translated/order.js:695 templates/js/translated/order.js:1097
msgid "Items"
msgstr ""
@@ -3548,30 +3404,14 @@ msgstr ""
msgid "Select a purchase order for %(name)s"
msgstr ""
-#: order/templates/order/po_attachments.html:12
-#: order/templates/order/po_navbar.html:32
-#: order/templates/order/purchase_order_detail.html:56
-msgid "Purchase Order Attachments"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:26
-msgid "Received Stock Items"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:29
-#: order/templates/order/po_received_items.html:12
-#: order/templates/order/purchase_order_detail.html:47
-msgid "Received Items"
-msgstr ""
-
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:24
-#: order/templates/order/purchase_order_detail.html:212
+#: order/templates/order/purchase_order_detail.html:27
+#: order/templates/order/purchase_order_detail.html:216
#: order/templates/order/sales_order_detail.html:23
-#: order/templates/order/sales_order_detail.html:177
+#: order/templates/order/sales_order_detail.html:191
msgid "Add Line Item"
msgstr ""
@@ -3583,34 +3423,43 @@ msgstr ""
msgid "Receive Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
-#: order/templates/order/sales_order_detail.html:54
+#: order/templates/order/purchase_order_detail.html:50
+msgid "Received Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:76
+#: order/templates/order/sales_order_detail.html:68
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_orders.html:24
-#: order/templates/order/sales_orders.html:24
+#: order/templates/order/purchase_orders.html:30
+#: order/templates/order/sales_orders.html:33
msgid "Print Order Reports"
msgstr ""
-#: order/templates/order/sales_order_base.html:16
+#: order/templates/order/sales_order_base.html:43
+msgid "Print sales order report"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:47
+msgid "Print packing list"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:66
+#: order/templates/order/sales_order_base.html:67 order/views.py:222
+msgid "Ship Order"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:86
msgid "This Sales Order has not been fully allocated"
msgstr ""
-#: order/templates/order/sales_order_base.html:70
-msgid "Packing List"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:79
-msgid "Sales Order Details"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:105
-#: templates/js/translated/order.js:1051
+#: order/templates/order/sales_order_base.html:121
+#: templates/js/translated/order.js:1064
msgid "Customer Reference"
msgstr ""
-#: order/templates/order/sales_order_base.html:183
+#: order/templates/order/sales_order_base.html:194
msgid "Edit Sales Order"
msgstr ""
@@ -3625,7 +3474,7 @@ msgstr ""
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -3653,18 +3502,6 @@ msgstr ""
msgid "Allocate stock items by serial number"
msgstr ""
-#: order/templates/order/so_navbar.html:12
-msgid "Sales Order Line Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:15
-msgid "Order Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:26
-msgid "Sales Order Attachments"
-msgstr ""
-
#: order/views.py:103
msgid "Cancel Order"
msgstr ""
@@ -3705,10 +3542,6 @@ msgstr ""
msgid "Purchase order completed"
msgstr ""
-#: order/views.py:222
-msgid "Ship Order"
-msgstr ""
-
#: order/views.py:238
msgid "Confirm order shipment"
msgstr ""
@@ -3776,40 +3609,28 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7
-#: part/templates/part/category.html:108 part/templates/part/category.html:122
-#: part/templates/part/category_navbar.html:21
-#: part/templates/part/category_navbar.html:24
-#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97
-#: templates/js/translated/part.js:1165 templates/navbar.html:29
-#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
-msgid "Parts"
-msgstr "パーツ"
-
-#: part/api.py:700
+#: part/api.py:731
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:704
+#: part/api.py:735
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:719
+#: part/api.py:750
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773
+#: part/api.py:781 part/api.py:785 part/api.py:800 part/api.py:804
msgid "This field is required"
msgstr ""
-#: part/bom.py:133 part/models.py:76 part/models.py:734
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:290
+#: part/bom.py:125 part/models.py:81 part/models.py:816
+#: part/templates/part/category.html:90 part/templates/part/detail.html:104
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:156
+#: part/bom.py:126 part/templates/part/part_base.html:167
msgid "Available Stock"
msgstr ""
@@ -3869,7 +3690,7 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:96 part/models.py:2254
+#: part/forms.py:96 part/models.py:2427
msgid "Parent Part"
msgstr ""
@@ -3901,456 +3722,461 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:226
+#: part/forms.py:214
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:230
+#: part/forms.py:218
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:250
+#: part/forms.py:238
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:77
+#: part/models.py:82
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords"
msgstr ""
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:90 part/models.py:2300
+#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:91 part/templates/part/category.html:32
-#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
-#: templates/stats.html:84 users/models.py:40
+#: part/models.py:96 part/templates/part/category.html:117
+#: templates/InvenTree/search.html:101 templates/stats.html:84
+#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:384
+#: part/models.py:358 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:13 part/templates/part/category.html:122
+#: part/templates/part/category.html:142 templates/InvenTree/index.html:85
+#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304
+#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89
+#: users/models.py:41
+msgid "Parts"
+msgstr "パーツ"
+
+#: part/models.py:450
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:436 part/models.py:448
+#: part/models.py:502 part/models.py:514
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:545
+#: part/models.py:611
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:549
+#: part/models.py:615
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:554
+#: part/models.py:620
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:633
+#: part/models.py:715
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:658
+#: part/models.py:740
msgid "Part name"
msgstr ""
-#: part/models.py:665
+#: part/models.py:747
msgid "Is Template"
msgstr ""
-#: part/models.py:666
+#: part/models.py:748
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:676
+#: part/models.py:758
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:677
+#: part/models.py:759
msgid "Variant Of"
msgstr ""
-#: part/models.py:683
+#: part/models.py:765
msgid "Part description"
msgstr ""
-#: part/models.py:688 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:259
+#: part/models.py:770 part/templates/part/category.html:97
+#: part/templates/part/detail.html:73
msgid "Keywords"
msgstr ""
-#: part/models.py:689
+#: part/models.py:771
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:696 part/models.py:2299
-#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:169
-#: templates/js/translated/part.js:927
+#: part/models.py:778 part/models.py:2223 part/models.py:2472
+#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15
+#: templates/InvenTree/settings/settings.html:163
+#: templates/js/translated/part.js:928
msgid "Category"
msgstr ""
-#: part/models.py:697
+#: part/models.py:779
msgid "Part category"
msgstr ""
-#: part/models.py:702 part/templates/part/part_base.html:235
-#: templates/js/translated/part.js:528 templates/js/translated/part.js:760
+#: part/models.py:784 part/templates/part/detail.html:45
+#: templates/js/translated/part.js:549
msgid "IPN"
msgstr ""
-#: part/models.py:703
+#: part/models.py:785
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:709
+#: part/models.py:791
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:710 part/templates/part/part_base.html:252
-#: report/models.py:200 templates/js/translated/part.js:532
+#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200
+#: templates/js/translated/part.js:553
msgid "Revision"
msgstr ""
-#: part/models.py:732
+#: part/models.py:814
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:779 part/templates/part/part_base.html:297
+#: part/models.py:861 part/templates/part/detail.html:113
msgid "Default Supplier"
msgstr ""
-#: part/models.py:780
+#: part/models.py:862
msgid "Default supplier part"
msgstr ""
-#: part/models.py:787
+#: part/models.py:869
msgid "Default Expiry"
msgstr ""
-#: part/models.py:788
+#: part/models.py:870
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:793
+#: part/models.py:875 part/templates/part/part_base.html:178
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:794
+#: part/models.py:876
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:801
+#: part/models.py:883
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:807
+#: part/models.py:889
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:813
+#: part/models.py:895
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:819
+#: part/models.py:901
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:824
+#: part/models.py:906
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:911
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:833 templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:82
-#: templates/js/translated/table_filters.js:268
-#: templates/js/translated/table_filters.js:346
+#: part/models.py:915 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:362
msgid "Active"
msgstr ""
-#: part/models.py:834
+#: part/models.py:916
msgid "Is this part active?"
msgstr ""
-#: part/models.py:839
+#: part/models.py:921
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:844
+#: part/models.py:926
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "BOM checksum"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:850
+#: part/models.py:932
msgid "BOM checked by"
msgstr ""
-#: part/models.py:852
+#: part/models.py:934
msgid "BOM checked date"
msgstr ""
-#: part/models.py:856
+#: part/models.py:938
msgid "Creation User"
msgstr ""
-#: part/models.py:1605
+#: part/models.py:1750
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2100
+#: part/models.py:2273
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2117
+#: part/models.py:2290
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2137 templates/js/translated/part.js:1216
-#: templates/js/translated/stock.js:535
+#: part/models.py:2310 templates/js/translated/part.js:1355
+#: templates/js/translated/stock.js:828
msgid "Test Name"
msgstr ""
-#: part/models.py:2138
+#: part/models.py:2311
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2143
+#: part/models.py:2316
msgid "Test Description"
msgstr ""
-#: part/models.py:2144
+#: part/models.py:2317
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2149 templates/js/translated/part.js:1225
-#: templates/js/translated/table_filters.js:254
+#: part/models.py:2322 templates/js/translated/part.js:1364
+#: templates/js/translated/table_filters.js:270
msgid "Required"
msgstr ""
-#: part/models.py:2150
+#: part/models.py:2323
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2155 templates/js/translated/part.js:1233
+#: part/models.py:2328 templates/js/translated/part.js:1372
msgid "Requires Value"
msgstr ""
-#: part/models.py:2156
+#: part/models.py:2329
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2161 templates/js/translated/part.js:1240
+#: part/models.py:2334 templates/js/translated/part.js:1379
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2162
+#: part/models.py:2335
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2173
+#: part/models.py:2346
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2209
+#: part/models.py:2382
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2217
+#: part/models.py:2390
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2224
+#: part/models.py:2397
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2256 part/models.py:2305 part/models.py:2306
-#: templates/InvenTree/settings/settings.html:164
+#: part/models.py:2429 part/models.py:2478 part/models.py:2479
+#: templates/InvenTree/settings/settings.html:158
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Data"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2310 templates/InvenTree/settings/settings.html:173
+#: part/models.py:2483 templates/InvenTree/settings/settings.html:167
msgid "Default Value"
msgstr ""
-#: part/models.py:2311
+#: part/models.py:2484
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2561
msgid "Select parent part"
msgstr ""
-#: part/models.py:2370
+#: part/models.py:2569
msgid "Sub part"
msgstr ""
-#: part/models.py:2371
+#: part/models.py:2570
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2377
+#: part/models.py:2576
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2379 templates/js/translated/bom.js:275
-#: templates/js/translated/bom.js:335
+#: part/models.py:2578 templates/js/translated/bom.js:452
+#: templates/js/translated/bom.js:526
+#: templates/js/translated/table_filters.js:86
msgid "Optional"
msgstr ""
-#: part/models.py:2379
+#: part/models.py:2578
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2382
+#: part/models.py:2581
msgid "Overage"
msgstr ""
-#: part/models.py:2383
+#: part/models.py:2582
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2585
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2588
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "Checksum"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2395 templates/js/translated/bom.js:352
-#: templates/js/translated/bom.js:359
+#: part/models.py:2594 templates/js/translated/bom.js:543
+#: templates/js/translated/bom.js:550
#: templates/js/translated/table_filters.js:68
+#: templates/js/translated/table_filters.js:82
msgid "Inherited"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2595
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2401 templates/js/translated/bom.js:344
+#: part/models.py:2600 templates/js/translated/bom.js:535
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2402
+#: part/models.py:2601
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2487 stock/models.py:341
+#: part/models.py:2686 stock/models.py:371
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2496 part/models.py:2498
+#: part/models.py:2695 part/models.py:2697
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2620
+#: part/models.py:2826
+msgid "BOM Item Substitute"
+msgstr ""
+
+#: part/models.py:2848
+msgid "Substitute part cannot be the same as the master part"
+msgstr ""
+
+#: part/models.py:2860
+msgid "Parent BOM item"
+msgstr ""
+
+#: part/models.py:2868
+msgid "Substitute part"
+msgstr ""
+
+#: part/models.py:2879
msgid "Part 1"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Part 2"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2656
+#: part/models.py:2915
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
+#: part/tasks.py:53
+msgid "Low stock notification"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
-#: part/templates/part/bom.html:14
+#: part/templates/part/bom.html:15
#, python-format
msgid "The BOM for %(part)s has changed, and must be validated.
"
msgstr ""
-#: part/templates/part/bom.html:16
+#: part/templates/part/bom.html:17
#, python-format
msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s"
msgstr ""
-#: part/templates/part/bom.html:20
+#: part/templates/part/bom.html:21
#, python-format
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:27
-msgid "Remove selected BOM items"
-msgstr ""
-
-#: part/templates/part/bom.html:30
-msgid "Import BOM data"
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:383
+msgid "BOM actions"
msgstr ""
#: part/templates/part/bom.html:34
-msgid "Copy BOM from parent part"
-msgstr ""
-
-#: part/templates/part/bom.html:38
-msgid "New BOM Item"
-msgstr ""
-
-#: part/templates/part/bom.html:41
-msgid "Finish Editing"
-msgstr ""
-
-#: part/templates/part/bom.html:46
-msgid "Edit BOM"
-msgstr ""
-
-#: part/templates/part/bom.html:50
-msgid "Validate Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:56 part/views.py:1220
-msgid "Export Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:59
-msgid "Print BOM Report"
-msgstr ""
+#, fuzzy
+#| msgid "Delete parts"
+msgid "Delete Items"
+msgstr "パーツを削除"
#: part/templates/part/bom_duplicate.html:13
msgid "This part already has a Bill of Materials"
@@ -4360,28 +4186,23 @@ msgstr ""
msgid "Select Part"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:13
-#: part/templates/part/bom_upload/upload_file.html:16
-msgid "Return To BOM"
-msgstr ""
-
-#: part/templates/part/bom_upload/upload_file.html:27
+#: part/templates/part/bom_upload/upload_file.html:12
msgid "Upload Bill of Materials"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:46
+#: part/templates/part/bom_upload/upload_file.html:32
msgid "Requirements for BOM upload"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "The BOM file must contain the required named columns as provided in the "
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "BOM Upload Template"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:49
+#: part/templates/part/bom_upload/upload_file.html:35
msgid "Each part must already exist in the database"
msgstr ""
@@ -4394,93 +4215,113 @@ msgstr ""
msgid "This will validate each line in the BOM."
msgstr ""
-#: part/templates/part/category.html:33
-msgid "All parts"
-msgstr "全てのパーツ"
+#: part/templates/part/category.html:24 part/templates/part/category.html:28
+msgid "You are subscribed to notifications for this category"
+msgstr ""
+
+#: part/templates/part/category.html:32
+msgid "Subscribe to notifications for this category"
+msgstr ""
#: part/templates/part/category.html:38
+msgid "Category Actions"
+msgstr ""
+
+#: part/templates/part/category.html:43
+#, fuzzy
+#| msgid "Select Category"
+msgid "Edit category"
+msgstr "カテゴリの選択"
+
+#: part/templates/part/category.html:44
+#, fuzzy
+#| msgid "Select Category"
+msgid "Edit Category"
+msgstr "カテゴリの選択"
+
+#: part/templates/part/category.html:48
+#, fuzzy
+#| msgid "Select Category"
+msgid "Delete category"
+msgstr "カテゴリの選択"
+
+#: part/templates/part/category.html:49
+#, fuzzy
+#| msgid "Select Category"
+msgid "Delete Category"
+msgstr "カテゴリの選択"
+
+#: part/templates/part/category.html:57
msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:44
-msgid "Edit part category"
+#: part/templates/part/category.html:58
+#, fuzzy
+#| msgid "Select Category"
+msgid "New Category"
+msgstr "カテゴリの選択"
+
+#: part/templates/part/category.html:67
+msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:49
-msgid "Delete part category"
-msgstr ""
-
-#: part/templates/part/category.html:59 part/templates/part/category.html:98
-msgid "Category Details"
-msgstr ""
-
-#: part/templates/part/category.html:64
+#: part/templates/part/category.html:79
msgid "Category Path"
msgstr ""
-#: part/templates/part/category.html:69
+#: part/templates/part/category.html:84
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:175
-#: part/templates/part/category_navbar.html:14
-#: part/templates/part/category_navbar.html:17
+#: part/templates/part/category.html:103 part/templates/part/category.html:194
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:93
+#: part/templates/part/category.html:108
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:126
+#: part/templates/part/category.html:145
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:142
+#: part/templates/part/category.html:146 part/templates/part/category.html:170
msgid "Export"
msgstr ""
-#: part/templates/part/category.html:130
+#: part/templates/part/category.html:149
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 templates/js/translated/bom.js:39
+#: part/templates/part/category.html:150 templates/js/translated/bom.js:40
msgid "New Part"
msgstr "新規パーツ"
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:141
+#: part/templates/part/category.html:168
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:142
+#: part/templates/part/category.html:170
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:146
-msgid "View list display"
-msgstr ""
-
-#: part/templates/part/category.html:149
-msgid "View grid display"
-msgstr ""
-
-#: part/templates/part/category.html:165
+#: part/templates/part/category.html:184
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:254
+#: part/templates/part/category.html:261
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:281
+#: part/templates/part/category.html:288
msgid "Create Part"
msgstr ""
@@ -4519,12 +4360,7 @@ msgstr ""
msgid "If this category is deleted, these parts will be moved to the top-level category Teile"
msgstr ""
-#: part/templates/part/category_navbar.html:29
-#: part/templates/part/category_navbar.html:32
-msgid "Import Parts"
-msgstr ""
-
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365
msgid "Duplicate Part"
msgstr ""
@@ -4549,311 +4385,317 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)"
msgstr ""
#: part/templates/part/detail.html:16
+#, fuzzy
+#| msgid "Manufacturer Part Details"
+msgid "Part Details"
+msgstr "メーカー・パーツの詳細"
+
+#: part/templates/part/detail.html:66
+msgid "Minimum stock level"
+msgstr ""
+
+#: part/templates/part/detail.html:97
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/detail.html:124
msgid "Part Stock"
msgstr ""
-#: part/templates/part/detail.html:21
+#: part/templates/part/detail.html:136
#, python-format
msgid "Showing stock for all variants of %(full_name)s"
msgstr ""
-#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99
+#: part/templates/part/detail.html:146
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:36
+#: part/templates/part/detail.html:151
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:77
-msgid "New sales order"
-msgstr ""
-
-#: part/templates/part/detail.html:77
-msgid "New Order"
-msgstr ""
-
-#: part/templates/part/detail.html:90
+#: part/templates/part/detail.html:208
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27
+#: part/templates/part/detail.html:249
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:137
+#: part/templates/part/detail.html:253
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:138
+#: part/templates/part/detail.html:254
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:161
+#: part/templates/part/detail.html:281
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107
-#: part/templates/part/navbar.html:110
+#: part/templates/part/detail.html:315
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:188
+#: part/templates/part/detail.html:319 part/templates/part/detail.html:320
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43
-#: part/templates/part/navbar.html:46
+#: part/templates/part/detail.html:366
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:237
+#: part/templates/part/detail.html:371
+msgid "Export actions"
+msgstr ""
+
+#: part/templates/part/detail.html:375
+msgid "Export BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:377
+msgid "Print BOM Report"
+msgstr ""
+
+#: part/templates/part/detail.html:387
+msgid "Upload BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:389 templates/js/translated/part.js:266
+msgid "Copy BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:391 part/views.py:820
+msgid "Validate BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:396
+msgid "New BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:397
+msgid "Add BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:410
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:253
+#: part/templates/part/detail.html:427
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:260
-msgid "Start New Build"
-msgstr ""
-
-#: part/templates/part/detail.html:274
+#: part/templates/part/detail.html:452
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:283
+#: part/templates/part/detail.html:462
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:305
+#: part/templates/part/detail.html:489
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:317
+#: part/templates/part/detail.html:505
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:502
+#: part/templates/part/detail.html:686
msgid "Delete selected BOM items?"
msgstr ""
-#: part/templates/part/detail.html:503
+#: part/templates/part/detail.html:687
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:554
+#: part/templates/part/detail.html:738
msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:699
+#: part/templates/part/detail.html:876
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:755
+#: part/templates/part/detail.html:933
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:907
+#: part/templates/part/detail.html:1085
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:919
+#: part/templates/part/detail.html:1097
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:931
+#: part/templates/part/detail.html:1109
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1020
+#: part/templates/part/detail.html:1198
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
#: part/templates/part/import_wizard/ajax_part_upload.html:29
-#: part/templates/part/import_wizard/part_upload.html:51
+#: part/templates/part/import_wizard/part_upload.html:52
msgid "Unsuffitient privileges."
msgstr ""
-#: part/templates/part/import_wizard/part_upload.html:14
+#: part/templates/part/import_wizard/part_upload.html:15
msgid "Import Parts from File"
msgstr ""
-#: part/templates/part/navbar.html:30
-msgid "Variants"
-msgstr ""
-
-#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/navbar.html:70
-msgid "Prices"
-msgstr ""
-
-#: part/templates/part/navbar.html:102
-msgid "Test Templates"
-msgstr ""
-
#: part/templates/part/part_app_base.html:12
msgid "Part List"
msgstr ""
+#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31
+msgid "You are subscribed to notifications for this part"
+msgstr ""
+
#: part/templates/part/part_base.html:35
-msgid "Part is a template part (variants can be made from this part)"
+msgid "Subscribe to notifications for this part"
msgstr ""
-#: part/templates/part/part_base.html:38
-msgid "Part can be assembled from other parts"
-msgstr ""
-
-#: part/templates/part/part_base.html:41
-msgid "Part can be used in assemblies"
-msgstr ""
-
-#: part/templates/part/part_base.html:44
-msgid "Part stock is tracked by serial number"
-msgstr ""
-
-#: part/templates/part/part_base.html:47
-msgid "Part can be purchased from external suppliers"
-msgstr ""
-
-#: part/templates/part/part_base.html:50
-msgid "Part can be sold to customers"
-msgstr ""
-
-#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504
-#: templates/js/translated/company.js:761 templates/js/translated/part.js:443
-#: templates/js/translated/part.js:520
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:73
-msgid "Star this part"
-msgstr ""
-
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:75
-#: stock/templates/stock/location.html:51
+#: part/templates/part/part_base.html:43
+#: stock/templates/stock/item_base.html:28
+#: stock/templates/stock/location.html:29
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:82
-#: stock/templates/stock/item_base.html:77
-#: stock/templates/stock/location.html:53 templates/qr_button.html:1
+#: part/templates/part/part_base.html:45
+#: stock/templates/stock/item_base.html:32
+#: stock/templates/stock/location.html:31 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:83
-#: stock/templates/stock/item_base.html:93
-#: stock/templates/stock/location.html:54
+#: part/templates/part/part_base.html:46
+#: stock/templates/stock/item_base.html:48
+#: stock/templates/stock/location.html:32
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:89
+#: part/templates/part/part_base.html:51
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:95
-#: stock/templates/stock/item_base.html:142
-#: stock/templates/stock/location.html:62
+#: part/templates/part/part_base.html:56
+#: stock/templates/stock/item_base.html:103
+#: stock/templates/stock/location.html:40
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:102
+#: part/templates/part/part_base.html:63
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:108
+#: part/templates/part/part_base.html:69
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:125
+#: part/templates/part/part_base.html:84
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:128
+#: part/templates/part/part_base.html:87
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:131
+#: part/templates/part/part_base.html:90
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:134
+#: part/templates/part/part_base.html:93
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:146
+#: part/templates/part/part_base.html:109
+msgid "Part is a template part (variants can be made from this part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:113
+msgid "Part can be assembled from other parts"
+msgstr ""
+
+#: part/templates/part/part_base.html:117
+msgid "Part can be used in assemblies"
+msgstr ""
+
+#: part/templates/part/part_base.html:121
+msgid "Part stock is tracked by serial number"
+msgstr ""
+
+#: part/templates/part/part_base.html:125
+msgid "Part can be purchased from external suppliers"
+msgstr ""
+
+#: part/templates/part/part_base.html:129
+msgid "Part can be sold to customers"
+msgstr ""
+
+#: part/templates/part/part_base.html:135
+#: part/templates/part/part_base.html:143
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:136
+#: templates/js/translated/company.js:504
+#: templates/js/translated/company.js:761
+#: templates/js/translated/model_renderers.js:175
+#: templates/js/translated/part.js:464 templates/js/translated/part.js:541
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:155
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:161
-#: templates/js/translated/model_renderers.js:169
-#: templates/js/translated/order.js:1503
-#: templates/js/translated/table_filters.js:166
+#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524
+#: templates/js/translated/table_filters.js:182
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960
+#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961
msgid "On Order"
msgstr ""
-#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:181
+#: part/templates/part/part_base.html:199
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:188
+#: part/templates/part/part_base.html:206
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373
+#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776
-#: templates/js/translated/part.js:964
+#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793
+#: templates/js/translated/part.js:965
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:223
-#: part/templates/part/part_base.html:531
-#: part/templates/part/part_base.html:557
-msgid "Show Part Details"
-msgstr ""
-
-#: part/templates/part/part_base.html:283
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144
+#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:445
+#: part/templates/part/part_base.html:363
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:526
-#: part/templates/part/part_base.html:551
-msgid "Hide Part Details"
-msgstr ""
-
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4877,7 +4719,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
-#: templates/js/translated/bom.js:327
+#: templates/js/translated/bom.js:518
msgid "No supplier pricing available"
msgstr ""
@@ -4911,13 +4753,14 @@ msgstr ""
msgid "No pricing information is available for this part."
msgstr ""
-#: part/templates/part/part_thumb.html:20
+#: part/templates/part/part_thumb.html:11
msgid "Select from existing images"
msgstr ""
#: part/templates/part/partial_delete.html:9
#, python-format
-msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
+msgid ""
+"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
"
Disable the \"Active\" part attribute and re-try.\n"
" "
msgstr ""
@@ -4980,7 +4823,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321
+#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512
msgid "Supplier Cost"
msgstr ""
@@ -5002,7 +4845,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:215 part/views.py:1801
+#: part/templates/part/prices.html:215 part/views.py:1853
msgid "Add Internal Price Break"
msgstr ""
@@ -5022,13 +4865,13 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297
-#: templates/js/translated/model_renderers.js:167
-#: templates/js/translated/part.js:766 templates/js/translated/part.js:968
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474
+#: templates/js/translated/part.js:428 templates/js/translated/part.js:783
+#: templates/js/translated/part.js:969
msgid "No Stock"
msgstr ""
-#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166
+#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158
msgid "Low Stock"
msgstr ""
@@ -5041,135 +4884,140 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:106
+#: part/templatetags/inventree_extras.py:113
msgid "Unknown database"
msgstr ""
-#: part/views.py:94
+#: part/views.py:95
msgid "Add Related Part"
msgstr ""
-#: part/views.py:149
+#: part/views.py:150
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:160
+#: part/views.py:161
msgid "Set Part Category"
msgstr ""
-#: part/views.py:210
+#: part/views.py:211
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:270
+#: part/views.py:283
msgid "Match References"
msgstr ""
-#: part/views.py:526
+#: part/views.py:567
msgid "None"
msgstr ""
-#: part/views.py:585
+#: part/views.py:626
msgid "Part QR Code"
msgstr ""
-#: part/views.py:687
+#: part/views.py:728
msgid "Select Part Image"
msgstr ""
-#: part/views.py:713
+#: part/views.py:754
msgid "Updated part image"
msgstr ""
-#: part/views.py:716
+#: part/views.py:757
msgid "Part image not found"
msgstr ""
-#: part/views.py:728
+#: part/views.py:769
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:758
+#: part/views.py:799
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:779
-msgid "Validate BOM"
-msgstr ""
-
-#: part/views.py:800
+#: part/views.py:841
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:811
+#: part/views.py:852
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:884
+#: part/views.py:925
msgid "Match Parts"
msgstr ""
-#: part/views.py:1272
+#: part/views.py:1261
+msgid "Export Bill of Materials"
+msgstr ""
+
+#: part/views.py:1313
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1279
+#: part/views.py:1320
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1288
+#: part/views.py:1329
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1437
+#: part/views.py:1478
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1447
+#: part/views.py:1488
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1454
+#: part/views.py:1495
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1502 templates/js/translated/part.js:308
+#: part/views.py:1554 templates/js/translated/part.js:309
msgid "Edit Part Category"
msgstr ""
-#: part/views.py:1540
+#: part/views.py:1592
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1546
+#: part/views.py:1598
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1555
+#: part/views.py:1607
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1656
+#: part/views.py:1708
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1712
+#: part/views.py:1764
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:1734
+#: part/views.py:1786
msgid "Added new price break"
msgstr ""
-#: part/views.py:1810
+#: part/views.py:1862
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:1818
+#: part/views.py:1870
msgid "Delete Internal Price Break"
msgstr ""
+#: report/api.py:234 report/api.py:278
+#, python-brace-format
+msgid "Template file '{filename}' is missing or does not exist"
+msgstr ""
+
#: report/models.py:182
msgid "Template name"
msgstr ""
@@ -5206,51 +5054,51 @@ msgstr ""
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:380
+#: report/models.py:382
msgid "Build Filters"
msgstr ""
-#: report/models.py:381
+#: report/models.py:383
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:423
+#: report/models.py:425
msgid "Part Filters"
msgstr ""
-#: report/models.py:424
+#: report/models.py:426
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:458
+#: report/models.py:460
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:496
+#: report/models.py:498
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:546
+#: report/models.py:548
msgid "Snippet"
msgstr ""
-#: report/models.py:547
+#: report/models.py:549
msgid "Report snippet file"
msgstr ""
-#: report/models.py:551
+#: report/models.py:553
msgid "Snippet file description"
msgstr ""
-#: report/models.py:586
+#: report/models.py:588
msgid "Asset"
msgstr ""
-#: report/models.py:587
+#: report/models.py:589
msgid "Report asset file"
msgstr ""
-#: report/models.py:590
+#: report/models.py:592
msgid "Asset file description"
msgstr ""
@@ -5267,543 +5115,584 @@ msgstr ""
msgid "Stock Item Test Report"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:83
-msgid "Test Results"
+#: report/templates/report/inventree_test_report_base.html:79
+#: stock/models.py:530 stock/templates/stock/item_base.html:238
+#: templates/js/translated/build.js:233 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1013
+#: templates/js/translated/model_renderers.js:95
+#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355
+msgid "Serial Number"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:1804
+msgid "Test Results"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:93
+#: stock/models.py:1855
msgid "Test"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:89
-#: stock/models.py:1810
+#: report/templates/report/inventree_test_report_base.html:94
+#: stock/models.py:1861
msgid "Result"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502
+#: report/templates/report/inventree_test_report_base.html:97
+#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887
msgid "Date"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:103
+#: report/templates/report/inventree_test_report_base.html:108
msgid "Pass"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:105
+#: report/templates/report/inventree_test_report_base.html:110
msgid "Fail"
msgstr ""
-#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556
-#: stock/templates/stock/item_base.html:395
-#: templates/js/translated/stock.js:946
+#: report/templates/report/inventree_test_report_base.html:123
+msgid "Installed Items"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:137
+#: templates/js/translated/stock.js:2147
+msgid "Serial"
+msgstr ""
+
+#: stock/api.py:422
+msgid "Quantity is required"
+msgstr ""
+
+#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587
+#: stock/templates/stock/item_base.html:382
+#: templates/js/translated/stock.js:1246
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:308
+#: stock/forms.py:92 stock/forms.py:266
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:83
+#: stock/forms.py:95
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:134
+#: stock/forms.py:150
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:138 stock/forms.py:282
+#: stock/forms.py:154 stock/forms.py:238
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:168 stock/forms.py:224
-msgid "Select test report template"
-msgstr ""
-
-#: stock/forms.py:240
+#: stock/forms.py:194
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:270
+#: stock/forms.py:224
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:280
+#: stock/forms.py:236
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm removal of installed stock items"
msgstr ""
-#: stock/models.py:57 stock/models.py:593
+#: stock/models.py:60 stock/models.py:624
+#: stock/templates/stock/item_base.html:422
msgid "Owner"
msgstr ""
-#: stock/models.py:58 stock/models.py:594
+#: stock/models.py:61 stock/models.py:625
msgid "Select Owner"
msgstr ""
-#: stock/models.py:322
+#: stock/models.py:352
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:358
+#: stock/models.py:388
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:368 stock/models.py:377
+#: stock/models.py:398 stock/models.py:407
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:369
+#: stock/models.py:399
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:391
+#: stock/models.py:421
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:397
+#: stock/models.py:427
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:404
+#: stock/models.py:434
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:446
+#: stock/models.py:476
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:455
+#: stock/models.py:485
msgid "Base part"
msgstr ""
-#: stock/models.py:464
+#: stock/models.py:493
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8
+#: stock/models.py:498 stock/templates/stock/location.html:12
+#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:472
+#: stock/models.py:501
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:479
+#: stock/models.py:508
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:484 stock/templates/stock/item_base.html:284
+#: stock/models.py:513 stock/templates/stock/item_base.html:271
msgid "Installed In"
msgstr ""
-#: stock/models.py:487
+#: stock/models.py:516
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:503
+#: stock/models.py:532
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:515
+#: stock/models.py:546
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:519
+#: stock/models.py:550
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:528
+#: stock/models.py:559
msgid "Source Build"
msgstr ""
-#: stock/models.py:530
+#: stock/models.py:561
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:541
+#: stock/models.py:572
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:544
+#: stock/models.py:575
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:550
+#: stock/models.py:581
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:557
+#: stock/models.py:588
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:580 stock/templates/stock/item.html:99
-#: stock/templates/stock/navbar.html:54
+#: stock/models.py:611 stock/templates/stock/item.html:111
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:589
+#: stock/models.py:620
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:599
+#: stock/models.py:630
msgid "Scheduled for deletion"
msgstr ""
-#: stock/models.py:600
+#: stock/models.py:631
msgid "This StockItem will be deleted by the background worker"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1094
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1069
+#: stock/models.py:1100
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1075
+#: stock/models.py:1106
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1078
+#: stock/models.py:1109
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1081
+#: stock/models.py:1112
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1088
+#: stock/models.py:1119
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1246
+#: stock/models.py:1277
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:1724
+#: stock/models.py:1775
msgid "Entry notes"
msgstr ""
-#: stock/models.py:1781
+#: stock/models.py:1832
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:1787
+#: stock/models.py:1838
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:1805
+#: stock/models.py:1856
msgid "Test name"
msgstr ""
-#: stock/models.py:1811 templates/js/translated/table_filters.js:244
+#: stock/models.py:1862 templates/js/translated/table_filters.js:260
msgid "Test result"
msgstr ""
-#: stock/models.py:1817
+#: stock/models.py:1868
msgid "Test output value"
msgstr ""
-#: stock/models.py:1824
+#: stock/models.py:1875
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:1830
+#: stock/models.py:1881
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:424
-msgid "StockItem primary key value"
+#: stock/serializers.py:166
+msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:452
-msgid "Stock transaction notes"
+#: stock/serializers.py:173
+msgid "Purchase currency of this stock item"
msgstr ""
-#: stock/serializers.py:462
-msgid "A list of stock items must be provided"
+#: stock/serializers.py:287
+msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:554
+#: stock/serializers.py:302
+#, python-brace-format
+msgid "Quantity must not exceed available stock quantity ({q})"
+msgstr ""
+
+#: stock/serializers.py:308
+#, fuzzy
+#| msgid "No serial numbers found"
+msgid "Enter serial numbers for new items"
+msgstr "シリアル番号が見つかりません"
+
+#: stock/serializers.py:319 stock/serializers.py:687
msgid "Destination stock location"
msgstr ""
-#: stock/templates/stock/item.html:17
+#: stock/serializers.py:326
+msgid "Optional note field"
+msgstr ""
+
+#: stock/serializers.py:339
+msgid "Serial numbers cannot be assigned to this part"
+msgstr ""
+
+#: stock/serializers.py:557
+msgid "StockItem primary key value"
+msgstr ""
+
+#: stock/serializers.py:585
+msgid "Stock transaction notes"
+msgstr ""
+
+#: stock/serializers.py:595
+msgid "A list of stock items must be provided"
+msgstr ""
+
+#: stock/templates/stock/item.html:18
msgid "Stock Tracking Information"
msgstr ""
-#: stock/templates/stock/item.html:30
+#: stock/templates/stock/item.html:29
msgid "New Entry"
msgstr ""
-#: stock/templates/stock/item.html:43
+#: stock/templates/stock/item.html:48
msgid "Child Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:50
+#: stock/templates/stock/item.html:55
msgid "This stock item does not have any child items"
msgstr ""
-#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19
-#: stock/templates/stock/navbar.html:22
+#: stock/templates/stock/item.html:64
msgid "Test Data"
msgstr ""
-#: stock/templates/stock/item.html:66
-msgid "Delete Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:70
-msgid "Add Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95
+#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50
msgid "Test Report"
msgstr ""
-#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27
+#: stock/templates/stock/item.html:72
+msgid "Delete Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:76
+msgid "Add Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:133
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:125 stock/views.py:511
+#: stock/templates/stock/item.html:137 stock/views.py:515
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326
+#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:346
+#: stock/templates/stock/item.html:363
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:360
+#: stock/templates/stock/item.html:377
msgid "Delete Test Result"
msgstr ""
-#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:399
-#: templates/js/translated/table_filters.js:225
-msgid "Expired"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:401
-#: templates/js/translated/table_filters.js:231
-msgid "Stale"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:80
-#: templates/js/translated/barcode.js:331
-#: templates/js/translated/barcode.js:336
+#: stock/templates/stock/item_base.html:35
+#: templates/js/translated/barcode.js:330
+#: templates/js/translated/barcode.js:335
msgid "Unlink Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/item_base.html:37
msgid "Link Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31
+#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24
msgid "Scan to Location"
msgstr ""
-#: stock/templates/stock/item_base.html:91
+#: stock/templates/stock/item_base.html:46
msgid "Printing actions"
msgstr ""
-#: stock/templates/stock/item_base.html:104
+#: stock/templates/stock/item_base.html:65
msgid "Stock adjustment actions"
msgstr ""
-#: stock/templates/stock/item_base.html:108
-#: stock/templates/stock/location.html:69 templates/stock_table.html:57
+#: stock/templates/stock/item_base.html:69
+#: stock/templates/stock/location.html:47 templates/stock_table.html:50
msgid "Count stock"
msgstr ""
-#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55
+#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48
msgid "Add stock"
msgstr ""
-#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56
+#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49
msgid "Remove stock"
msgstr ""
-#: stock/templates/stock/item_base.html:117
+#: stock/templates/stock/item_base.html:78
msgid "Serialize stock"
msgstr ""
-#: stock/templates/stock/item_base.html:121
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/location.html:53
msgid "Transfer stock"
msgstr ""
-#: stock/templates/stock/item_base.html:124
+#: stock/templates/stock/item_base.html:85
msgid "Assign to customer"
msgstr ""
-#: stock/templates/stock/item_base.html:127
+#: stock/templates/stock/item_base.html:88
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install"
msgstr ""
-#: stock/templates/stock/item_base.html:145
+#: stock/templates/stock/item_base.html:106
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:109
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:150
+#: stock/templates/stock/item_base.html:111
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:153
+#: stock/templates/stock/item_base.html:114
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:173
+#: stock/templates/stock/item_base.html:136
+#: stock/templates/stock/item_base.html:386
+#: templates/js/translated/table_filters.js:241
+msgid "Expired"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/table_filters.js:247
+msgid "Stale"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:161
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:180
+#: stock/templates/stock/item_base.html:168
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:181
+#: stock/templates/stock/item_base.html:169
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:194
+#: stock/templates/stock/item_base.html:182
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:202
+#: stock/templates/stock/item_base.html:190
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:210
+#: stock/templates/stock/item_base.html:198
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:216
+#: stock/templates/stock/item_base.html:204
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:220
+#: stock/templates/stock/item_base.html:208
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:224
+#: stock/templates/stock/item_base.html:212
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:232
-msgid "Stock Item Details"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:241
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:260
+#: stock/templates/stock/item_base.html:247
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:303
-#: templates/js/translated/build.js:658
+#: stock/templates/stock/item_base.html:290
+#: templates/js/translated/build.js:1035
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:310
+#: stock/templates/stock/item_base.html:297
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:352
+#: stock/templates/stock/item_base.html:339
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:370
+#: stock/templates/stock/item_base.html:357
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:399
+#: stock/templates/stock/item_base.html:386
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:401
+#: stock/templates/stock/item_base.html:388
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:408
-#: templates/js/translated/stock.js:959
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1259
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:413
+#: stock/templates/stock/item_base.html:400
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:417
+#: stock/templates/stock/item_base.html:404
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:428
+#: stock/templates/stock/item_base.html:415
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:516
-msgid "Save"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:528
+#: stock/templates/stock/item_base.html:504
msgid "Edit Stock Status"
msgstr ""
@@ -5857,106 +5746,68 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:20
-msgid "You are not in the list of owners of this location. This stock location cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/location.html:37
-msgid "All stock items"
-msgstr ""
-
-#: stock/templates/stock/location.html:42
-msgid "Create new stock location"
-msgstr ""
-
-#: stock/templates/stock/location.html:55
+#: stock/templates/stock/location.html:33
msgid "Check-in Items"
msgstr ""
-#: stock/templates/stock/location.html:83
+#: stock/templates/stock/location.html:61
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:85
+#: stock/templates/stock/location.html:63
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:87
+#: stock/templates/stock/location.html:65
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:99
-msgid "Location Details"
+#: stock/templates/stock/location.html:75
+msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:104
-msgid "Location Path"
+#: stock/templates/stock/location.html:76
+msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:109
-msgid "Location Description"
+#: stock/templates/stock/location.html:86
+msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:114
-#: stock/templates/stock/location.html:155
-#: stock/templates/stock/location_navbar.html:11
-#: stock/templates/stock/location_navbar.html:14
+#: stock/templates/stock/location.html:95
+msgid "You are not in the list of owners of this location. This stock location cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/location.html:113
+#: stock/templates/stock/location.html:160
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:124
-msgid "Stock Details"
+#: stock/templates/stock/location.html:118
+#: stock/templates/stock/location.html:132
+#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158
+#: templates/js/translated/stock.js:1871 templates/stats.html:93
+#: templates/stats.html:102 users/models.py:43
+msgid "Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196
+#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170
#: templates/stats.html:97 users/models.py:42
msgid "Stock Locations"
msgstr ""
-#: stock/templates/stock/location.html:162 templates/stock_table.html:37
+#: stock/templates/stock/location.html:167 templates/stock_table.html:30
msgid "Printing Actions"
msgstr ""
-#: stock/templates/stock/location.html:166 templates/stock_table.html:41
+#: stock/templates/stock/location.html:171 templates/stock_table.html:34
msgid "Print labels"
msgstr ""
-#: stock/templates/stock/location.html:250
-msgid "New Location"
-msgstr ""
-
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
-msgstr ""
-
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: stock/templates/stock/navbar.html:11
-msgid "Stock Item Tracking"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:14
-msgid "History"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:30
-msgid "Installed Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:38
-msgid "Child Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:41
-msgid "Children"
-msgstr ""
-
-#: stock/templates/stock/stock_adjust.html:43
-msgid "Remove item"
-msgstr ""
-
#: stock/templates/stock/stock_app_base.html:16
msgid "Loading..."
msgstr ""
@@ -5965,7 +5816,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912
msgid "Convert Stock Item"
msgstr ""
@@ -5986,104 +5837,100 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:158
+#: stock/views.py:162
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:265 stock/views.py:888 stock/views.py:1010
-#: stock/views.py:1375
+#: stock/views.py:269 stock/views.py:891 stock/views.py:1017
+#: stock/views.py:1299
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:280
+#: stock/views.py:284
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:299
+#: stock/views.py:303
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:308
+#: stock/views.py:312
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:332
+#: stock/views.py:336
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:345
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:352
+#: stock/views.py:356
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:363
+#: stock/views.py:367
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:380
+#: stock/views.py:384
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:485
+#: stock/views.py:489
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:660
+#: stock/views.py:663
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:757 templates/js/translated/stock.js:321
+#: stock/views.py:760 templates/js/translated/stock.js:618
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:768
+#: stock/views.py:771
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:790
+#: stock/views.py:793 templates/js/translated/stock.js:288
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:936
+#: stock/views.py:943
msgid "Create new Stock Location"
msgstr ""
-#: stock/views.py:1027
-msgid "Serialize Stock"
-msgstr ""
-
-#: stock/views.py:1120
+#: stock/views.py:1044
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1262
+#: stock/views.py:1186 templates/js/translated/stock.js:268
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1344
+#: stock/views.py:1268
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1444
+#: stock/views.py:1368
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1457
+#: stock/views.py:1381
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1468
+#: stock/views.py:1392
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1475
+#: stock/views.py:1399
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1484
+#: stock/views.py:1408
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6107,63 +5954,69 @@ msgstr ""
msgid "Index"
msgstr ""
-#: templates/InvenTree/index.html:105
-msgid "Starred Parts"
+#: templates/InvenTree/index.html:88
+#, fuzzy
+#| msgid "Supplier Parts"
+msgid "Subscribed Parts"
+msgstr "サプライヤー・パーツ"
+
+#: templates/InvenTree/index.html:98
+msgid "Subscribed Categories"
msgstr ""
-#: templates/InvenTree/index.html:115
+#: templates/InvenTree/index.html:108
msgid "Latest Parts"
msgstr ""
-#: templates/InvenTree/index.html:126
+#: templates/InvenTree/index.html:119
msgid "BOM Waiting Validation"
msgstr ""
-#: templates/InvenTree/index.html:153
+#: templates/InvenTree/index.html:145
msgid "Recently Updated"
msgstr ""
-#: templates/InvenTree/index.html:176
+#: templates/InvenTree/index.html:168
msgid "Depleted Stock"
msgstr ""
-#: templates/InvenTree/index.html:199
+#: templates/InvenTree/index.html:191
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:202
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:232
+#: templates/InvenTree/index.html:224
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:243
+#: templates/InvenTree/index.html:235
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:263
+#: templates/InvenTree/index.html:255
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:274
+#: templates/InvenTree/index.html:266
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:294
+#: templates/InvenTree/index.html:286
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:305
+#: templates/InvenTree/index.html:297
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14
+#: templates/InvenTree/search.html:8
msgid "Search Results"
msgstr ""
-#: templates/InvenTree/search.html:24
+#: templates/InvenTree/search.html:22
msgid "Enter a search query"
msgstr ""
@@ -6183,23 +6036,23 @@ msgstr ""
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:23
+#: templates/InvenTree/settings/currencies.html:19
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:27
+#: templates/InvenTree/settings/currencies.html:24
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:37
+#: templates/InvenTree/settings/currencies.html:38
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:43
+#: templates/InvenTree/settings/currencies.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:48
+#: templates/InvenTree/settings/currencies.html:49
msgid "Update Now"
msgstr ""
@@ -6207,147 +6060,74 @@ msgstr ""
msgid "Server Settings"
msgstr ""
-#: templates/InvenTree/settings/header.html:7
-msgid "Setting"
-msgstr ""
-
#: templates/InvenTree/settings/login.html:9
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:12
-#: templates/InvenTree/settings/user_settings.html:9
-msgid "User Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:15
-#: templates/InvenTree/settings/navbar.html:17
-msgid "Account"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:21
-#: templates/InvenTree/settings/navbar.html:23
-msgid "Home Page"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29
-#: templates/js/translated/tables.js:375 templates/search_form.html:6
-#: templates/search_form.html:8
-msgid "Search"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:33
-#: templates/InvenTree/settings/navbar.html:35
-msgid "Labels"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:39
-#: templates/InvenTree/settings/navbar.html:41
-msgid "Reports"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:45
-#: templates/InvenTree/settings/navbar.html:47
-msgid "Forms"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:52
-#: templates/InvenTree/settings/navbar.html:54
-#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90
-msgid "Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:62
-msgid "InvenTree Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:65
-#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87
-msgid "Login"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:77
-#: templates/InvenTree/settings/navbar.html:79
-msgid "Barcodes"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85
-msgid "Currencies"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91
-msgid "Reporting"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103
-msgid "Categories"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:7
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:12
-msgid "Part Options"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:43
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:47
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:59
+#: templates/InvenTree/settings/part.html:61
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/po.html:9
+#: templates/InvenTree/settings/po.html:7
msgid "Purchase Order Settings"
msgstr ""
-#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:29
+#: templates/InvenTree/settings/setting.html:28
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:41
+#: templates/InvenTree/settings/setting.html:39
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:154
+#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93
+msgid "Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+msgid "Edit Global Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+msgid "Edit User Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:148
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:176
-#: templates/InvenTree/settings/settings.html:275
+#: templates/InvenTree/settings/settings.html:170
+#: templates/InvenTree/settings/settings.html:269
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:177
-#: templates/InvenTree/settings/settings.html:276
+#: templates/InvenTree/settings/settings.html:171
+#: templates/InvenTree/settings/settings.html:270
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:255
+#: templates/InvenTree/settings/settings.html:249
msgid "No part parameter templates found"
msgstr ""
@@ -6363,134 +6143,158 @@ msgstr ""
msgid "Account Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:19
+#: templates/InvenTree/settings/user.html:18
#: templates/js/translated/helpers.js:26
msgid "Edit"
msgstr ""
-#: templates/InvenTree/settings/user.html:21
+#: templates/InvenTree/settings/user.html:20
#: templates/account/password_reset_from_key.html:4
#: templates/account/password_reset_from_key.html:7
msgid "Change Password"
msgstr ""
-#: templates/InvenTree/settings/user.html:28
+#: templates/InvenTree/settings/user.html:31
msgid "Username"
msgstr ""
-#: templates/InvenTree/settings/user.html:32
+#: templates/InvenTree/settings/user.html:35
msgid "First Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:36
+#: templates/InvenTree/settings/user.html:39
msgid "Last Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:42
-msgid "E-Mail"
+#: templates/InvenTree/settings/user.html:54
+msgid "The following email addresses are associated with your account:"
msgstr ""
-#: templates/InvenTree/settings/user.html:47
-msgid "The following e-mail addresses are associated with your account:"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:61
+#: templates/InvenTree/settings/user.html:74
msgid "Verified"
msgstr ""
-#: templates/InvenTree/settings/user.html:63
+#: templates/InvenTree/settings/user.html:76
msgid "Unverified"
msgstr ""
-#: templates/InvenTree/settings/user.html:65
+#: templates/InvenTree/settings/user.html:78
msgid "Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:71
+#: templates/InvenTree/settings/user.html:84
msgid "Make Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:72
+#: templates/InvenTree/settings/user.html:85
msgid "Re-send Verification"
msgstr ""
-#: templates/InvenTree/settings/user.html:73
-#: templates/InvenTree/settings/user.html:130
+#: templates/InvenTree/settings/user.html:86
+#: templates/InvenTree/settings/user.html:153
msgid "Remove"
msgstr ""
-#: templates/InvenTree/settings/user.html:80
+#: templates/InvenTree/settings/user.html:93
msgid "Warning:"
msgstr ""
-#: templates/InvenTree/settings/user.html:81
-msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc."
+#: templates/InvenTree/settings/user.html:94
+msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc."
msgstr ""
-#: templates/InvenTree/settings/user.html:88
-msgid "Add E-mail Address"
+#: templates/InvenTree/settings/user.html:101
+msgid "Add Email Address"
msgstr ""
-#: templates/InvenTree/settings/user.html:93
-msgid "Add E-mail"
+#: templates/InvenTree/settings/user.html:111
+msgid "Enter e-mail address"
msgstr ""
-#: templates/InvenTree/settings/user.html:100
+#: templates/InvenTree/settings/user.html:113
+msgid "Add Email"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:123
msgid "Social Accounts"
msgstr ""
-#: templates/InvenTree/settings/user.html:105
+#: templates/InvenTree/settings/user.html:128
msgid "You can sign in to your account using any of the following third party accounts:"
msgstr ""
-#: templates/InvenTree/settings/user.html:138
-msgid "You currently have no social network accounts connected to this account."
+#: templates/InvenTree/settings/user.html:162
+msgid "There are no social network accounts connected to your InvenTree account"
msgstr ""
-#: templates/InvenTree/settings/user.html:142
+#: templates/InvenTree/settings/user.html:167
msgid "Add a 3rd Party Account"
msgstr ""
-#: templates/InvenTree/settings/user.html:153
-msgid "Theme Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:174
-msgid "Set Theme"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:181
+#: templates/InvenTree/settings/user.html:177
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:200
+#: templates/InvenTree/settings/user.html:186
+#, fuzzy
+#| msgid "Select Category"
+msgid "Select language"
+msgstr "カテゴリの選択"
+
+#: templates/InvenTree/settings/user.html:202
#, python-format
msgid "%(lang_translated)s%% translated"
msgstr ""
-#: templates/InvenTree/settings/user.html:202
+#: templates/InvenTree/settings/user.html:204
msgid "No translations available"
msgstr ""
-#: templates/InvenTree/settings/user.html:209
+#: templates/InvenTree/settings/user.html:211
msgid "Set Language"
msgstr ""
-#: templates/InvenTree/settings/user.html:214
-msgid "Help the translation efforts!"
+#: templates/InvenTree/settings/user.html:213
+msgid "Some languages are not complete"
msgstr ""
#: templates/InvenTree/settings/user.html:215
+msgid "Show only sufficent"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:217
+msgid "Show them too"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:224
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:225
#, python-format
msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
msgstr ""
-#: templates/InvenTree/settings/user.html:223
-msgid "Do you really want to remove the selected e-mail address?"
+#: templates/InvenTree/settings/user.html:233
+msgid "Do you really want to remove the selected email address?"
msgstr ""
-#: templates/InvenTree/settings/user_forms.html:9
-msgid "Form Settings"
+#: templates/InvenTree/settings/user_display.html:9
+msgid "Display Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:25
+msgid "Theme Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:35
+#, fuzzy
+#| msgid "Select Category"
+msgid "Select theme"
+msgstr "カテゴリの選択"
+
+#: templates/InvenTree/settings/user_display.html:46
+msgid "Set Theme"
msgstr ""
#: templates/InvenTree/settings/user_homepage.html:9
@@ -6505,124 +6309,139 @@ msgstr ""
msgid "Search Settings"
msgstr ""
-#: templates/about.html:13
+#: templates/InvenTree/settings/user_settings.html:9
+msgid "User Settings"
+msgstr ""
+
+#: templates/about.html:10
msgid "InvenTree Version Information"
msgstr ""
-#: templates/about.html:22
+#: templates/about.html:11 templates/about.html:105
+#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:964 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
+msgid "Close"
+msgstr ""
+
+#: templates/about.html:20
msgid "InvenTree Version"
msgstr ""
-#: templates/about.html:27
+#: templates/about.html:25
msgid "Development Version"
msgstr ""
-#: templates/about.html:30
+#: templates/about.html:28
msgid "Up to Date"
msgstr ""
-#: templates/about.html:32
+#: templates/about.html:30
msgid "Update Available"
msgstr ""
-#: templates/about.html:42
+#: templates/about.html:40
msgid "Commit Hash"
msgstr ""
-#: templates/about.html:49
+#: templates/about.html:47
msgid "Commit Date"
msgstr ""
-#: templates/about.html:55
+#: templates/about.html:53
msgid "InvenTree Documentation"
msgstr ""
-#: templates/about.html:60
+#: templates/about.html:58
msgid "API Version"
msgstr ""
-#: templates/about.html:65
+#: templates/about.html:63
msgid "Python Version"
msgstr ""
-#: templates/about.html:70
+#: templates/about.html:68
msgid "Django Version"
msgstr ""
-#: templates/about.html:75
+#: templates/about.html:73
msgid "View Code on GitHub"
msgstr ""
-#: templates/about.html:80
+#: templates/about.html:78
msgid "Credits"
msgstr ""
-#: templates/about.html:85
+#: templates/about.html:83
msgid "Mobile App"
msgstr ""
-#: templates/about.html:90
+#: templates/about.html:88
msgid "Submit Bug Report"
msgstr ""
-#: templates/about.html:97 templates/clip.html:4
+#: templates/about.html:95 templates/clip.html:4
msgid "copy to clipboard"
msgstr ""
-#: templates/about.html:97
+#: templates/about.html:95
msgid "copy version information"
msgstr ""
-#: templates/about.html:107 templates/js/translated/modals.js:50
-#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678
-#: templates/js/translated/modals.js:982 templates/modals.html:29
-#: templates/modals.html:54
-msgid "Close"
-msgstr ""
-
#: templates/account/email_confirm.html:6
#: templates/account/email_confirm.html:10
-msgid "Confirm E-mail Address"
+msgid "Confirm Email Address"
msgstr ""
#: templates/account/email_confirm.html:16
#, python-format
-msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s."
+msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
#: templates/account/email_confirm.html:27
#, python-format
-msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request."
+msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:5 templates/account/login.html:14
-#: templates/account/login.html:36
+#: templates/account/login.html:6 templates/account/login.html:16
+#: templates/account/login.html:39
msgid "Sign In"
msgstr ""
-#: templates/account/login.html:19
+#: templates/account/login.html:21
#, python-format
-msgid "Please sign in with one\n"
+msgid ""
+"Please sign in with one\n"
"of your existing third party accounts or sign up\n"
"for a account and sign in below:"
msgstr ""
-#: templates/account/login.html:23
+#: templates/account/login.html:25
#, python-format
-msgid "If you have not created an account yet, then please\n"
+msgid ""
+"If you have not created an account yet, then please\n"
"sign up first."
msgstr ""
-#: templates/account/login.html:38
+#: templates/account/login.html:42
msgid "Forgot Password?"
msgstr ""
-#: templates/account/login.html:45
+#: templates/account/login.html:47
+msgid "InvenTree demo instance"
+msgstr ""
+
+#: templates/account/login.html:47
+msgid "Click here for login details"
+msgstr ""
+
+#: templates/account/login.html:55
msgid "or use SSO"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
-#: templates/account/logout.html:17
+#: templates/account/logout.html:20
msgid "Sign Out"
msgstr ""
@@ -6630,13 +6449,17 @@ msgstr ""
msgid "Are you sure you want to sign out?"
msgstr ""
+#: templates/account/logout.html:19
+msgid "Back to Site"
+msgstr ""
+
#: templates/account/password_reset.html:5
#: templates/account/password_reset.html:12
msgid "Password Reset"
msgstr ""
#: templates/account/password_reset.html:18
-msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it."
+msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it."
msgstr ""
#: templates/account/password_reset.html:23
@@ -6656,11 +6479,13 @@ msgstr ""
msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
msgstr ""
-#: templates/account/password_reset_from_key.html:17
-msgid "change password"
-msgstr ""
+#: templates/account/password_reset_from_key.html:18
+#, fuzzy
+#| msgid "Enter password"
+msgid "Change password"
+msgstr "パスワードを入力してください"
-#: templates/account/password_reset_from_key.html:20
+#: templates/account/password_reset_from_key.html:22
msgid "Your password is now changed."
msgstr ""
@@ -6677,6 +6502,77 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/admin_button.html:2
+msgid "View in administration panel"
+msgstr ""
+
+#: templates/base.html:96
+msgid "Server Restart Required"
+msgstr ""
+
+#: templates/base.html:99
+msgid "A configuration option has been changed which requires a server restart"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Contact your system administrator for further information"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:7
+msgid "Stock is required for the following build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:8
+#, python-format
+msgid "Build order %(build)s - building %(quantity)s x %(part)s"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:10
+msgid "Click on the following link to view this build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:14
+msgid "The following parts are low on required stock"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:18
+#: templates/js/translated/bom.js:989
+msgid "Required Quantity"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:19
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129
+#: templates/js/translated/build.js:1749
+msgid "Available"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:38
+#: templates/email/low_stock_notification.html:31
+msgid "You are receiving this email because you are subscribed to notifications for this part "
+msgstr ""
+
+#: templates/email/email.html:35
+msgid "InvenTree version"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:7
+#, python-format
+msgid " The available stock for %(part)s has fallen below the configured minimum level"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:9
+msgid "Click on the following link to view this part"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:17
+msgid "Total Stock"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:19
+msgid "Minimum Quantity"
+msgstr ""
+
#: templates/image_download.html:8
msgid "Specify URL for downloading image"
msgstr ""
@@ -6693,138 +6589,59 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/report.js:47 templates/js/translated/report.js:67
-msgid "items selected"
-msgstr ""
-
-#: templates/js/report.js:55 templates/js/translated/report.js:75
-msgid "Select Report Template"
-msgstr ""
-
-#: templates/js/report.js:70 templates/js/translated/report.js:90
-msgid "Select Test Report Template"
-msgstr ""
-
-#: templates/js/report.js:98 templates/js/translated/label.js:29
-#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/report.js:99 templates/js/translated/report.js:119
-msgid "Stock item(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:116 templates/js/report.js:169
-#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331 templates/js/translated/report.js:136
-#: templates/js/translated/report.js:189 templates/js/translated/report.js:243
-#: templates/js/translated/report.js:297 templates/js/translated/report.js:351
-msgid "No Reports Found"
-msgstr ""
-
-#: templates/js/report.js:117 templates/js/translated/report.js:137
-msgid "No report templates found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/report.js:152 templates/js/translated/report.js:172
-msgid "Select Builds"
-msgstr ""
-
-#: templates/js/report.js:153 templates/js/translated/report.js:173
-msgid "Build(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:170 templates/js/translated/report.js:190
-msgid "No report templates found which match selected build(s)"
-msgstr ""
-
-#: templates/js/report.js:205 templates/js/translated/build.js:948
-#: templates/js/translated/label.js:134 templates/js/translated/report.js:225
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/report.js:206 templates/js/translated/report.js:226
-msgid "Part(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:224 templates/js/translated/report.js:244
-msgid "No report templates found which match selected part(s)"
-msgstr ""
-
-#: templates/js/report.js:259 templates/js/translated/report.js:279
-msgid "Select Purchase Orders"
-msgstr ""
-
-#: templates/js/report.js:260 templates/js/translated/report.js:280
-msgid "Purchase Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/report.js:278 templates/js/report.js:332
-#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
-msgid "No report templates found which match selected orders"
-msgstr ""
-
-#: templates/js/report.js:313 templates/js/translated/report.js:333
-msgid "Select Sales Orders"
-msgstr ""
-
-#: templates/js/report.js:314 templates/js/translated/report.js:334
-msgid "Sales Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053
+#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035
msgid "No response from the InvenTree server"
msgstr ""
-#: templates/js/translated/api.js:181
+#: templates/js/translated/api.js:191
msgid "Error 400: Bad request"
msgstr ""
-#: templates/js/translated/api.js:182
+#: templates/js/translated/api.js:192
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063
+#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055
msgid "The requested resource could not be located on the server"
msgstr ""
-#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060
msgid "Connection timeout while requesting data from server"
msgstr ""
-#: templates/js/translated/api.js:205
+#: templates/js/translated/api.js:215
msgid "Unhandled Error Code"
msgstr ""
-#: templates/js/translated/api.js:206
+#: templates/js/translated/api.js:216
msgid "Error code"
msgstr ""
@@ -6832,292 +6649,371 @@ msgstr ""
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:91
+#: templates/js/translated/attachment.js:95
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:104
+#: templates/js/translated/attachment.js:108
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:115
msgid "Delete attachment"
msgstr ""
-#: templates/js/translated/barcode.js:30
+#: templates/js/translated/barcode.js:29
msgid "Scan barcode data here using wedge scanner"
msgstr ""
-#: templates/js/translated/barcode.js:32
+#: templates/js/translated/barcode.js:31
msgid "Enter barcode data"
msgstr ""
-#: templates/js/translated/barcode.js:36
+#: templates/js/translated/barcode.js:35
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:54
+#: templates/js/translated/barcode.js:53
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:55
+#: templates/js/translated/barcode.js:54
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:93
+#: templates/js/translated/barcode.js:92
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:114
+#: templates/js/translated/barcode.js:113
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:141
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/barcode.js:140
+#: templates/js/translated/modals.js:1024
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:234
+#: templates/js/translated/barcode.js:233
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:281 templates/navbar.html:65
+#: templates/js/translated/barcode.js:280 templates/navbar.html:69
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:292
+#: templates/js/translated/barcode.js:291
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:310
+#: templates/js/translated/barcode.js:309
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:333
+#: templates/js/translated/barcode.js:332
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:339
+#: templates/js/translated/barcode.js:338
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273
+#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:440
+#: templates/js/translated/barcode.js:439
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:444
-#: templates/js/translated/barcode.js:571
+#: templates/js/translated/barcode.js:443
+#: templates/js/translated/barcode.js:573
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:486
-#: templates/js/translated/barcode.js:610
+#: templates/js/translated/barcode.js:485
+#: templates/js/translated/barcode.js:612
msgid "Error transferring stock"
msgstr ""
-#: templates/js/translated/barcode.js:505
+#: templates/js/translated/barcode.js:507
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:509
+#: templates/js/translated/barcode.js:511
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:516
+#: templates/js/translated/barcode.js:518
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:523
+#: templates/js/translated/barcode.js:525
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:566
+#: templates/js/translated/barcode.js:568
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:629
+#: templates/js/translated/barcode.js:633
msgid "Barcode does not match a valid location"
msgstr ""
-#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495
+#: templates/js/translated/bom.js:184
+msgid "Remove substitute part"
+msgstr ""
+
+#: templates/js/translated/bom.js:226
+msgid "Select and add a new variant item using the input below"
+msgstr ""
+
+#: templates/js/translated/bom.js:237
+msgid "Are you sure you wish to remove this substitute part link?"
+msgstr ""
+
+#: templates/js/translated/bom.js:243
+msgid "Remove Substitute Part"
+msgstr ""
+
+#: templates/js/translated/bom.js:282
+msgid "Add Substitute"
+msgstr ""
+
+#: templates/js/translated/bom.js:283
+msgid "Edit BOM Item Substitutes"
+msgstr ""
+
+#: templates/js/translated/bom.js:402
+msgid "Substitutes Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111
+msgid "Variant stock allowed"
+msgstr ""
+
+#: templates/js/translated/bom.js:411
msgid "Open subassembly"
msgstr ""
-#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744
-#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522
-msgid "Available"
+#: templates/js/translated/bom.js:483
+msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:307
+#: templates/js/translated/bom.js:498
msgid "Purchase Price Range"
msgstr ""
-#: templates/js/translated/bom.js:314
+#: templates/js/translated/bom.js:505
msgid "Purchase Price Average"
msgstr ""
-#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449
+#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798
-#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285
+#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183
+#: templates/js/translated/order.js:1298
msgid "Actions"
msgstr ""
-#: templates/js/translated/bom.js:423
+#: templates/js/translated/bom.js:614
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:425
+#: templates/js/translated/bom.js:616
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590
+#: templates/js/translated/bom.js:618
+#, fuzzy
+#| msgid "Edit manufacturer part"
+msgid "Edit substitute parts"
+msgstr "メーカー・パーツの編集"
+
+#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575
+#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:1593
+#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/build.js:71
-msgid "Edit Build Order"
+#: templates/js/translated/bom.js:772
+msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/build.js:105
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/translated/build.js:138
-msgid "Allocate stock items to this build output"
-msgstr ""
-
-#: templates/js/translated/build.js:146
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/translated/build.js:155
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:164
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:265
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356
-#: templates/js/translated/order.js:1292
-msgid "Edit stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357
-#: templates/js/translated/order.js:1293
-msgid "Delete stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:695
-msgid "Edit Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:705
-msgid "Remove Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:718
+#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095
msgid "Required Part"
msgstr ""
-#: templates/js/translated/build.js:739
+#: templates/js/translated/bom.js:994
+msgid "Inherited from parent BOM"
+msgstr ""
+
+#: templates/js/translated/build.js:78
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:112
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:133
+msgid "Allocate stock items to this build output"
+msgstr ""
+
+#: templates/js/translated/build.js:144
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:153
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:161
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:184
+msgid "Are you sure you wish to unallocate stock items from this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:202
+msgid "Unallocate Stock Items"
+msgstr ""
+
+#: templates/js/translated/build.js:220
+msgid "Select Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:221
+msgid "At least one build output must be selected"
+msgstr ""
+
+#: templates/js/translated/build.js:275
+msgid "Output"
+msgstr ""
+
+#: templates/js/translated/build.js:291
+msgid "Complete Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:386
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:603
+msgid "No active build outputs found"
+msgstr ""
+
+#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760
+#: templates/js/translated/order.js:1305
+msgid "Edit stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761
+#: templates/js/translated/order.js:1306
+msgid "Delete stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1072
+msgid "Edit Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1082
+msgid "Remove Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1107
+msgid "Substitute parts available"
+msgstr ""
+
+#: templates/js/translated/build.js:1124
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:749 templates/js/translated/build.js:975
-#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514
+#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360
+#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553
-#: templates/js/translated/order.js:1567
+#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557
-#: templates/stock_table.html:59
+#: templates/js/translated/build.js:1194 templates/stock_table.html:52
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560
+#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:880
+#: templates/js/translated/build.js:1262
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:949
+#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134
+#: templates/js/translated/report.js:225
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/translated/build.js:1334
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:963
+#: templates/js/translated/build.js:1348
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:992
+#: templates/js/translated/build.js:1377
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/build.js:993
+#: templates/js/translated/build.js:1378
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:1004
+#: templates/js/translated/build.js:1389
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:1048
+#: templates/js/translated/build.js:1451
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:1172
+#: templates/js/translated/build.js:1576
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856
-#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762
-#: templates/js/translated/stock.js:1456
+#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873
+#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064
+#: templates/js/translated/stock.js:1841
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:1209
+#: templates/js/translated/build.js:1613
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675
+#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:1282
+#: templates/js/translated/build.js:1686
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:1333
+#: templates/js/translated/build.js:1737
msgid "No parts allocated for"
msgstr ""
@@ -7137,7 +7033,7 @@ msgstr "メーカー・パーツの編集"
msgid "Delete Manufacturer Part"
msgstr "メーカー・パーツを削除"
-#: templates/js/translated/company.js:164 templates/js/translated/order.js:89
+#: templates/js/translated/company.js:164 templates/js/translated/order.js:90
msgid "Add Supplier"
msgstr ""
@@ -7186,34 +7082,34 @@ msgid "No manufacturer parts found"
msgstr ""
#: templates/js/translated/company.js:496
-#: templates/js/translated/company.js:753 templates/js/translated/part.js:427
-#: templates/js/translated/part.js:512
+#: templates/js/translated/company.js:753 templates/js/translated/part.js:448
+#: templates/js/translated/part.js:533
msgid "Template part"
msgstr ""
#: templates/js/translated/company.js:500
-#: templates/js/translated/company.js:757 templates/js/translated/part.js:431
-#: templates/js/translated/part.js:516
+#: templates/js/translated/company.js:757 templates/js/translated/part.js:452
+#: templates/js/translated/part.js:537
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:627 templates/js/translated/part.js:604
+#: templates/js/translated/company.js:627 templates/js/translated/part.js:625
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:664 templates/js/translated/part.js:646
+#: templates/js/translated/company.js:664 templates/js/translated/part.js:667
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:665 templates/js/translated/part.js:647
+#: templates/js/translated/company.js:665 templates/js/translated/part.js:668
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:684 templates/js/translated/part.js:664
+#: templates/js/translated/company.js:684 templates/js/translated/part.js:685
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:695 templates/js/translated/part.js:676
+#: templates/js/translated/company.js:695 templates/js/translated/part.js:697
msgid "Delete Parameter"
msgstr ""
@@ -7222,12 +7118,12 @@ msgid "No supplier parts found"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:407
+#: templates/js/translated/filters.js:420
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:408
+#: templates/js/translated/filters.js:421
msgid "false"
msgstr ""
@@ -7235,57 +7131,63 @@ msgstr ""
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:284
+#: templates/js/translated/filters.js:286
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:286
+#: templates/js/translated/filters.js:290
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:289
+#: templates/js/translated/filters.js:293
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:317
+#: templates/js/translated/filters.js:329
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336
-#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360
+#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364
+#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:324
+#: templates/js/translated/forms.js:351
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:337
+#: templates/js/translated/forms.js:366
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:349
+#: templates/js/translated/forms.js:380
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:361
+#: templates/js/translated/forms.js:394
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:968 templates/modals.html:21
-#: templates/modals.html:47
+#: templates/js/translated/forms.js:679
+#, fuzzy
+#| msgid "Must be a valid number"
+msgid "Enter a valid number"
+msgstr "有効な数字でなければなりません"
+
+#: templates/js/translated/forms.js:1071 templates/modals.html:19
+#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1323
+#: templates/js/translated/forms.js:1457
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1525
+#: templates/js/translated/forms.js:1661
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:1742
+#: templates/js/translated/forms.js:1878
msgid "Clear input"
msgstr ""
@@ -7297,6 +7199,11 @@ msgstr ""
msgid "NO"
msgstr ""
+#: templates/js/translated/label.js:29 templates/js/translated/report.js:118
+#: templates/js/translated/stock.js:594
+msgid "Select Stock Items"
+msgstr ""
+
#: templates/js/translated/label.js:30
msgid "Stock item(s) must be selected before printing labels"
msgstr ""
@@ -7342,62 +7249,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119
+#: templates/js/translated/modals.js:593
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981
-#: templates/modals.html:30 templates/modals.html:55
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963
+#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:117
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:397
+#: templates/js/translated/modals.js:380
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:556
+#: templates/js/translated/modals.js:539
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:592
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:649
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:945
+#: templates/js/translated/modals.js:927
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/modals.js:1024
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1057
+#: templates/js/translated/modals.js:1039
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1058
+#: templates/js/translated/modals.js:1040
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1081
+#: templates/js/translated/modals.js:1063
msgid "Error requesting form data"
msgstr ""
@@ -7405,35 +7312,35 @@ msgstr ""
msgid "Company ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:90
+#: templates/js/translated/model_renderers.js:77
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:125
+#: templates/js/translated/model_renderers.js:130
msgid "Location ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:142
+#: templates/js/translated/model_renderers.js:147
msgid "Build ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:177
+#: templates/js/translated/model_renderers.js:182
msgid "Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:231
+#: templates/js/translated/model_renderers.js:236
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:251
+#: templates/js/translated/model_renderers.js:256
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:288
+#: templates/js/translated/model_renderers.js:293
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:317
+#: templates/js/translated/model_renderers.js:322
msgid "Supplier Part ID"
msgstr ""
@@ -7445,565 +7352,690 @@ msgstr ""
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:207
+#: templates/js/translated/order.js:208
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96
+#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393
msgid "Format"
msgstr ""
-#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97
+#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394
msgid "Select file format"
msgstr ""
-#: templates/js/translated/order.js:299
+#: templates/js/translated/order.js:300
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:300
+#: templates/js/translated/order.js:301
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:325
+#: templates/js/translated/order.js:326
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343
+#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:426
+#: templates/js/translated/order.js:427
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:428
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:429
+#: templates/js/translated/order.js:430
msgid "Receive"
msgstr ""
-#: templates/js/translated/order.js:448
+#: templates/js/translated/order.js:449
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:449
+#: templates/js/translated/order.js:450
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:626
+#: templates/js/translated/order.js:627
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028
+#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602
+#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613
+#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:800
+#: templates/js/translated/order.js:801
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432
+#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457
-#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554
+#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470
+#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464
-msgid "Total price"
+#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486
+msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573
+#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:963
+#: templates/js/translated/order.js:976
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:967
+#: templates/js/translated/order.js:980
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1004
+#: templates/js/translated/order.js:1017
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1055
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1120
+#: templates/js/translated/order.js:1133
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:1213
+#: templates/js/translated/order.js:1226
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1231
+#: templates/js/translated/order.js:1244
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1273
+#: templates/js/translated/order.js:1286
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:1514
+#: templates/js/translated/order.js:1535
msgid "Fulfilled"
msgstr ""
-#: templates/js/translated/order.js:1557
+#: templates/js/translated/order.js:1579
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1585
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725
+#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1596
msgid "Delete line item "
msgstr ""
-#: templates/js/translated/order.js:1673
+#: templates/js/translated/order.js:1719
msgid "Allocate Stock Item"
msgstr ""
-#: templates/js/translated/order.js:1733
+#: templates/js/translated/order.js:1779
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1747
+#: templates/js/translated/order.js:1793
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/part.js:49
+#: templates/js/translated/part.js:50
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:53
+#: templates/js/translated/part.js:54
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:57
+#: templates/js/translated/part.js:58
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:61
+#: templates/js/translated/part.js:62
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:75
+#: templates/js/translated/part.js:76
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:164
+#: templates/js/translated/part.js:165
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:165
+#: templates/js/translated/part.js:166
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:172
+#: templates/js/translated/part.js:173
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:173
+#: templates/js/translated/part.js:174
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:180
+#: templates/js/translated/part.js:181
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:191
+#: templates/js/translated/part.js:192
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:192
+#: templates/js/translated/part.js:193
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:201
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:202
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:257
+#: templates/js/translated/part.js:258
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:258
+#: templates/js/translated/part.js:259
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:265
-msgid "Copy BOM"
-msgstr ""
-
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:267
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:273
+#: templates/js/translated/part.js:274
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:274
+#: templates/js/translated/part.js:275
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:287
+#: templates/js/translated/part.js:288
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:331
+#: templates/js/translated/part.js:332
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:419 templates/js/translated/part.js:504
+#: templates/js/translated/part.js:334
+msgid "Part edited"
+msgstr ""
+
+#: templates/js/translated/part.js:402
+msgid "You are subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:404
+msgid "You have subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:409
+msgid "Subscribe to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:411
+msgid "You have unsubscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:440 templates/js/translated/part.js:525
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:423 templates/js/translated/part.js:508
+#: templates/js/translated/part.js:444 templates/js/translated/part.js:529
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:435
-msgid "Starred part"
+#: templates/js/translated/part.js:456
+msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:439
+#: templates/js/translated/part.js:460
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:554
+#: templates/js/translated/part.js:575
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005
+#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:932
+#: templates/js/translated/part.js:933
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:955
-#: templates/js/translated/table_filters.js:359
+#: templates/js/translated/part.js:956
+#: templates/js/translated/table_filters.js:375
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480
+#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200
+#: templates/js/translated/stock.js:1802
+msgid "Display as list"
+msgstr ""
+
+#: templates/js/translated/part.js:1044
+msgid "Display as grid"
+msgstr ""
+
+#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821
+msgid "Display as tree"
+msgstr ""
+
+#: templates/js/translated/part.js:1283
+msgid "Subscribed category"
+msgstr ""
+
+#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1202
+#: templates/js/translated/part.js:1341
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493
+#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494
+#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1260
+#: templates/js/translated/part.js:1399
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1282
+#: templates/js/translated/part.js:1421
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1296
+#: templates/js/translated/part.js:1435
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1321
+#: templates/js/translated/part.js:1460
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1376
+#: templates/js/translated/part.js:1515
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1377
+#: templates/js/translated/part.js:1516
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1478
+#: templates/js/translated/part.js:1617
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1497
+#: templates/js/translated/part.js:1636
msgid "Single Price Difference"
msgstr ""
-#: templates/js/translated/stock.js:63
+#: templates/js/translated/report.js:67
+msgid "items selected"
+msgstr ""
+
+#: templates/js/translated/report.js:75
+msgid "Select Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:90
+msgid "Select Test Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:119
+msgid "Stock item(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:136 templates/js/translated/report.js:189
+#: templates/js/translated/report.js:243 templates/js/translated/report.js:297
+#: templates/js/translated/report.js:351
+msgid "No Reports Found"
+msgstr ""
+
+#: templates/js/translated/report.js:137
+msgid "No report templates found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:172
+msgid "Select Builds"
+msgstr ""
+
+#: templates/js/translated/report.js:173
+msgid "Build(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:190
+msgid "No report templates found which match selected build(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:226
+msgid "Part(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:244
+msgid "No report templates found which match selected part(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:279
+msgid "Select Purchase Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:280
+msgid "Purchase Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
+msgid "No report templates found which match selected orders"
+msgstr ""
+
+#: templates/js/translated/report.js:333
+msgid "Select Sales Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:334
+msgid "Sales Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/stock.js:70
+msgid "Serialize Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:90
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:126
+msgid "New Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:189
+msgid "Enter initial quantity for this stock item"
+msgstr ""
+
+#: templates/js/translated/stock.js:195
+msgid "Enter serial numbers for new stock (or leave blank)"
+msgstr ""
+
+#: templates/js/translated/stock.js:338
+#, fuzzy
+#| msgid "Create new supplier part"
+msgid "Created new stock item"
+msgstr "新しいサプライヤー・パーツを作成"
+
+#: templates/js/translated/stock.js:351
+msgid "Created multiple stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:390
msgid "Export Stock"
msgstr ""
-#: templates/js/translated/stock.js:104
+#: templates/js/translated/stock.js:401
msgid "Include Sublocations"
msgstr ""
-#: templates/js/translated/stock.js:105
+#: templates/js/translated/stock.js:402
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:444
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:148
+#: templates/js/translated/stock.js:445
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:154
+#: templates/js/translated/stock.js:451
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:155
+#: templates/js/translated/stock.js:452
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:159
+#: templates/js/translated/stock.js:456
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:160
+#: templates/js/translated/stock.js:457
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:164
+#: templates/js/translated/stock.js:461
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:165 users/models.py:195
+#: templates/js/translated/stock.js:462 users/models.py:200
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:169 templates/stock_table.html:63
+#: templates/js/translated/stock.js:466 templates/stock_table.html:56
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:298
+#: templates/js/translated/stock.js:595
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:456
+#: templates/js/translated/stock.js:753
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:458
+#: templates/js/translated/stock.js:755
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:463
+#: templates/js/translated/stock.js:760
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:489
+#: templates/js/translated/stock.js:782
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:515
+#: templates/js/translated/stock.js:808
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:563
+#: templates/js/translated/stock.js:865
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:670
+#: templates/js/translated/stock.js:972
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:674
+#: templates/js/translated/stock.js:976
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:678
+#: templates/js/translated/stock.js:980
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:984
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:688
+#: templates/js/translated/stock.js:990
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:844
+#: templates/js/translated/stock.js:1148
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:849
+#: templates/js/translated/stock.js:1153
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:852
+#: templates/js/translated/stock.js:1156
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:856
+#: templates/js/translated/stock.js:1160
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:858
+#: templates/js/translated/stock.js:1162
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:1166
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:866
+#: templates/js/translated/stock.js:1170
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:873
+#: templates/js/translated/stock.js:1177
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:1179
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:877
+#: templates/js/translated/stock.js:1181
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:881
-#: templates/js/translated/table_filters.js:161
+#: templates/js/translated/stock.js:1185
+#: templates/js/translated/table_filters.js:177
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:935
+#: templates/js/translated/stock.js:1235
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1308
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1046
+#: templates/js/translated/stock.js:1346
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115
+#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415
msgid "items"
msgstr ""
-#: templates/js/translated/stock.js:1155
+#: templates/js/translated/stock.js:1455
msgid "batches"
msgstr ""
-#: templates/js/translated/stock.js:1182
+#: templates/js/translated/stock.js:1482
msgid "locations"
msgstr ""
-#: templates/js/translated/stock.js:1184
+#: templates/js/translated/stock.js:1484
msgid "Undefined location"
msgstr ""
-#: templates/js/translated/stock.js:1358
+#: templates/js/translated/stock.js:1658
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:1372
+#: templates/js/translated/stock.js:1672
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:1373
+#: templates/js/translated/stock.js:1673
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:1512
+#: templates/js/translated/stock.js:1897
msgid "Invalid date"
msgstr ""
-#: templates/js/translated/stock.js:1559
+#: templates/js/translated/stock.js:1919
+msgid "Details"
+msgstr ""
+
+#: templates/js/translated/stock.js:1944
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1578
+#: templates/js/translated/stock.js:1963
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1597
+#: templates/js/translated/stock.js:1982
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1615
+#: templates/js/translated/stock.js:2000
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1638
+#: templates/js/translated/stock.js:2023
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:1646
+#: templates/js/translated/stock.js:2031
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:1687
+#: templates/js/translated/stock.js:2072
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1688
+#: templates/js/translated/stock.js:2073
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:2124
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:1835
-msgid "Serial"
-msgstr ""
-
-#: templates/js/translated/stock.js:1863
+#: templates/js/translated/stock.js:2175
msgid "Uninstall Stock Item"
msgstr ""
@@ -8023,254 +8055,264 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:156
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:172
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:93
+#: templates/js/translated/table_filters.js:105
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:103
-#: templates/js/translated/table_filters.js:104
-#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:115
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:352
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:114
-#: templates/js/translated/table_filters.js:191
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:117
-#: templates/js/translated/table_filters.js:198
-msgid "Serial number GTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:118
-#: templates/js/translated/table_filters.js:199
-msgid "Serial number greater than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:121
-#: templates/js/translated/table_filters.js:202
-msgid "Serial number LTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:122
-#: templates/js/translated/table_filters.js:203
-msgid "Serial number less than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:125
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:195
-msgid "Serial number"
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:387
+msgid "Subscribed"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:212
-msgid "Batch code"
+#: templates/js/translated/table_filters.js:207
+msgid "Is Serialized"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:214
+msgid "Serial number GTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:134
+#: templates/js/translated/table_filters.js:215
+msgid "Serial number greater than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:137
+#: templates/js/translated/table_filters.js:218
+msgid "Serial number LTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:138
+#: templates/js/translated/table_filters.js:219
+msgid "Serial number less than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:141
-#: templates/js/translated/table_filters.js:326
-msgid "Active parts"
-msgstr ""
-
#: templates/js/translated/table_filters.js:142
-msgid "Show stock for active parts"
+#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:211
+msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:147
-msgid "Part is an assembly"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:151
-msgid "Is allocated"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:152
-msgid "Item has been allocated"
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:228
+msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:157
-msgid "Include stock in sublocations"
+#: templates/js/translated/table_filters.js:342
+msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:162
-msgid "Show stock items which are depleted"
+#: templates/js/translated/table_filters.js:158
+msgid "Show stock for active parts"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:163
+msgid "Part is an assembly"
msgstr ""
#: templates/js/translated/table_filters.js:167
+msgid "Is allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:168
+msgid "Item has been allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:173
+msgid "Include stock in sublocations"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:178
+msgid "Show stock items which are depleted"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:183
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:187
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:188
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:176
+#: templates/js/translated/table_filters.js:192
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:177
+#: templates/js/translated/table_filters.js:193
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:197
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:182
+#: templates/js/translated/table_filters.js:198
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:187
+#: templates/js/translated/table_filters.js:203
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:207
-#: templates/js/translated/table_filters.js:208
+#: templates/js/translated/table_filters.js:223
+#: templates/js/translated/table_filters.js:224
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/table_filters.js:232
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:233
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:242
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:248
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:279
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:291
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:307
+#: templates/js/translated/table_filters.js:324
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:296
-#: templates/js/translated/table_filters.js:313
+#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:329
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:337
+#: templates/js/translated/table_filters.js:353
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:341
+#: templates/js/translated/table_filters.js:357
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:342
+#: templates/js/translated/table_filters.js:358
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:347
+#: templates/js/translated/table_filters.js:363
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:355
+#: templates/js/translated/table_filters.js:371
msgid "Stock available"
msgstr ""
-#: templates/js/translated/table_filters.js:371
-msgid "Starred"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:383
+#: templates/js/translated/table_filters.js:399
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/tables.js:366
+#: templates/js/translated/tables.js:368
msgid "Loading data"
msgstr ""
-#: templates/js/translated/tables.js:369
+#: templates/js/translated/tables.js:371
msgid "rows per page"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "Showing"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "to"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "of"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "rows"
msgstr ""
-#: templates/js/translated/tables.js:378
+#: templates/js/translated/tables.js:377 templates/search_form.html:6
+#: templates/search_form.html:7
+msgid "Search"
+msgstr ""
+
+#: templates/js/translated/tables.js:380
msgid "No matching results"
msgstr ""
-#: templates/js/translated/tables.js:381
+#: templates/js/translated/tables.js:383
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/translated/tables.js:384
+#: templates/js/translated/tables.js:386
msgid "Refresh"
msgstr ""
-#: templates/js/translated/tables.js:387
+#: templates/js/translated/tables.js:389
msgid "Toggle"
msgstr ""
-#: templates/js/translated/tables.js:390
+#: templates/js/translated/tables.js:392
msgid "Columns"
msgstr ""
-#: templates/js/translated/tables.js:393
+#: templates/js/translated/tables.js:395
msgid "All"
msgstr ""
-#: templates/navbar.html:19
-msgid "Toggle navigation"
-msgstr ""
-
-#: templates/navbar.html:39
+#: templates/navbar.html:40
msgid "Buy"
msgstr ""
-#: templates/navbar.html:51
+#: templates/navbar.html:52
msgid "Sell"
msgstr ""
-#: templates/navbar.html:83 users/models.py:39
+#: templates/navbar.html:86 users/models.py:39
msgid "Admin"
msgstr ""
-#: templates/navbar.html:85
+#: templates/navbar.html:88
msgid "Logout"
msgstr ""
-#: templates/navbar.html:106
+#: templates/navbar.html:90
+msgid "Login"
+msgstr ""
+
+#: templates/navbar.html:111
msgid "About InvenTree"
msgstr ""
+#: templates/navbar_demo.html:5
+msgid "InvenTree demo mode"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -8283,6 +8325,10 @@ msgstr ""
msgid "Log in again"
msgstr ""
+#: templates/stats.html:9
+msgid "Server"
+msgstr ""
+
#: templates/stats.html:13
msgid "Instance Name"
msgstr ""
@@ -8336,54 +8382,50 @@ msgid "Export Stock Information"
msgstr ""
#: templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/stock_table.html:27
msgid "Barcode Actions"
msgstr ""
-#: templates/stock_table.html:43
+#: templates/stock_table.html:36
msgid "Print test reports"
msgstr ""
-#: templates/stock_table.html:50
+#: templates/stock_table.html:43
msgid "Stock Options"
msgstr ""
-#: templates/stock_table.html:55
+#: templates/stock_table.html:48
msgid "Add to selected stock items"
msgstr ""
-#: templates/stock_table.html:56
+#: templates/stock_table.html:49
msgid "Remove from selected stock items"
msgstr ""
-#: templates/stock_table.html:57
+#: templates/stock_table.html:50
msgid "Stocktake selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move stock"
msgstr ""
-#: templates/stock_table.html:59
+#: templates/stock_table.html:52
msgid "Order selected items"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change status"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change stock status"
msgstr ""
-#: templates/stock_table.html:63
+#: templates/stock_table.html:56
msgid "Delete selected items"
msgstr ""
@@ -8419,35 +8461,43 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:182
+#: users/models.py:187
msgid "Permission set"
msgstr ""
-#: users/models.py:190
+#: users/models.py:195
msgid "Group"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "View"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "Permission to view items"
msgstr ""
-#: users/models.py:195
+#: users/models.py:200
msgid "Permission to add items"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Change"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:199
+#: users/models.py:204
msgid "Permission to delete items"
msgstr ""
+#~ msgid "Manufacturer Part Stock"
+#~ msgstr "メーカー・パーツの在庫"
+
+#~ msgid "Manufacturer Part Orders"
+#~ msgstr "メーカー・パーツの注文"
+
+#~ msgid "All parts"
+#~ msgstr "全てのパーツ"
diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.mo b/InvenTree/locale/ko/LC_MESSAGES/django.mo
new file mode 100644
index 0000000000..84270c1185
Binary files /dev/null and b/InvenTree/locale/ko/LC_MESSAGES/django.mo differ
diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po
index e1b5611439..6589771a11 100644
--- a/InvenTree/locale/ko/LC_MESSAGES/django.po
+++ b/InvenTree/locale/ko/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-11 06:21+0000\n"
+"POT-Creation-Date: 2021-11-22 22:08+0000\n"
"PO-Revision-Date: 2021-10-11 06:29\n"
"Last-Translator: \n"
"Language-Team: Korean\n"
@@ -33,260 +33,266 @@ msgstr ""
msgid "Enter date"
msgstr ""
-#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123
-#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27
-#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71
-#: part/forms.py:108 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:564
+#: InvenTree/forms.py:120 build/forms.py:48 build/forms.py:69 build/forms.py:93
+#: order/forms.py:26 order/forms.py:37 order/forms.py:48 order/forms.py:59
+#: order/forms.py:70 part/forms.py:108 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:594
msgid "Confirm"
msgstr ""
-#: InvenTree/forms.py:132
+#: InvenTree/forms.py:136
msgid "Confirm delete"
msgstr ""
-#: InvenTree/forms.py:133
+#: InvenTree/forms.py:137
msgid "Confirm item deletion"
msgstr ""
-#: InvenTree/forms.py:164
+#: InvenTree/forms.py:168
msgid "Enter password"
msgstr ""
-#: InvenTree/forms.py:165
+#: InvenTree/forms.py:169
msgid "Enter new password"
msgstr ""
-#: InvenTree/forms.py:172
+#: InvenTree/forms.py:176
msgid "Confirm password"
msgstr ""
-#: InvenTree/forms.py:173
+#: InvenTree/forms.py:177
msgid "Confirm new password"
msgstr ""
-#: InvenTree/forms.py:205
+#: InvenTree/forms.py:209
msgid "Select Category"
msgstr ""
-#: InvenTree/forms.py:226
-msgid "E-mail (again)"
-msgstr ""
-
#: InvenTree/forms.py:230
-msgid "E-mail address confirmation"
+msgid "Email (again)"
msgstr ""
-#: InvenTree/forms.py:250
+#: InvenTree/forms.py:234
+msgid "Email address confirmation"
+msgstr ""
+
+#: InvenTree/forms.py:254
msgid "You must type the same email each time."
msgstr ""
-#: InvenTree/helpers.py:401
+#: InvenTree/helpers.py:430
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr ""
-#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437
-#: stock/views.py:1340
+#: InvenTree/helpers.py:437 order/models.py:318 order/models.py:440
+#: stock/views.py:1264
msgid "Invalid quantity provided"
msgstr ""
-#: InvenTree/helpers.py:411
+#: InvenTree/helpers.py:440
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:462 InvenTree/helpers.py:465 InvenTree/helpers.py:468
+#: InvenTree/helpers.py:493
#, python-brace-format
msgid "Invalid group: {g}"
msgstr ""
-#: InvenTree/helpers.py:469
+#: InvenTree/helpers.py:498
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr ""
-#: InvenTree/helpers.py:477
+#: InvenTree/helpers.py:506
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:481
+#: InvenTree/helpers.py:510
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/models.py:66 stock/models.py:1823
+#: InvenTree/models.py:109 stock/models.py:1874
msgid "Attachment"
msgstr ""
-#: InvenTree/models.py:67
+#: InvenTree/models.py:110
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:69 templates/js/translated/attachment.js:87
+#: InvenTree/models.py:112 templates/js/translated/attachment.js:91
msgid "Comment"
msgstr ""
-#: InvenTree/models.py:69
+#: InvenTree/models.py:112
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055
-#: common/models.py:1056 part/models.py:2055
-#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/translated/stock.js:1669
+#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185
+#: common/models.py:1186 part/models.py:2205 part/models.py:2225
+#: report/templates/report/inventree_test_report_base.html:96
+#: templates/js/translated/stock.js:2054
msgid "User"
msgstr ""
-#: InvenTree/models.py:79
+#: InvenTree/models.py:122
msgid "upload date"
msgstr ""
-#: InvenTree/models.py:99
+#: InvenTree/models.py:142
msgid "Filename must not be empty"
msgstr ""
-#: InvenTree/models.py:122
+#: InvenTree/models.py:165
msgid "Invalid attachment directory"
msgstr ""
-#: InvenTree/models.py:132
+#: InvenTree/models.py:175
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr ""
-#: InvenTree/models.py:135
+#: InvenTree/models.py:178
msgid "Filename missing extension"
msgstr ""
-#: InvenTree/models.py:142
+#: InvenTree/models.py:185
msgid "Attachment with this filename already exists"
msgstr ""
-#: InvenTree/models.py:149
+#: InvenTree/models.py:192
msgid "Error renaming file"
msgstr ""
-#: InvenTree/models.py:184
+#: InvenTree/models.py:227
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415
-#: label/models.py:112 part/models.py:659 part/models.py:2216
-#: part/templates/part/part_base.html:241 report/models.py:181
-#: templates/js/translated/company.js:637 templates/js/translated/part.js:477
-#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141
-#: templates/js/translated/stock.js:1462
+#: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415
+#: label/models.py:112 part/models.py:741 part/models.py:2389
+#: part/templates/part/detail.html:25 report/models.py:181
+#: templates/js/translated/company.js:637 templates/js/translated/part.js:498
+#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272
+#: templates/js/translated/stock.js:1847
msgid "Name"
msgstr ""
-#: InvenTree/models.py:207 build/models.py:189
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/manufacturer_part.html:76
-#: company/templates/company/supplier_part.html:75 label/models.py:119
-#: order/models.py:158 part/models.py:682
-#: part/templates/part/part_base.html:246
+#: InvenTree/models.py:250 build/models.py:207
+#: build/templates/build/detail.html:25 company/models.py:354
+#: company/models.py:570 company/templates/company/manufacturer_part.html:80
+#: company/templates/company/supplier_part.html:81 label/models.py:119
+#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30
#: part/templates/part/set_category.html:14 report/models.py:194
-#: report/models.py:551 report/models.py:590
+#: report/models.py:553 report/models.py:592
#: report/templates/report/inventree_build_order_base.html:118
-#: templates/InvenTree/settings/header.html:9
-#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217
-#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344
+#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214
+#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621
+#: templates/js/translated/company.js:344
#: templates/js/translated/company.js:547
-#: templates/js/translated/company.js:836 templates/js/translated/order.js:672
-#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056
-#: templates/js/translated/part.js:536 templates/js/translated/part.js:724
-#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153
-#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819
-#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519
+#: templates/js/translated/company.js:836 templates/js/translated/order.js:673
+#: templates/js/translated/order.js:833 templates/js/translated/order.js:1069
+#: templates/js/translated/part.js:557 templates/js/translated/part.js:745
+#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291
+#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121
+#: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904
msgid "Description"
msgstr ""
-#: InvenTree/models.py:208
+#: InvenTree/models.py:251
msgid "Description (optional)"
msgstr ""
-#: InvenTree/models.py:216
+#: InvenTree/models.py:259
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:55 part/models.py:2475
+#: InvenTree/serializers.py:62 part/models.py:2674
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:244
+#: InvenTree/serializers.py:251
msgid "Filename"
msgstr ""
-#: InvenTree/settings.py:529
+#: InvenTree/settings.py:663
msgid "German"
msgstr ""
-#: InvenTree/settings.py:530
+#: InvenTree/settings.py:664
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:531
+#: InvenTree/settings.py:665
msgid "English"
msgstr ""
-#: InvenTree/settings.py:532
+#: InvenTree/settings.py:666
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:533
+#: InvenTree/settings.py:667
+msgid "Spanish (Mexican)"
+msgstr ""
+
+#: InvenTree/settings.py:668
msgid "French"
msgstr ""
-#: InvenTree/settings.py:534
+#: InvenTree/settings.py:669
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:535
+#: InvenTree/settings.py:670
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:536
+#: InvenTree/settings.py:671
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:537
+#: InvenTree/settings.py:672
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:538
+#: InvenTree/settings.py:673
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:539
+#: InvenTree/settings.py:674
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:540
+#: InvenTree/settings.py:675
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:541
+#: InvenTree/settings.py:676
+msgid "Portugese"
+msgstr ""
+
+#: InvenTree/settings.py:677
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:542
+#: InvenTree/settings.py:678
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:543
+#: InvenTree/settings.py:679
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:544
+#: InvenTree/settings.py:680
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:545
+#: InvenTree/settings.py:681
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:546
+#: InvenTree/settings.py:682
msgid "Chinese"
msgstr ""
@@ -302,196 +308,196 @@ msgstr ""
msgid "InvenTree system health checks failed"
msgstr ""
-#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145
-#: InvenTree/status_codes.py:314
+#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142
+#: InvenTree/status_codes.py:311
msgid "Pending"
msgstr ""
-#: InvenTree/status_codes.py:105
+#: InvenTree/status_codes.py:102
msgid "Placed"
msgstr ""
-#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317
+#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:314
msgid "Complete"
msgstr ""
-#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147
-#: InvenTree/status_codes.py:316
+#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144
+#: InvenTree/status_codes.py:313
msgid "Cancelled"
msgstr ""
-#: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148
-#: InvenTree/status_codes.py:190
+#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145
+#: InvenTree/status_codes.py:187
msgid "Lost"
msgstr ""
-#: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149
-#: InvenTree/status_codes.py:192
+#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146
+#: InvenTree/status_codes.py:189
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:146
-#: order/templates/order/sales_order_base.html:131
+#: InvenTree/status_codes.py:143
+#: order/templates/order/sales_order_base.html:147
msgid "Shipped"
msgstr ""
-#: InvenTree/status_codes.py:186
+#: InvenTree/status_codes.py:183
msgid "OK"
msgstr ""
-#: InvenTree/status_codes.py:187
+#: InvenTree/status_codes.py:184
msgid "Attention needed"
msgstr ""
-#: InvenTree/status_codes.py:188
+#: InvenTree/status_codes.py:185
msgid "Damaged"
msgstr ""
-#: InvenTree/status_codes.py:189
+#: InvenTree/status_codes.py:186
msgid "Destroyed"
msgstr ""
-#: InvenTree/status_codes.py:191
+#: InvenTree/status_codes.py:188
msgid "Rejected"
msgstr ""
-#: InvenTree/status_codes.py:272
+#: InvenTree/status_codes.py:269
msgid "Legacy stock tracking entry"
msgstr ""
-#: InvenTree/status_codes.py:274
+#: InvenTree/status_codes.py:271
msgid "Stock item created"
msgstr ""
-#: InvenTree/status_codes.py:276
+#: InvenTree/status_codes.py:273
msgid "Edited stock item"
msgstr ""
-#: InvenTree/status_codes.py:277
+#: InvenTree/status_codes.py:274
msgid "Assigned serial number"
msgstr ""
-#: InvenTree/status_codes.py:279
+#: InvenTree/status_codes.py:276
msgid "Stock counted"
msgstr ""
-#: InvenTree/status_codes.py:280
+#: InvenTree/status_codes.py:277
msgid "Stock manually added"
msgstr ""
-#: InvenTree/status_codes.py:281
+#: InvenTree/status_codes.py:278
msgid "Stock manually removed"
msgstr ""
-#: InvenTree/status_codes.py:283
+#: InvenTree/status_codes.py:280
msgid "Location changed"
msgstr ""
-#: InvenTree/status_codes.py:285
+#: InvenTree/status_codes.py:282
msgid "Installed into assembly"
msgstr ""
-#: InvenTree/status_codes.py:286
+#: InvenTree/status_codes.py:283
msgid "Removed from assembly"
msgstr ""
-#: InvenTree/status_codes.py:288
+#: InvenTree/status_codes.py:285
msgid "Installed component item"
msgstr ""
-#: InvenTree/status_codes.py:289
+#: InvenTree/status_codes.py:286
msgid "Removed component item"
msgstr ""
-#: InvenTree/status_codes.py:291
+#: InvenTree/status_codes.py:288
msgid "Split from parent item"
msgstr ""
-#: InvenTree/status_codes.py:292
+#: InvenTree/status_codes.py:289
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186
+#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202
msgid "Sent to customer"
msgstr ""
-#: InvenTree/status_codes.py:295
+#: InvenTree/status_codes.py:292
msgid "Returned from customer"
msgstr ""
-#: InvenTree/status_codes.py:297
+#: InvenTree/status_codes.py:294
msgid "Build order output created"
msgstr ""
-#: InvenTree/status_codes.py:298
+#: InvenTree/status_codes.py:295
msgid "Build order output completed"
msgstr ""
-#: InvenTree/status_codes.py:300
+#: InvenTree/status_codes.py:297
msgid "Received against purchase order"
msgstr ""
-#: InvenTree/status_codes.py:315
+#: InvenTree/status_codes.py:312
msgid "Production"
msgstr ""
-#: InvenTree/validators.py:22
+#: InvenTree/validators.py:23
msgid "Not a valid currency code"
msgstr ""
-#: InvenTree/validators.py:50
+#: InvenTree/validators.py:51
msgid "Invalid character in part name"
msgstr ""
-#: InvenTree/validators.py:63
+#: InvenTree/validators.py:64
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr ""
-#: InvenTree/validators.py:77 InvenTree/validators.py:91
-#: InvenTree/validators.py:105
+#: InvenTree/validators.py:78 InvenTree/validators.py:92
+#: InvenTree/validators.py:106
#, python-brace-format
msgid "Reference must match pattern {pattern}"
msgstr ""
-#: InvenTree/validators.py:113
+#: InvenTree/validators.py:114
#, python-brace-format
msgid "Illegal character in name ({x})"
msgstr ""
-#: InvenTree/validators.py:132 InvenTree/validators.py:148
+#: InvenTree/validators.py:133 InvenTree/validators.py:149
msgid "Overage value must not be negative"
msgstr ""
-#: InvenTree/validators.py:150
+#: InvenTree/validators.py:151
msgid "Overage must not exceed 100%"
msgstr ""
-#: InvenTree/validators.py:157
+#: InvenTree/validators.py:158
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:616
+#: InvenTree/views.py:536
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:665
+#: InvenTree/views.py:585
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:710
+#: InvenTree/views.py:630
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:954 templates/navbar.html:97
+#: InvenTree/views.py:863 templates/navbar.html:101
msgid "System Information"
msgstr ""
@@ -535,599 +541,566 @@ msgstr ""
msgid "Barcode associated with StockItem"
msgstr ""
-#: build/api.py:213
-msgid "Matching build order does not exist"
-msgstr ""
-
-#: build/forms.py:37
-msgid "Build Order reference"
-msgstr ""
-
-#: build/forms.py:38
-msgid "Order target date"
-msgstr ""
-
-#: build/forms.py:42 build/templates/build/build_base.html:146
-#: build/templates/build/detail.html:124
-#: order/templates/order/order_base.html:124
-#: order/templates/order/sales_order_base.html:124
-#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689
-#: templates/js/translated/order.js:1074
-msgid "Target Date"
-msgstr ""
-
-#: build/forms.py:43 build/models.py:279
-msgid "Target date for build completion. Build will be overdue after this date."
-msgstr ""
-
-#: build/forms.py:48 build/forms.py:90 build/models.py:1281
-#: build/templates/build/allocation_card.html:23
-#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:1087
-#: company/forms.py:42 company/templates/company/supplier_part.html:226
-#: order/forms.py:101 order/forms.py:123 order/models.py:720
-#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249
-#: part/forms.py:265 part/forms.py:281 part/models.py:2377
+#: build/forms.py:36 build/models.py:1283
+#: build/templates/build/build_base.html:124
+#: build/templates/build/detail.html:35 common/models.py:1225
+#: company/forms.py:42 company/templates/company/supplier_part.html:251
+#: order/forms.py:102 order/models.py:729 order/models.py:991
+#: order/templates/order/order_wizard/match_parts.html:30
+#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237
+#: part/forms.py:253 part/forms.py:269 part/models.py:2576
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030
+#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
-#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:140 stock/templates/stock/item_base.html:269
-#: stock/templates/stock/stock_adjust.html:18
-#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264
-#: templates/js/translated/build.js:314 templates/js/translated/build.js:638
-#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515
-#: templates/js/translated/model_renderers.js:74
-#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170
-#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444
-#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487
-#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654
-#: templates/js/translated/stock.js:1829
+#: report/templates/report/inventree_test_report_base.html:81
+#: report/templates/report/inventree_test_report_base.html:139
+#: stock/forms.py:156 stock/serializers.py:286
+#: stock/templates/stock/item_base.html:256
+#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441
+#: templates/js/translated/build.js:235 templates/js/translated/build.js:435
+#: templates/js/translated/build.js:629 templates/js/translated/build.js:639
+#: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362
+#: templates/js/translated/model_renderers.js:99
+#: templates/js/translated/order.js:870 templates/js/translated/order.js:1183
+#: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268
+#: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457
+#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626
+#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347
+#: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141
msgid "Quantity"
msgstr ""
-#: build/forms.py:49
-msgid "Number of items to build"
-msgstr ""
-
-#: build/forms.py:91
+#: build/forms.py:37
msgid "Enter quantity for build output"
msgstr ""
-#: build/forms.py:95 order/forms.py:95 stock/forms.py:83
+#: build/forms.py:41 order/forms.py:96 stock/forms.py:95
+#: stock/serializers.py:307 templates/js/translated/stock.js:194
+#: templates/js/translated/stock.js:348
msgid "Serial Numbers"
msgstr ""
-#: build/forms.py:97
+#: build/forms.py:43
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/forms.py:103
+#: build/forms.py:49
msgid "Confirm creation of build output"
msgstr ""
-#: build/forms.py:124
+#: build/forms.py:70
msgid "Confirm deletion of build output"
msgstr ""
-#: build/forms.py:145
-msgid "Confirm unallocation of stock"
-msgstr ""
-
-#: build/forms.py:174
+#: build/forms.py:94
msgid "Mark build as complete"
msgstr ""
-#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284
-#: stock/forms.py:280 stock/serializers.py:553
-#: stock/templates/stock/item_base.html:299
-#: stock/templates/stock/stock_adjust.html:17
-#: templates/js/translated/barcode.js:385
-#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299
-#: templates/js/translated/build.js:650 templates/js/translated/order.js:347
-#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263
-#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179
-#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921
-#: templates/js/translated/stock.js:1546
-msgid "Location"
-msgstr ""
-
-#: build/forms.py:199
-msgid "Location of completed parts"
-msgstr ""
-
-#: build/forms.py:203 build/templates/build/build_base.html:138
-#: build/templates/build/detail.html:62 order/models.py:563
-#: order/serializers.py:238 stock/templates/stock/item_base.html:422
-#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251
-#: templates/js/translated/order.js:430 templates/js/translated/order.js:676
-#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896
-#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845
-msgid "Status"
-msgstr ""
-
-#: build/forms.py:204
-msgid "Build output stock status"
-msgstr ""
-
-#: build/forms.py:211
-msgid "Confirm incomplete"
-msgstr ""
-
-#: build/forms.py:212
-msgid "Confirm completion with incomplete stock allocation"
-msgstr ""
-
-#: build/forms.py:215
-msgid "Confirm build completion"
-msgstr ""
-
-#: build/forms.py:240
+#: build/forms.py:107
msgid "Confirm cancel"
msgstr ""
-#: build/forms.py:240 build/views.py:65
+#: build/forms.py:107 build/views.py:65
msgid "Confirm build cancellation"
msgstr ""
-#: build/models.py:115
+#: build/models.py:133
msgid "Invalid choice for parent build"
msgstr ""
-#: build/models.py:119 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:73
+#: build/models.py:137 build/templates/build/build_base.html:9
+#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:276
+#: templates/js/translated/build.js:397
msgid "Build Order"
msgstr ""
-#: build/models.py:120 build/templates/build/index.html:8
-#: build/templates/build/index.html:15
-#: order/templates/order/sales_order_detail.html:34
-#: order/templates/order/so_navbar.html:19
-#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50
-#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229
-#: templates/InvenTree/search.html:171
-#: templates/InvenTree/settings/navbar.html:113
-#: templates/InvenTree/settings/navbar.html:115 users/models.py:44
+#: build/models.py:138 build/templates/build/build_base.html:13
+#: build/templates/build/index.html:8 build/templates/build/index.html:12
+#: order/templates/order/sales_order_detail.html:42
+#: templates/InvenTree/index.html:221 templates/InvenTree/search.html:145
+#: users/models.py:44
msgid "Build Orders"
msgstr ""
-#: build/models.py:180
+#: build/models.py:198
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:181 order/models.py:246 order/models.py:547
-#: order/models.py:727 part/models.py:2386
+#: build/models.py:199 order/models.py:249 order/models.py:556
+#: order/models.py:736 part/models.py:2585
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734
-#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863
-#: templates/js/translated/order.js:1438
+#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119
+#: templates/js/translated/order.js:864 templates/js/translated/order.js:1451
msgid "Reference"
msgstr ""
-#: build/models.py:192
+#: build/models.py:210
msgid "Brief description of the build"
msgstr ""
-#: build/models.py:201 build/templates/build/build_base.html:163
-#: build/templates/build/detail.html:80
+#: build/models.py:219 build/templates/build/build_base.html:156
+#: build/templates/build/detail.html:88
msgid "Parent Build"
msgstr ""
-#: build/models.py:202
+#: build/models.py:220
msgid "BuildOrder to which this build is allocated"
msgstr ""
-#: build/models.py:207 build/templates/build/build_base.html:128
-#: build/templates/build/detail.html:29 company/models.py:705
-#: order/models.py:780 order/models.py:851
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298
-#: part/models.py:2000 part/models.py:2016 part/models.py:2035
-#: part/models.py:2053 part/models.py:2132 part/models.py:2254
-#: part/models.py:2361 part/templates/part/detail.html:199
+#: build/models.py:225 build/templates/build/build_base.html:119
+#: build/templates/build/detail.html:30 company/models.py:705
+#: order/models.py:789 order/models.py:860
+#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357
+#: part/models.py:2151 part/models.py:2167 part/models.py:2186
+#: part/models.py:2203 part/models.py:2305 part/models.py:2427
+#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
-#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384
-#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611
-#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222
-#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488
-#: templates/js/translated/company.js:745 templates/js/translated/order.js:425
-#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422
-#: templates/js/translated/part.js:705 templates/js/translated/part.js:875
-#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776
-#: templates/js/translated/stock.js:1817
+#: templates/InvenTree/search.html:86
+#: templates/email/build_order_required_stock.html:17
+#: templates/email/low_stock_notification.html:16
+#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213
+#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620
+#: templates/js/translated/build.js:988 templates/js/translated/build.js:1359
+#: templates/js/translated/build.js:1626 templates/js/translated/company.js:488
+#: templates/js/translated/company.js:745 templates/js/translated/order.js:426
+#: templates/js/translated/order.js:818 templates/js/translated/order.js:1435
+#: templates/js/translated/part.js:726 templates/js/translated/part.js:892
+#: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:2129
msgid "Part"
msgstr ""
-#: build/models.py:215
+#: build/models.py:233
msgid "Select part to build"
msgstr ""
-#: build/models.py:220
+#: build/models.py:238
msgid "Sales Order Reference"
msgstr ""
-#: build/models.py:224
+#: build/models.py:242
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:229 templates/js/translated/build.js:962
+#: build/models.py:247 templates/js/translated/build.js:1347
msgid "Source Location"
msgstr ""
-#: build/models.py:233
+#: build/models.py:251
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr ""
-#: build/models.py:238
+#: build/models.py:256
msgid "Destination Location"
msgstr ""
-#: build/models.py:242
+#: build/models.py:260
msgid "Select location where the completed items will be stored"
msgstr ""
-#: build/models.py:246
+#: build/models.py:264
msgid "Build Quantity"
msgstr ""
-#: build/models.py:249
+#: build/models.py:267
msgid "Number of stock items to build"
msgstr ""
-#: build/models.py:253
+#: build/models.py:271
msgid "Completed items"
msgstr ""
-#: build/models.py:255
+#: build/models.py:273
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:259 part/templates/part/part_base.html:198
+#: build/models.py:277 part/templates/part/part_base.html:216
msgid "Build Status"
msgstr ""
-#: build/models.py:263
+#: build/models.py:281
msgid "Build status code"
msgstr ""
-#: build/models.py:267 stock/models.py:513
+#: build/models.py:285 stock/models.py:544
msgid "Batch Code"
msgstr ""
-#: build/models.py:271
+#: build/models.py:289
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:274 order/models.py:162 part/models.py:854
-#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069
+#: build/models.py:292 order/models.py:165 part/models.py:936
+#: part/templates/part/detail.html:86 templates/js/translated/order.js:1082
msgid "Creation Date"
msgstr ""
-#: build/models.py:278 order/models.py:569
+#: build/models.py:296 order/models.py:578
msgid "Target completion date"
msgstr ""
-#: build/models.py:282 order/models.py:288
-#: templates/js/translated/build.js:1293
+#: build/models.py:297
+msgid "Target date for build completion. Build will be overdue after this date."
+msgstr ""
+
+#: build/models.py:300 order/models.py:291
+#: templates/js/translated/build.js:1697
msgid "Completion Date"
msgstr ""
-#: build/models.py:288
+#: build/models.py:306
msgid "completed by"
msgstr ""
-#: build/models.py:296 templates/js/translated/build.js:1264
+#: build/models.py:314 templates/js/translated/build.js:1668
msgid "Issued by"
msgstr ""
-#: build/models.py:297
+#: build/models.py:315
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:305 build/templates/build/build_base.html:184
-#: build/templates/build/detail.html:108 order/models.py:176
-#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:145 part/models.py:858
+#: build/models.py:323 build/templates/build/build_base.html:177
+#: build/templates/build/detail.html:116 order/models.py:179
+#: order/templates/order/order_base.html:154
+#: order/templates/order/sales_order_base.html:161 part/models.py:940
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1680
msgid "Responsible"
msgstr ""
-#: build/models.py:306
+#: build/models.py:324
msgid "User responsible for this build order"
msgstr ""
-#: build/models.py:311 build/templates/build/detail.html:94
-#: company/templates/company/manufacturer_part.html:83
-#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:266 stock/models.py:507
-#: stock/templates/stock/item_base.html:359
+#: build/models.py:329 build/templates/build/detail.html:102
+#: company/templates/company/manufacturer_part.html:87
+#: company/templates/company/supplier_part.html:88
+#: part/templates/part/detail.html:80 stock/models.py:538
+#: stock/templates/stock/item_base.html:346
msgid "External Link"
msgstr ""
-#: build/models.py:312 part/models.py:716 stock/models.py:509
+#: build/models.py:330 part/models.py:798 stock/models.py:540
msgid "Link to external URL"
msgstr ""
-#: build/models.py:316 build/templates/build/navbar.html:52
-#: company/models.py:142 company/models.py:577
-#: company/templates/company/navbar.html:69
-#: company/templates/company/navbar.html:72 order/models.py:180
-#: order/models.py:729 order/templates/order/po_navbar.html:38
-#: order/templates/order/po_navbar.html:41
-#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:843
-#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120
-#: part/templates/part/navbar.html:123
+#: build/models.py:334 build/serializers.py:201 company/models.py:142
+#: company/models.py:577 order/models.py:183 order/models.py:738
+#: part/models.py:925 part/templates/part/detail.html:223
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579
-#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451
-#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59
-#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841
-#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540
-#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040
+#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610
+#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325
+#: stock/serializers.py:584 templates/js/translated/barcode.js:58
+#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841
+#: templates/js/translated/order.js:963 templates/js/translated/order.js:1561
+#: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340
msgid "Notes"
msgstr ""
-#: build/models.py:317
+#: build/models.py:335
msgid "Extra build notes"
msgstr ""
-#: build/models.py:714
+#: build/models.py:710
msgid "No build output specified"
msgstr ""
-#: build/models.py:717
+#: build/models.py:713
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:720
+#: build/models.py:716
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1102
+#: build/models.py:1108
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1111
+#: build/models.py:1117
#, python-brace-format
msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1121
+#: build/models.py:1127
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1127 order/models.py:955
+#: build/models.py:1133 order/models.py:964
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1133
+#: build/models.py:1139
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1191
+#: build/models.py:1193
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1251 stock/templates/stock/item_base.html:331
-#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195
-#: templates/navbar.html:35
+#: build/models.py:1253 stock/templates/stock/item_base.html:318
+#: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599
+#: templates/navbar.html:33
msgid "Build"
msgstr ""
-#: build/models.py:1252
+#: build/models.py:1254
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1268 build/serializers.py:151
+#: build/models.py:1270 build/serializers.py:328
#: stock/templates/stock/item_base.html:8
-#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:353
-#: stock/templates/stock/stock_adjust.html:16
-#: templates/js/translated/build.js:287 templates/js/translated/build.js:292
-#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148
-#: templates/js/translated/stock.js:1605
+#: stock/templates/stock/item_base.html:16
+#: stock/templates/stock/item_base.html:340
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:413
+#: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742
+#: templates/js/translated/order.js:1156 templates/js/translated/order.js:1161
+#: templates/js/translated/stock.js:1990
msgid "Stock Item"
msgstr ""
-#: build/models.py:1269
+#: build/models.py:1271
msgid "Source stock item"
msgstr ""
-#: build/models.py:1282
+#: build/models.py:1284
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1290
+#: build/models.py:1292
msgid "Install into"
msgstr ""
-#: build/models.py:1291
+#: build/models.py:1293
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:133 part/models.py:2501
-msgid "BOM Item"
-msgstr ""
-
-#: build/serializers.py:142
-msgid "bom_item.part must point to the same part as the build order"
-msgstr ""
-
-#: build/serializers.py:157
-msgid "Item must be in stock"
-msgstr ""
-
-#: build/serializers.py:171 order/models.py:313 order/serializers.py:231
-#: stock/models.py:351 stock/models.py:1072
-msgid "Quantity must be greater than zero"
-msgstr ""
-
-#: build/serializers.py:180
+#: build/serializers.py:137 build/serializers.py:357
msgid "Build Output"
msgstr ""
+#: build/serializers.py:146
+msgid "Build output does not match the parent build"
+msgstr ""
+
+#: build/serializers.py:150
+msgid "Output part does not match BuildOrder part"
+msgstr ""
+
+#: build/serializers.py:154
+msgid "This build output has already been completed"
+msgstr ""
+
+#: build/serializers.py:158
+msgid "This build output is not fully allocated"
+msgstr ""
+
+#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285
+#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686
+#: stock/templates/stock/item_base.html:286
+#: templates/js/translated/barcode.js:384
+#: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420
+#: templates/js/translated/build.js:1027 templates/js/translated/order.js:348
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1276
+#: templates/js/translated/order.js:1282 templates/js/translated/part.js:180
+#: templates/js/translated/stock.js:480 templates/js/translated/stock.js:1221
+#: templates/js/translated/stock.js:1931
+msgid "Location"
+msgstr ""
+
+#: build/serializers.py:191
+msgid "Location for completed build outputs"
+msgstr ""
+
+#: build/serializers.py:197 build/templates/build/build_base.html:129
+#: build/templates/build/detail.html:63 order/models.py:572
+#: order/serializers.py:238 stock/templates/stock/item_base.html:409
+#: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655
+#: templates/js/translated/order.js:431 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196
+#: templates/js/translated/stock.js:2008 templates/js/translated/stock.js:2157
+msgid "Status"
+msgstr ""
+
#: build/serializers.py:213
+msgid "A list of build outputs must be provided"
+msgstr ""
+
+#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700
+#: part/models.py:2859
+msgid "BOM Item"
+msgstr ""
+
+#: build/serializers.py:269
+msgid "Build output"
+msgstr ""
+
+#: build/serializers.py:278
+msgid "Build output must point to the same build"
+msgstr ""
+
+#: build/serializers.py:319
+msgid "bom_item.part must point to the same part as the build order"
+msgstr ""
+
+#: build/serializers.py:334
+msgid "Item must be in stock"
+msgstr ""
+
+#: build/serializers.py:348 order/models.py:316 order/serializers.py:231
+#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298
+msgid "Quantity must be greater than zero"
+msgstr ""
+
+#: build/serializers.py:390
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:219
+#: build/serializers.py:396
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:226
+#: build/serializers.py:403
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:254
+#: build/serializers.py:431
msgid "Allocation items must be provided"
msgstr ""
-#: build/templates/build/allocation_card.html:21
-#: build/templates/build/complete_output.html:46
-#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:501 stock/templates/stock/item_base.html:251
-#: templates/js/translated/build.js:636
-#: templates/js/translated/model_renderers.js:72
-#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342
-msgid "Serial Number"
+#: build/tasks.py:92
+msgid "Stock required for build order"
msgstr ""
-#: build/templates/build/build_base.html:18
+#: build/templates/build/build_base.html:39
+#: order/templates/order/order_base.html:28
+#: order/templates/order/sales_order_base.html:38
+msgid "Print actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:43
+msgid "Print build order report"
+msgstr ""
+
+#: build/templates/build/build_base.html:50
+msgid "Build actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:54
+msgid "Edit Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:56
+#: build/templates/build/build_base.html:207 build/views.py:56
+msgid "Cancel Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:59
+msgid "Delete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:64
+#: build/templates/build/build_base.html:65
+#: build/templates/build/build_base.html:223
+msgid "Complete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:79
#, python-format
msgid "This Build Order is allocated to Sales Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:25
+#: build/templates/build/build_base.html:86
#, python-format
msgid "This Build Order is a child of Build Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:32
+#: build/templates/build/build_base.html:93
msgid "Build Order is ready to mark as completed"
msgstr ""
-#: build/templates/build/build_base.html:37
+#: build/templates/build/build_base.html:98
msgid "Build Order cannot be completed as outstanding outputs remain"
msgstr ""
-#: build/templates/build/build_base.html:42
+#: build/templates/build/build_base.html:103
msgid "Required build quantity has not yet been completed"
msgstr ""
-#: build/templates/build/build_base.html:47
+#: build/templates/build/build_base.html:108
msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
-#: build/templates/build/build_base.html:75
-#: company/templates/company/company_base.html:40
-#: company/templates/company/manufacturer_part.html:29
-#: company/templates/company/supplier_part.html:30
-#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:30
-#: stock/templates/stock/item_base.html:62
-#: stock/templates/stock/location.html:31
-msgid "Admin view"
+#: build/templates/build/build_base.html:138
+#: build/templates/build/detail.html:132
+#: order/templates/order/order_base.html:140
+#: order/templates/order/sales_order_base.html:140
+#: report/templates/report/inventree_build_order_base.html:126
+#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690
+#: templates/js/translated/order.js:1087
+msgid "Target Date"
msgstr ""
-#: build/templates/build/build_base.html:81
-#: build/templates/build/build_base.html:150
-#: order/templates/order/order_base.html:32
-#: order/templates/order/order_base.html:86
-#: order/templates/order/sales_order_base.html:43
-#: order/templates/order/sales_order_base.html:93
-#: templates/js/translated/table_filters.js:272
-#: templates/js/translated/table_filters.js:300
-#: templates/js/translated/table_filters.js:317
-msgid "Overdue"
-msgstr ""
-
-#: build/templates/build/build_base.html:90
-msgid "Print actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:94
-msgid "Print Build Order"
-msgstr ""
-
-#: build/templates/build/build_base.html:100
-#: build/templates/build/build_base.html:222
-msgid "Complete Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:105
-msgid "Build actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:109
-msgid "Edit Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:111
-#: build/templates/build/build_base.html:206 build/views.py:56
-msgid "Cancel Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:114
-msgid "Delete Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:124
-#: build/templates/build/detail.html:15
-msgid "Build Details"
-msgstr ""
-
-#: build/templates/build/build_base.html:150
+#: build/templates/build/build_base.html:143
#, python-format
msgid "This build was due on %(target)s"
msgstr ""
-#: build/templates/build/build_base.html:157
-#: build/templates/build/detail.html:67
-msgid "Progress"
+#: build/templates/build/build_base.html:143
+#: build/templates/build/build_base.html:188
+#: order/templates/order/order_base.html:81
+#: order/templates/order/order_base.html:102
+#: order/templates/order/sales_order_base.html:78
+#: order/templates/order/sales_order_base.html:107
+#: templates/js/translated/table_filters.js:288
+#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:333
+msgid "Overdue"
msgstr ""
-#: build/templates/build/build_base.html:170
-#: build/templates/build/detail.html:87 order/models.py:848
+#: build/templates/build/build_base.html:150
+#: build/templates/build/detail.html:68 build/templates/build/detail.html:143
+#: templates/js/translated/build.js:1641
+#: templates/js/translated/table_filters.js:298
+msgid "Completed"
+msgstr ""
+
+#: build/templates/build/build_base.html:163
+#: build/templates/build/detail.html:95 order/models.py:857
#: order/templates/order/sales_order_base.html:9
-#: order/templates/order/sales_order_base.html:35
+#: order/templates/order/sales_order_base.html:28
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:293
-#: templates/js/translated/order.js:1016
+#: stock/templates/stock/item_base.html:280
+#: templates/js/translated/order.js:1029
msgid "Sales Order"
msgstr ""
-#: build/templates/build/build_base.html:177
-#: build/templates/build/detail.html:101
+#: build/templates/build/build_base.html:170
+#: build/templates/build/detail.html:109
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:214
+#: build/templates/build/build_base.html:215
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:215
+#: build/templates/build/build_base.html:216
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
@@ -1175,220 +1148,195 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/templates/build/complete_output.html:10
-msgid "Stock allocation is complete for this output"
+#: build/templates/build/detail.html:16
+msgid "Build Details"
msgstr ""
-#: build/templates/build/complete_output.html:14
-msgid "Stock allocation is incomplete"
-msgstr ""
-
-#: build/templates/build/complete_output.html:20
-msgid "tracked parts have not been fully allocated"
-msgstr ""
-
-#: build/templates/build/complete_output.html:41
-msgid "The following items will be created"
-msgstr ""
-
-#: build/templates/build/detail.html:38
+#: build/templates/build/detail.html:39
msgid "Stock Source"
msgstr ""
-#: build/templates/build/detail.html:43
+#: build/templates/build/detail.html:44
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134
-#: templates/js/translated/order.js:431 templates/js/translated/order.js:939
+#: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150
+#: templates/js/translated/order.js:432 templates/js/translated/order.js:952
msgid "Destination"
msgstr ""
-#: build/templates/build/detail.html:56
+#: build/templates/build/detail.html:57
msgid "Destination location not specified"
msgstr ""
-#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:317
-#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852
-#: templates/js/translated/table_filters.js:129
-#: templates/js/translated/table_filters.js:211
+#: build/templates/build/detail.html:74 templates/js/translated/build.js:647
+msgid "Allocated Parts"
+msgstr ""
+
+#: build/templates/build/detail.html:81
+#: stock/templates/stock/item_base.html:304
+#: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164
+#: templates/js/translated/table_filters.js:145
+#: templates/js/translated/table_filters.js:227
msgid "Batch"
msgstr ""
-#: build/templates/build/detail.html:119
-#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:118
-#: templates/js/translated/build.js:1259
+#: build/templates/build/detail.html:127
+#: order/templates/order/order_base.html:127
+#: order/templates/order/sales_order_base.html:134
+#: templates/js/translated/build.js:1663
msgid "Created"
msgstr ""
-#: build/templates/build/detail.html:130
+#: build/templates/build/detail.html:138
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237
-#: templates/js/translated/table_filters.js:282
-msgid "Completed"
-msgstr ""
-
-#: build/templates/build/detail.html:139
+#: build/templates/build/detail.html:147
msgid "Build not complete"
msgstr ""
-#: build/templates/build/detail.html:150 build/templates/build/navbar.html:35
+#: build/templates/build/detail.html:158
msgid "Child Build Orders"
msgstr ""
-#: build/templates/build/detail.html:166
+#: build/templates/build/detail.html:173
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:172
-msgid "Allocate stock to build"
-msgstr ""
-
-#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20
-#: build/templates/build/navbar.html:23
-msgid "Allocate Stock"
-msgstr ""
-
-#: build/templates/build/detail.html:175 templates/js/translated/build.js:817
+#: build/templates/build/detail.html:177 templates/js/translated/build.js:1202
msgid "Unallocate stock"
msgstr ""
-#: build/templates/build/detail.html:176 build/views.py:257
+#: build/templates/build/detail.html:178
msgid "Unallocate Stock"
msgstr ""
-#: build/templates/build/detail.html:179
+#: build/templates/build/detail.html:180
+msgid "Allocate stock to build"
+msgstr ""
+
+#: build/templates/build/detail.html:181
+msgid "Allocate Stock"
+msgstr ""
+
+#: build/templates/build/detail.html:184
msgid "Order required parts"
msgstr ""
-#: build/templates/build/detail.html:180
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72 order/views.py:509
-#: part/templates/part/category.html:140
+#: build/templates/build/detail.html:185
+#: company/templates/company/detail.html:38
+#: company/templates/company/detail.html:85 order/views.py:509
+#: part/templates/part/category.html:166
msgid "Order Parts"
msgstr ""
-#: build/templates/build/detail.html:186
+#: build/templates/build/detail.html:197
msgid "Untracked stock has been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:190
+#: build/templates/build/detail.html:201
msgid "Untracked stock has not been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:197
+#: build/templates/build/detail.html:208
msgid "Allocate selected items"
msgstr ""
-#: build/templates/build/detail.html:209
+#: build/templates/build/detail.html:218
msgid "This Build Order does not have any associated untracked BOM items"
msgstr ""
-#: build/templates/build/detail.html:218
+#: build/templates/build/detail.html:227
msgid "Incomplete Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:223
+#: build/templates/build/detail.html:231
msgid "Create new build output"
msgstr ""
-#: build/templates/build/detail.html:224
-msgid "Create New Output"
+#: build/templates/build/detail.html:232
+msgid "New Build Output"
msgstr ""
-#: build/templates/build/detail.html:237
-msgid "Create a new build output"
+#: build/templates/build/detail.html:246
+msgid "Output Actions"
msgstr ""
-#: build/templates/build/detail.html:238
-msgid "No incomplete build outputs remain."
+#: build/templates/build/detail.html:250
+msgid "Complete selected items"
msgstr ""
-#: build/templates/build/detail.html:239
-msgid "Create a new build output using the button above"
+#: build/templates/build/detail.html:251
+msgid "Complete outputs"
msgstr ""
-#: build/templates/build/detail.html:247
+#: build/templates/build/detail.html:266
msgid "Completed Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42
-#: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35
-#: order/templates/order/sales_order_detail.html:43
-#: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173
-#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117
-#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47
-#: stock/templates/stock/navbar.html:50
+#: build/templates/build/detail.html:278
+#: order/templates/order/purchase_order_detail.html:60
+#: order/templates/order/sales_order_detail.html:52
+#: part/templates/part/detail.html:300 stock/templates/stock/item.html:95
msgid "Attachments"
msgstr ""
-#: build/templates/build/detail.html:269
+#: build/templates/build/detail.html:294
msgid "Build Notes"
msgstr ""
-#: build/templates/build/detail.html:273 build/templates/build/detail.html:414
-#: company/templates/company/detail.html:169
-#: company/templates/company/detail.html:196
-#: order/templates/order/purchase_order_detail.html:71
-#: order/templates/order/purchase_order_detail.html:104
-#: order/templates/order/sales_order_detail.html:58
-#: order/templates/order/sales_order_detail.html:85
-#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103
-#: stock/templates/stock/item.html:188
+#: build/templates/build/detail.html:298 build/templates/build/detail.html:489
+#: company/templates/company/detail.html:188
+#: company/templates/company/detail.html:215
+#: order/templates/order/purchase_order_detail.html:80
+#: order/templates/order/purchase_order_detail.html:108
+#: order/templates/order/sales_order_detail.html:72
+#: order/templates/order/sales_order_detail.html:99
+#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115
+#: stock/templates/stock/item.html:205
msgid "Edit Notes"
msgstr ""
-#: build/templates/build/detail.html:373
-#: order/templates/order/po_attachments.html:79
-#: order/templates/order/purchase_order_detail.html:166
-#: order/templates/order/sales_order_detail.html:146
-#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253
-#: templates/attachment_table.html:6
+#: build/templates/build/detail.html:448
+#: order/templates/order/purchase_order_detail.html:170
+#: order/templates/order/sales_order_detail.html:160
+#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270
+#: templates/attachment_button.html:4
msgid "Add Attachment"
msgstr ""
-#: build/templates/build/detail.html:392
-#: order/templates/order/po_attachments.html:51
-#: order/templates/order/purchase_order_detail.html:138
-#: order/templates/order/sales_order_detail.html:119
-#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221
+#: build/templates/build/detail.html:467
+#: order/templates/order/purchase_order_detail.html:142
+#: order/templates/order/sales_order_detail.html:133
+#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238
msgid "Edit Attachment"
msgstr ""
-#: build/templates/build/detail.html:399
-#: order/templates/order/po_attachments.html:58
-#: order/templates/order/purchase_order_detail.html:145
-#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230
-#: templates/js/translated/order.js:1230
+#: build/templates/build/detail.html:474
+#: order/templates/order/purchase_order_detail.html:149
+#: order/templates/order/sales_order_detail.html:139
+#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247
+#: templates/js/translated/order.js:1243
msgid "Confirm Delete Operation"
msgstr ""
-#: build/templates/build/detail.html:400
-#: order/templates/order/po_attachments.html:59
-#: order/templates/order/purchase_order_detail.html:146
-#: order/templates/order/sales_order_detail.html:126
-#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231
+#: build/templates/build/detail.html:475
+#: order/templates/order/purchase_order_detail.html:150
+#: order/templates/order/sales_order_detail.html:140
+#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248
msgid "Delete Attachment"
msgstr ""
-#: build/templates/build/detail.html:443
+#: build/templates/build/detail.html:513
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:444
+#: build/templates/build/detail.html:514
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/edit_build_item.html:7
-msgid "Alter the quantity of stock allocated to the build output"
-msgstr ""
-
-#: build/templates/build/index.html:28
+#: build/templates/build/index.html:18 part/templates/part/detail.html:433
msgid "New Build Order"
msgstr ""
@@ -1396,47 +1344,18 @@ msgstr ""
msgid "Print Build Orders"
msgstr ""
-#: build/templates/build/index.html:43
-#: order/templates/order/purchase_orders.html:27
-#: order/templates/order/sales_orders.html:27
+#: build/templates/build/index.html:44
+#: order/templates/order/purchase_orders.html:34
+#: order/templates/order/sales_orders.html:37
msgid "Display calendar view"
msgstr ""
-#: build/templates/build/index.html:46
-#: order/templates/order/purchase_orders.html:30
-#: order/templates/order/sales_orders.html:30
+#: build/templates/build/index.html:47
+#: order/templates/order/purchase_orders.html:37
+#: order/templates/order/sales_orders.html:40
msgid "Display list view"
msgstr ""
-#: build/templates/build/navbar.html:12
-msgid "Build Order Details"
-msgstr ""
-
-#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/translated/stock.js:1534
-msgid "Details"
-msgstr ""
-
-#: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31
-msgid "Build Outputs"
-msgstr ""
-
-#: build/templates/build/navbar.html:38
-msgid "Child Builds"
-msgstr ""
-
-#: build/templates/build/navbar.html:49
-msgid "Build Order Notes"
-msgstr ""
-
-#: build/templates/build/unallocate.html:10
-msgid "Are you sure you wish to unallocate all stock for this build?"
-msgstr ""
-
-#: build/templates/build/unallocate.html:12
-msgid "All incomplete stock allocations will be removed from the build"
-msgstr ""
-
#: build/views.py:76
msgid "Build was cancelled"
msgstr ""
@@ -1449,7 +1368,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:122 stock/views.py:1366
+#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290
msgid "Serial numbers already exist"
msgstr ""
@@ -1461,11 +1380,11 @@ msgstr ""
msgid "Delete Build Output"
msgstr ""
-#: build/views.py:218 build/views.py:308
+#: build/views.py:218
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:219 build/views.py:309 stock/views.py:381
+#: build/views.py:219 stock/views.py:385
msgid "Check the confirmation box"
msgstr ""
@@ -1473,7 +1392,7 @@ msgstr ""
msgid "Build output does not match build"
msgstr ""
-#: build/views.py:233 build/views.py:434
+#: build/views.py:233
msgid "Build output must be specified"
msgstr ""
@@ -1481,39 +1400,19 @@ msgstr ""
msgid "Build output deleted"
msgstr ""
-#: build/views.py:343
+#: build/views.py:261
msgid "Complete Build Order"
msgstr ""
-#: build/views.py:349
+#: build/views.py:267
msgid "Build order cannot be completed - incomplete outputs remain"
msgstr ""
-#: build/views.py:360
+#: build/views.py:278
msgid "Completed build order"
msgstr ""
-#: build/views.py:376
-msgid "Complete Build Output"
-msgstr ""
-
-#: build/views.py:418
-msgid "Invalid stock status value selected"
-msgstr ""
-
-#: build/views.py:425
-msgid "Quantity to complete cannot exceed build output quantity"
-msgstr ""
-
-#: build/views.py:431
-msgid "Confirm completion of incomplete build"
-msgstr ""
-
-#: build/views.py:530
-msgid "Build output completed"
-msgstr ""
-
-#: build/views.py:567
+#: build/views.py:319
msgid "Delete Build Order"
msgstr ""
@@ -1554,728 +1453,728 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:308 common/models.py:887 common/models.py:1048
+#: common/models.py:340 common/models.py:970 common/models.py:1178
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:310
+#: common/models.py:342
msgid "Settings value"
msgstr ""
-#: common/models.py:345
+#: common/models.py:377
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:368
+#: common/models.py:382
+msgid "Chosen value is not a valid option"
+msgstr ""
+
+#: common/models.py:405
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:379
+#: common/models.py:416
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:402
+#: common/models.py:439
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:509
+#: common/models.py:559
+msgid "No group"
+msgstr ""
+
+#: common/models.py:601
+msgid "Restart required"
+msgstr ""
+
+#: common/models.py:602
+msgid "A setting has been changed which requires a server restart"
+msgstr ""
+
+#: common/models.py:609
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:511
+#: common/models.py:611
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:515
+#: common/models.py:615
msgid "Use instance name"
msgstr ""
-#: common/models.py:516
+#: common/models.py:616
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:522 company/models.py:100 company/models.py:101
+#: common/models.py:622 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr ""
-#: common/models.py:523
+#: common/models.py:623
msgid "Internal company name"
msgstr ""
-#: common/models.py:528
+#: common/models.py:628
msgid "Base URL"
msgstr ""
-#: common/models.py:529
+#: common/models.py:629
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:535
+#: common/models.py:635
msgid "Default Currency"
msgstr ""
-#: common/models.py:536
+#: common/models.py:636
msgid "Default currency"
msgstr ""
-#: common/models.py:542
+#: common/models.py:642
msgid "Download from URL"
msgstr ""
-#: common/models.py:543
+#: common/models.py:643
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:549
+#: common/models.py:649
msgid "Barcode Support"
msgstr ""
-#: common/models.py:550
+#: common/models.py:650
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:556
+#: common/models.py:656
msgid "IPN Regex"
msgstr ""
-#: common/models.py:557
+#: common/models.py:657
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:561
+#: common/models.py:661
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:562
+#: common/models.py:662
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:568
+#: common/models.py:668
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:569
+#: common/models.py:669
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:575
+#: common/models.py:675
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:576
+#: common/models.py:676
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:582
+#: common/models.py:682
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:583
+#: common/models.py:683
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:589
+#: common/models.py:689
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:590
+#: common/models.py:690
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:596
+#: common/models.py:696
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:597
+#: common/models.py:697
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:603 part/models.py:2256 report/models.py:187
-#: stock/forms.py:224 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:351
+#: common/models.py:703 part/models.py:2429 report/models.py:187
+#: templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:367
msgid "Template"
msgstr ""
-#: common/models.py:604
+#: common/models.py:704
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:610 part/models.py:806
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:363
+#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954
+#: templates/js/translated/table_filters.js:162
+#: templates/js/translated/table_filters.js:379
msgid "Assembly"
msgstr ""
-#: common/models.py:611
+#: common/models.py:711
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:617 part/models.py:812
-#: templates/js/translated/table_filters.js:367
+#: common/models.py:717 part/models.py:894
+#: templates/js/translated/table_filters.js:383
msgid "Component"
msgstr ""
-#: common/models.py:618
+#: common/models.py:718
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:624 part/models.py:823
+#: common/models.py:724 part/models.py:905
msgid "Purchaseable"
msgstr ""
-#: common/models.py:625
+#: common/models.py:725
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:631 part/models.py:828
-#: templates/js/translated/table_filters.js:375
+#: common/models.py:731 part/models.py:910
+#: templates/js/translated/table_filters.js:391
msgid "Salable"
msgstr ""
-#: common/models.py:632
+#: common/models.py:732
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:638 part/models.py:818
+#: common/models.py:738 part/models.py:900
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:379
+#: templates/js/translated/table_filters.js:94
+#: templates/js/translated/table_filters.js:395
msgid "Trackable"
msgstr ""
-#: common/models.py:639
+#: common/models.py:739
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:645 part/models.py:838
-#: part/templates/part/part_base.html:66
+#: common/models.py:745 part/models.py:920
+#: part/templates/part/part_base.html:144
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:646
+#: common/models.py:746
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:652
+#: common/models.py:752
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:653
+#: common/models.py:753
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:659
+#: common/models.py:759
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:660
+#: common/models.py:760
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:671
+#: common/models.py:771
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:672
+#: common/models.py:772
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:678
+#: common/models.py:778
msgid "Show related parts"
msgstr ""
-#: common/models.py:679
+#: common/models.py:779
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:685
+#: common/models.py:785
msgid "Create initial stock"
msgstr ""
-#: common/models.py:686
+#: common/models.py:786
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:692
+#: common/models.py:792
msgid "Internal Prices"
msgstr ""
-#: common/models.py:693
+#: common/models.py:793
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:699
+#: common/models.py:799
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:700
+#: common/models.py:800
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:706 templates/stats.html:25
+#: common/models.py:806
+msgid "Part Name Display Format"
+msgstr ""
+
+#: common/models.py:807
+msgid "Format to display the part name"
+msgstr ""
+
+#: common/models.py:814
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:815
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:821 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:707
+#: common/models.py:822
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:713
+#: common/models.py:828
msgid "Page Size"
msgstr ""
-#: common/models.py:714
+#: common/models.py:829
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:724
+#: common/models.py:839
msgid "Test Reports"
msgstr ""
-#: common/models.py:725
+#: common/models.py:840
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:731
+#: common/models.py:846
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:732
+#: common/models.py:847
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:738
+#: common/models.py:853
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:739
+#: common/models.py:854
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:745
+#: common/models.py:860
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:746
+#: common/models.py:861
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:748
+#: common/models.py:863
msgid "days"
msgstr ""
-#: common/models.py:753
+#: common/models.py:868
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:754
+#: common/models.py:869
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:760
+#: common/models.py:875
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:761
+#: common/models.py:876
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:767
+#: common/models.py:882
msgid "Group by Part"
msgstr ""
-#: common/models.py:768
+#: common/models.py:883
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:774
+#: common/models.py:889
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:775
+#: common/models.py:890
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:780
+#: common/models.py:895
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:781
+#: common/models.py:896
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:785
+#: common/models.py:900
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:786
+#: common/models.py:901
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:791
+#: common/models.py:906
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:792
+#: common/models.py:907
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:798
-msgid "Enable build"
-msgstr ""
-
-#: common/models.py:799
-msgid "Enable build functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:804
-msgid "Enable buy"
-msgstr ""
-
-#: common/models.py:805
-msgid "Enable buy functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:810
-msgid "Enable sell"
-msgstr ""
-
-#: common/models.py:811
-msgid "Enable sell functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:816
-msgid "Enable stock"
-msgstr ""
-
-#: common/models.py:817
-msgid "Enable stock functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:822
-msgid "Enable SO"
-msgstr ""
-
-#: common/models.py:823
-msgid "Enable SO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:828
-msgid "Enable PO"
-msgstr ""
-
-#: common/models.py:829
-msgid "Enable PO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:836
+#: common/models.py:913
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:837
-msgid "Enable password forgot function on the login-pages"
+#: common/models.py:914
+msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:842
+#: common/models.py:919
msgid "Enable registration"
msgstr ""
-#: common/models.py:843
-msgid "Enable self-registration for users on the login-pages"
+#: common/models.py:920
+msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:848
+#: common/models.py:925
msgid "Enable SSO"
msgstr ""
-#: common/models.py:849
-msgid "Enable SSO on the login-pages"
+#: common/models.py:926
+msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:854
-msgid "E-Mail required"
+#: common/models.py:931
+msgid "Email required"
msgstr ""
-#: common/models.py:855
+#: common/models.py:932
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:860
+#: common/models.py:937
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:861
+#: common/models.py:938
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:943
msgid "Mail twice"
msgstr ""
-#: common/models.py:867
+#: common/models.py:944
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:872
+#: common/models.py:949
msgid "Password twice"
msgstr ""
-#: common/models.py:873
+#: common/models.py:950
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:898
-msgid "Show starred parts"
+#: common/models.py:955
+msgid "Group on signup"
msgstr ""
-#: common/models.py:899
-msgid "Show starred parts on the homepage"
+#: common/models.py:956
+msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:904
-msgid "Show latest parts"
-msgstr ""
-
-#: common/models.py:905
-msgid "Show latest parts on the homepage"
-msgstr ""
-
-#: common/models.py:910
-msgid "Recent Part Count"
-msgstr ""
-
-#: common/models.py:911
-msgid "Number of recent parts to display on index page"
-msgstr ""
-
-#: common/models.py:917
-msgid "Show unvalidated BOMs"
-msgstr ""
-
-#: common/models.py:918
-msgid "Show BOMs that await validation on the homepage"
-msgstr ""
-
-#: common/models.py:923
-msgid "Show recent stock changes"
-msgstr ""
-
-#: common/models.py:924
-msgid "Show recently changed stock items on the homepage"
-msgstr ""
-
-#: common/models.py:929
-msgid "Recent Stock Count"
-msgstr ""
-
-#: common/models.py:930
-msgid "Number of recent stock items to display on index page"
-msgstr ""
-
-#: common/models.py:935
-msgid "Show low stock"
-msgstr ""
-
-#: common/models.py:936
-msgid "Show low stock items on the homepage"
-msgstr ""
-
-#: common/models.py:941
-msgid "Show depleted stock"
-msgstr ""
-
-#: common/models.py:942
-msgid "Show depleted stock items on the homepage"
-msgstr ""
-
-#: common/models.py:947
-msgid "Show needed stock"
-msgstr ""
-
-#: common/models.py:948
-msgid "Show stock items needed for builds on the homepage"
-msgstr ""
-
-#: common/models.py:953
-msgid "Show expired stock"
-msgstr ""
-
-#: common/models.py:954
-msgid "Show expired stock items on the homepage"
-msgstr ""
-
-#: common/models.py:959
-msgid "Show stale stock"
-msgstr ""
-
-#: common/models.py:960
-msgid "Show stale stock items on the homepage"
-msgstr ""
-
-#: common/models.py:965
-msgid "Show pending builds"
-msgstr ""
-
-#: common/models.py:966
-msgid "Show pending builds on the homepage"
-msgstr ""
-
-#: common/models.py:971
-msgid "Show overdue builds"
-msgstr ""
-
-#: common/models.py:972
-msgid "Show overdue builds on the homepage"
-msgstr ""
-
-#: common/models.py:977
-msgid "Show outstanding POs"
-msgstr ""
-
-#: common/models.py:978
-msgid "Show outstanding POs on the homepage"
-msgstr ""
-
-#: common/models.py:983
-msgid "Show overdue POs"
-msgstr ""
-
-#: common/models.py:984
-msgid "Show overdue POs on the homepage"
-msgstr ""
-
-#: common/models.py:989
-msgid "Show outstanding SOs"
-msgstr ""
-
-#: common/models.py:990
-msgid "Show outstanding SOs on the homepage"
-msgstr ""
-
-#: common/models.py:995
-msgid "Show overdue SOs"
-msgstr ""
-
-#: common/models.py:996
-msgid "Show overdue SOs on the homepage"
+#: common/models.py:1001
+msgid "Show subscribed parts"
msgstr ""
#: common/models.py:1002
+msgid "Show subscribed parts on the homepage"
+msgstr ""
+
+#: common/models.py:1007
+msgid "Show subscribed categories"
+msgstr ""
+
+#: common/models.py:1008
+msgid "Show subscribed part categories on the homepage"
+msgstr ""
+
+#: common/models.py:1013
+msgid "Show latest parts"
+msgstr ""
+
+#: common/models.py:1014
+msgid "Show latest parts on the homepage"
+msgstr ""
+
+#: common/models.py:1019
+msgid "Recent Part Count"
+msgstr ""
+
+#: common/models.py:1020
+msgid "Number of recent parts to display on index page"
+msgstr ""
+
+#: common/models.py:1026
+msgid "Show unvalidated BOMs"
+msgstr ""
+
+#: common/models.py:1027
+msgid "Show BOMs that await validation on the homepage"
+msgstr ""
+
+#: common/models.py:1032
+msgid "Show recent stock changes"
+msgstr ""
+
+#: common/models.py:1033
+msgid "Show recently changed stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1038
+msgid "Recent Stock Count"
+msgstr ""
+
+#: common/models.py:1039
+msgid "Number of recent stock items to display on index page"
+msgstr ""
+
+#: common/models.py:1044
+msgid "Show low stock"
+msgstr ""
+
+#: common/models.py:1045
+msgid "Show low stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1050
+msgid "Show depleted stock"
+msgstr ""
+
+#: common/models.py:1051
+msgid "Show depleted stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1056
+msgid "Show needed stock"
+msgstr ""
+
+#: common/models.py:1057
+msgid "Show stock items needed for builds on the homepage"
+msgstr ""
+
+#: common/models.py:1062
+msgid "Show expired stock"
+msgstr ""
+
+#: common/models.py:1063
+msgid "Show expired stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1068
+msgid "Show stale stock"
+msgstr ""
+
+#: common/models.py:1069
+msgid "Show stale stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1074
+msgid "Show pending builds"
+msgstr ""
+
+#: common/models.py:1075
+msgid "Show pending builds on the homepage"
+msgstr ""
+
+#: common/models.py:1080
+msgid "Show overdue builds"
+msgstr ""
+
+#: common/models.py:1081
+msgid "Show overdue builds on the homepage"
+msgstr ""
+
+#: common/models.py:1086
+msgid "Show outstanding POs"
+msgstr ""
+
+#: common/models.py:1087
+msgid "Show outstanding POs on the homepage"
+msgstr ""
+
+#: common/models.py:1092
+msgid "Show overdue POs"
+msgstr ""
+
+#: common/models.py:1093
+msgid "Show overdue POs on the homepage"
+msgstr ""
+
+#: common/models.py:1098
+msgid "Show outstanding SOs"
+msgstr ""
+
+#: common/models.py:1099
+msgid "Show outstanding SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Show overdue SOs"
+msgstr ""
+
+#: common/models.py:1105
+msgid "Show overdue SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1111
msgid "Inline label display"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1112
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1118
msgid "Inline report display"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1119
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1125
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1126
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:1023
+#: common/models.py:1132
+msgid "Search Show Stock"
+msgstr ""
+
+#: common/models.py:1133
+msgid "Display stock levels in search preview window"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Hide Inactive Parts"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Hide inactive parts in search preview window"
+msgstr ""
+
+#: common/models.py:1146
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1024
+#: common/models.py:1147
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1153
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1154
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1088 company/forms.py:43
+#: common/models.py:1160
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1161
+msgid "InvenTree navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1226 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1095 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1369
+#: common/models.py:1233 company/serializers.py:264
+#: company/templates/company/supplier_part.html:256
+#: templates/js/translated/part.js:1508
msgid "Price"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1234
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1189
-msgid "Default"
-msgstr ""
-
-#: common/templates/common/edit_setting.html:11
-msgid "Current value"
-msgstr ""
-
-#: common/views.py:33
-msgid "Change Setting"
-msgstr ""
-
-#: common/views.py:119
-msgid "Supplied value is not allowed"
-msgstr ""
-
-#: common/views.py:128
-msgid "Supplied value must be a boolean"
-msgstr ""
-
-#: common/views.py:138
-msgid "Change User Setting"
-msgstr ""
-
-#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42
-#: order/templates/order/po_navbar.html:19
-#: order/templates/order/po_navbar.html:22
-#: order/templates/order/purchase_order_detail.html:27 order/views.py:289
-#: part/templates/part/bom_upload/upload_file.html:65
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
-#: part/views.py:882
+#: common/views.py:93 order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:289
+#: part/templates/part/bom_upload/upload_file.html:51
+#: part/templates/part/import_wizard/part_upload.html:46 part/views.py:281
+#: part/views.py:923
msgid "Upload File"
msgstr ""
-#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
+#: common/views.py:94 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
-#: part/views.py:883
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:282
+#: part/views.py:924
msgid "Match Fields"
msgstr ""
-#: common/views.py:215
+#: common/views.py:95
msgid "Match Items"
msgstr ""
-#: common/views.py:560
+#: common/views.py:440
msgid "Fields matching failed"
msgstr ""
-#: common/views.py:615
+#: common/views.py:495
msgid "Parts imported"
msgstr ""
-#: common/views.py:637 order/templates/order/order_wizard/match_fields.html:27
+#: common/views.py:517 order/templates/order/order_wizard/match_fields.html:27
#: order/templates/order/order_wizard/match_parts.html:19
-#: order/templates/order/order_wizard/po_upload.html:40
+#: order/templates/order/order_wizard/po_upload.html:46
#: part/templates/part/bom_upload/match_fields.html:27
#: part/templates/part/bom_upload/match_parts.html:19
-#: part/templates/part/bom_upload/upload_file.html:63
+#: part/templates/part/bom_upload/upload_file.html:49
#: part/templates/part/import_wizard/match_fields.html:27
#: part/templates/part/import_wizard/match_references.html:19
-#: part/templates/part/import_wizard/part_upload.html:43
+#: part/templates/part/import_wizard/part_upload.html:44
msgid "Previous Step"
msgstr ""
@@ -2321,6 +2220,7 @@ msgid "Contact phone number"
msgstr ""
#: company/models.py:125 company/templates/company/company_base.html:102
+#: templates/InvenTree/settings/user.html:46
msgid "Email"
msgstr ""
@@ -2337,10 +2237,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:131 company/models.py:348 company/models.py:564
-#: order/models.py:160 part/models.py:715
+#: order/models.py:163 part/models.py:797
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:536
-#: templates/js/translated/company.js:825 templates/js/translated/part.js:983
+#: templates/js/translated/company.js:825 templates/js/translated/part.js:984
msgid "Link"
msgstr ""
@@ -2348,7 +2248,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:725
+#: company/models.py:139 part/models.py:807
msgid "Image"
msgstr ""
@@ -2376,8 +2276,8 @@ msgstr ""
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:152 company/serializers.py:264
-#: company/templates/company/company_base.html:76 stock/serializers.py:158
+#: company/models.py:152 company/serializers.py:270
+#: company/templates/company/company_base.html:76 stock/serializers.py:172
msgid "Currency"
msgstr ""
@@ -2385,8 +2285,8 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:454
-#: stock/templates/stock/item_base.html:237
+#: company/models.py:320 company/models.py:535 stock/models.py:484
+#: stock/templates/stock/item_base.html:224
msgid "Base Part"
msgstr ""
@@ -2395,28 +2295,28 @@ msgid "Select part"
msgstr ""
#: company/models.py:335 company/templates/company/company_base.html:116
-#: company/templates/company/manufacturer_part.html:89
-#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:247 stock/templates/stock/item_base.html:366
+#: company/templates/company/manufacturer_part.html:93
+#: company/templates/company/supplier_part.html:104
+#: stock/templates/stock/item_base.html:353
#: templates/js/translated/company.js:332
#: templates/js/translated/company.js:513
-#: templates/js/translated/company.js:796 templates/js/translated/part.js:227
+#: templates/js/translated/company.js:796 templates/js/translated/part.js:228
msgid "Manufacturer"
msgstr ""
-#: company/models.py:336 templates/js/translated/part.js:228
+#: company/models.py:336 templates/js/translated/part.js:229
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:342 company/templates/company/manufacturer_part.html:93
-#: company/templates/company/supplier_part.html:106 part/bom.py:171
-#: part/bom.py:248 templates/js/translated/company.js:529
-#: templates/js/translated/company.js:814 templates/js/translated/order.js:851
-#: templates/js/translated/part.js:238
+#: company/models.py:342 company/templates/company/manufacturer_part.html:97
+#: company/templates/company/supplier_part.html:112
+#: templates/js/translated/company.js:529
+#: templates/js/translated/company.js:814 templates/js/translated/order.js:852
+#: templates/js/translated/part.js:239
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:239
+#: company/models.py:343 templates/js/translated/part.js:240
msgid "Manufacturer Part Number"
msgstr ""
@@ -2431,7 +2331,7 @@ msgstr ""
#: company/models.py:409 company/models.py:558
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:376
+#: stock/templates/stock/item_base.html:363
msgid "Manufacturer Part"
msgstr ""
@@ -2440,10 +2340,9 @@ msgid "Parameter name"
msgstr ""
#: company/models.py:422
-#: report/templates/report/inventree_test_report_base.html:90
-#: stock/models.py:1816 templates/InvenTree/settings/header.html:8
-#: templates/js/translated/company.js:643 templates/js/translated/part.js:623
-#: templates/js/translated/stock.js:555
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:1867 templates/js/translated/company.js:643
+#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848
msgid "Value"
msgstr ""
@@ -2451,8 +2350,9 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:800 part/models.py:2224
-#: templates/js/translated/company.js:649 templates/js/translated/part.js:629
+#: company/models.py:429 part/models.py:882 part/models.py:2397
+#: part/templates/part/detail.html:59 templates/js/translated/company.js:649
+#: templates/js/translated/part.js:650
msgid "Units"
msgstr ""
@@ -2465,27 +2365,27 @@ msgid "Linked manufacturer part must reference the same base part"
msgstr ""
#: company/models.py:545 company/templates/company/company_base.html:121
-#: company/templates/company/supplier_part.html:88 order/models.py:260
-#: order/templates/order/order_base.html:92
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:292 stock/templates/stock/item_base.html:383
+#: company/templates/company/supplier_part.html:94 order/models.py:263
+#: order/templates/order/order_base.html:108
+#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219
+#: part/bom.py:247 stock/templates/stock/item_base.html:370
#: templates/js/translated/company.js:336
-#: templates/js/translated/company.js:770 templates/js/translated/order.js:659
-#: templates/js/translated/part.js:208
+#: templates/js/translated/company.js:770 templates/js/translated/order.js:660
+#: templates/js/translated/part.js:209
msgid "Supplier"
msgstr ""
-#: company/models.py:546 templates/js/translated/part.js:209
+#: company/models.py:546 templates/js/translated/part.js:210
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:92
-#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838
-#: templates/js/translated/part.js:219
+#: company/models.py:551 company/templates/company/supplier_part.html:98
+#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:839
+#: templates/js/translated/part.js:220
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:220
+#: company/models.py:552 templates/js/translated/part.js:221
msgid "Supplier stock keeping unit"
msgstr ""
@@ -2501,23 +2401,23 @@ msgstr ""
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:120
-#: part/models.py:2389 report/templates/report/inventree_po_report.html:93
+#: company/models.py:576 company/templates/company/supplier_part.html:126
+#: part/models.py:2588 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:113
-#: stock/models.py:478 stock/templates/stock/item_base.html:324
-#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036
+#: company/models.py:582 company/templates/company/supplier_part.html:119
+#: stock/models.py:507 stock/templates/stock/item_base.html:311
+#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336
msgid "Packaging"
msgstr ""
@@ -2525,7 +2425,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1605
+#: company/models.py:584 part/models.py:1750
msgid "multiple"
msgstr ""
@@ -2533,46 +2433,42 @@ msgstr ""
msgid "Order multiple"
msgstr ""
-#: company/serializers.py:68
+#: company/serializers.py:70
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:69
+#: company/serializers.py:71
msgid "Currency Code"
msgstr ""
-#: company/templates/company/company_base.html:9
-#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321
+#: company/templates/company/company_base.html:8
+#: company/templates/company/company_base.html:12
+#: templates/InvenTree/search.html:182 templates/js/translated/company.js:321
msgid "Company"
msgstr ""
-#: company/templates/company/company_base.html:25
-#: part/templates/part/part_thumb.html:21
-msgid "Upload new image"
-msgstr ""
-
-#: company/templates/company/company_base.html:27
-#: part/templates/part/part_thumb.html:23
-msgid "Download image from URL"
-msgstr ""
-
-#: company/templates/company/company_base.html:46
-#: templates/js/translated/order.js:120
+#: company/templates/company/company_base.html:22
+#: templates/js/translated/order.js:121
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:51
+#: company/templates/company/company_base.html:27
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:56
-#: company/templates/company/company_base.html:153
+#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:148
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:64
-msgid "Company Details"
+#: company/templates/company/company_base.html:48
+#: part/templates/part/part_thumb.html:12
+msgid "Upload new image"
+msgstr ""
+
+#: company/templates/company/company_base.html:51
+#: part/templates/part/part_thumb.html:14
+msgid "Download image from URL"
msgstr ""
#: company/templates/company/company_base.html:81
@@ -2583,145 +2479,133 @@ msgstr ""
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:126 order/models.py:558
-#: order/templates/order/sales_order_base.html:99 stock/models.py:496
-#: stock/models.py:497 stock/templates/stock/item_base.html:276
-#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038
-#: templates/js/translated/stock.js:1587
+#: company/templates/company/company_base.html:126 order/models.py:567
+#: order/templates/order/sales_order_base.html:114 stock/models.py:525
+#: stock/models.py:526 stock/templates/stock/item_base.html:263
+#: templates/js/translated/company.js:328 templates/js/translated/order.js:1051
+#: templates/js/translated/stock.js:1972
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:199
-#: part/templates/part/part_base.html:424
+#: company/templates/company/company_base.html:194
+#: part/templates/part/part_base.html:342
msgid "Upload Image"
msgstr ""
-#: company/templates/company/detail.html:14
-#: company/templates/company/manufacturer_part_navbar.html:18
-#: templates/InvenTree/search.html:150
+#: company/templates/company/detail.html:15 templates/InvenTree/search.html:124
msgid "Supplier Parts"
msgstr ""
-#: company/templates/company/detail.html:22
+#: company/templates/company/detail.html:19
#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr ""
-#: company/templates/company/detail.html:23
-#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289
+#: company/templates/company/detail.html:20
+#: company/templates/company/manufacturer_part.html:112
+#: part/templates/part/detail.html:466
msgid "New Supplier Part"
msgstr ""
-#: company/templates/company/detail.html:27
-#: company/templates/company/detail.html:67
-#: company/templates/company/manufacturer_part.html:112
-#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/category.html:135 part/templates/part/detail.html:292
-#: part/templates/part/detail.html:315
+#: company/templates/company/detail.html:32
+#: company/templates/company/detail.html:79
+#: company/templates/company/manufacturer_part.html:121
+#: company/templates/company/manufacturer_part.html:150
+#: part/templates/part/category.html:160 part/templates/part/detail.html:475
+#: part/templates/part/detail.html:503
msgid "Options"
msgstr ""
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72
-#: part/templates/part/category.html:140
+#: company/templates/company/detail.html:37
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:166
msgid "Order parts"
msgstr ""
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:42
+#: company/templates/company/detail.html:89
msgid "Delete parts"
msgstr ""
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:43
+#: company/templates/company/detail.html:90
msgid "Delete Parts"
msgstr ""
-#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135
+#: company/templates/company/detail.html:62 templates/InvenTree/search.html:109
msgid "Manufacturer Parts"
msgstr ""
-#: company/templates/company/detail.html:62
+#: company/templates/company/detail.html:66
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:63 part/templates/part/detail.html:312
+#: company/templates/company/detail.html:67 part/templates/part/detail.html:493
msgid "New Manufacturer Part"
msgstr ""
-#: company/templates/company/detail.html:93
+#: company/templates/company/detail.html:107
msgid "Supplier Stock"
msgstr ""
-#: company/templates/company/detail.html:102
-#: company/templates/company/navbar.html:46
-#: company/templates/company/navbar.html:49
+#: company/templates/company/detail.html:117
+#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
-#: order/templates/order/purchase_orders.html:13
-#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82
-#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260
-#: templates/InvenTree/search.html:229
-#: templates/InvenTree/settings/navbar.html:119
-#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44
+#: order/templates/order/purchase_orders.html:12
+#: part/templates/part/detail.html:171 templates/InvenTree/index.html:252
+#: templates/InvenTree/search.html:203 templates/navbar.html:45
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
-#: company/templates/company/detail.html:108
-#: order/templates/order/purchase_orders.html:20
+#: company/templates/company/detail.html:121
+#: order/templates/order/purchase_orders.html:17
msgid "Create new purchase order"
msgstr ""
-#: company/templates/company/detail.html:109
-#: order/templates/order/purchase_orders.html:21
+#: company/templates/company/detail.html:122
+#: order/templates/order/purchase_orders.html:18
msgid "New Purchase Order"
msgstr ""
-#: company/templates/company/detail.html:124
-#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58
+#: company/templates/company/detail.html:143
+#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
-#: order/templates/order/sales_orders.html:13
-#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91
-#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291
-#: templates/InvenTree/search.html:249
-#: templates/InvenTree/settings/navbar.html:125
-#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55
+#: order/templates/order/sales_orders.html:15
+#: part/templates/part/detail.html:194 templates/InvenTree/index.html:283
+#: templates/InvenTree/search.html:223 templates/navbar.html:56
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
-#: company/templates/company/detail.html:130
+#: company/templates/company/detail.html:147
#: order/templates/order/sales_orders.html:20
msgid "Create new sales order"
msgstr ""
-#: company/templates/company/detail.html:131
+#: company/templates/company/detail.html:148
#: order/templates/order/sales_orders.html:21
msgid "New Sales Order"
msgstr ""
-#: company/templates/company/detail.html:147
-#: company/templates/company/navbar.html:61
-#: company/templates/company/navbar.html:64
-#: templates/js/translated/build.js:622
+#: company/templates/company/detail.html:168
+#: templates/js/translated/build.js:999
msgid "Assigned Stock"
msgstr ""
-#: company/templates/company/detail.html:165
+#: company/templates/company/detail.html:184
msgid "Company Notes"
msgstr ""
-#: company/templates/company/detail.html:364
-#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:357
+#: company/templates/company/detail.html:383
+#: company/templates/company/manufacturer_part.html:209
+#: part/templates/part/detail.html:546
msgid "Delete Supplier Parts?"
msgstr ""
-#: company/templates/company/detail.html:365
-#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:358
+#: company/templates/company/detail.html:384
+#: company/templates/company/manufacturer_part.html:210
+#: part/templates/part/detail.html:547
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2729,204 +2613,172 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:40
-#: company/templates/company/supplier_part.html:40
-#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116
+#: company/templates/company/manufacturer_part.html:14 company/views.py:55
+#: part/templates/part/prices.html:167 templates/InvenTree/search.html:184
+#: templates/navbar.html:44
+msgid "Manufacturers"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:35
+#: company/templates/company/supplier_part.html:34
+#: company/templates/company/supplier_part.html:159
+#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:40
#: templates/js/translated/company.js:561
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:49
+#: company/templates/company/manufacturer_part.html:44
#: templates/js/translated/company.js:562
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:61
-msgid "Manufacturer Part Details"
-msgstr ""
-
-#: company/templates/company/manufacturer_part.html:66
-#: company/templates/company/supplier_part.html:65
+#: company/templates/company/manufacturer_part.html:70
+#: company/templates/company/supplier_part.html:71
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/manufacturer_part_navbar.html:21
-#: company/views.py:49 part/templates/part/navbar.html:75
-#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163
-#: templates/InvenTree/search.html:220 templates/navbar.html:41
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: part/templates/part/prices.html:163 templates/InvenTree/search.html:194
+#: templates/navbar.html:43
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: part/templates/part/detail.html:294
+#: company/templates/company/manufacturer_part.html:123
+#: part/templates/part/detail.html:477
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: company/templates/company/manufacturer_part.html:138
-#: company/templates/company/manufacturer_part.html:239
-#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/translated/company.js:424
-#: templates/js/translated/helpers.js:31 users/models.py:199
+#: company/templates/company/manufacturer_part.html:123
+#: company/templates/company/manufacturer_part.html:152
+#: company/templates/company/manufacturer_part.html:248
+#: part/templates/part/detail.html:351 part/templates/part/detail.html:477
+#: part/templates/part/detail.html:505 templates/js/translated/company.js:424
+#: templates/js/translated/helpers.js:31 users/models.py:204
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:127
-#: company/templates/company/manufacturer_part_navbar.html:11
-#: company/templates/company/manufacturer_part_navbar.html:14
-#: part/templates/part/category_navbar.html:38
-#: part/templates/part/category_navbar.html:41
-#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20
-#: part/templates/part/navbar.html:23
+#: company/templates/company/manufacturer_part.html:137
+#: part/templates/part/detail.html:277
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:133
-#: part/templates/part/detail.html:162
-#: templates/InvenTree/settings/category.html:26
-#: templates/InvenTree/settings/part.html:63
+#: company/templates/company/manufacturer_part.html:141
+#: part/templates/part/detail.html:282
+#: templates/InvenTree/settings/category.html:12
+#: templates/InvenTree/settings/part.html:65
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:138
+#: company/templates/company/manufacturer_part.html:152
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:805
+#: company/templates/company/manufacturer_part.html:185
+#: part/templates/part/detail.html:983
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:224
+#: company/templates/company/manufacturer_part.html:233
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:236
+#: company/templates/company/manufacturer_part.html:245
msgid "Delete Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part_navbar.html:26
-msgid "Manufacturer Part Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:29
-#: company/templates/company/navbar.html:39
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/navbar.html:38 stock/api.py:52
-#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182
-#: templates/InvenTree/settings/navbar.html:107
-#: templates/InvenTree/settings/navbar.html:109
-#: templates/js/translated/part.js:540 templates/js/translated/part.js:769
-#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182
-#: templates/js/translated/stock.js:829 templates/navbar.html:32
-msgid "Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:33
-msgid "Manufacturer Part Orders"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:36
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr ""
-
-#: company/templates/company/navbar.html:17
-#: company/templates/company/navbar.html:20
-msgid "Manufactured Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:26
-#: company/templates/company/navbar.html:29
-msgid "Supplied Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35
-#: stock/templates/stock/location.html:119
-#: stock/templates/stock/location.html:134
-#: stock/templates/stock/location.html:148
-#: stock/templates/stock/location_navbar.html:18
-#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486
-#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
-msgid "Stock Items"
-msgstr ""
-
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:463
-#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993
+#: company/templates/company/supplier_part.html:24 stock/models.py:492
+#: stock/templates/stock/item_base.html:375
+#: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44
+#: company/templates/company/supplier_part.html:38
#: templates/js/translated/company.js:859
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48
+#: company/templates/company/supplier_part.html:42
#: templates/js/translated/company.js:860
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:60
-msgid "Supplier Part Details"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:131
+#: company/templates/company/supplier_part.html:138
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:140
+#: company/templates/company/supplier_part.html:141
+#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147
+msgid "Create new stock item"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:142
+#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148
+#: templates/js/translated/stock.js:324
+msgid "New Stock Item"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:155
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:147
-#: part/templates/part/detail.html:56
+#: company/templates/company/supplier_part.html:160
+#: part/templates/part/detail.html:175
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:158
-#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7
+#: company/templates/company/supplier_part.html:179
+#: part/templates/part/prices.html:7
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:164
-#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:271 part/views.py:1730
+#: company/templates/company/supplier_part.html:184
+#: company/templates/company/supplier_part.html:290
+#: part/templates/part/prices.html:271 part/views.py:1782
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:185
+#: company/templates/company/supplier_part.html:210
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:1792
+#: company/templates/company/supplier_part.html:224 part/views.py:1844
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:1778
+#: company/templates/company/supplier_part.html:238 part/views.py:1830
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
+#: company/templates/company/supplier_part.html:263
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:239
+#: company/templates/company/supplier_part.html:264
msgid "Delete price break"
msgstr ""
+#: company/templates/company/supplier_part_navbar.html:15
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426
+#: templates/js/translated/part.js:561 templates/js/translated/part.js:786
+#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479
+#: templates/js/translated/stock.js:1132 templates/navbar.html:26
+msgid "Stock"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:22
+msgid "Orders"
+msgstr ""
+
#: company/templates/company/supplier_part_navbar.html:26
msgid "Supplier Part Pricing"
msgstr ""
@@ -2939,17 +2791,12 @@ msgstr ""
msgid "New Supplier"
msgstr ""
-#: company/views.py:55 part/templates/part/prices.html:167
-#: templates/InvenTree/search.html:210 templates/navbar.html:42
-msgid "Manufacturers"
-msgstr ""
-
#: company/views.py:56
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:240
-#: templates/navbar.html:53
+#: company/views.py:61 templates/InvenTree/search.html:214
+#: templates/navbar.html:55
msgid "Customers"
msgstr ""
@@ -2965,24 +2812,24 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:608
+#: company/views.py:129 part/views.py:649
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:640
+#: company/views.py:158 part/views.py:681
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:647
+#: company/views.py:165 part/views.py:688
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:656
+#: company/views.py:174 part/views.py:697
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:57 report/api.py:201
+#: label/api.py:57 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -2994,7 +2841,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:167
+#: label/models.py:127
msgid "Label"
msgstr ""
@@ -3039,7 +2886,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:259 label/models.py:319 label/models.py:366
-#: report/models.py:322 report/models.py:457 report/models.py:495
+#: report/models.py:322 report/models.py:459 report/models.py:497
msgid "Filters"
msgstr ""
@@ -3051,240 +2898,236 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:250
-msgid "Matching purchase order does not exist"
-msgstr ""
-
-#: order/forms.py:27 order/templates/order/order_base.html:50
+#: order/forms.py:26 order/templates/order/order_base.html:52
msgid "Place order"
msgstr ""
-#: order/forms.py:38 order/templates/order/order_base.html:57
+#: order/forms.py:37 order/templates/order/order_base.html:59
msgid "Mark order as complete"
msgstr ""
-#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:64
+#: order/forms.py:48 order/forms.py:59 order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
msgid "Cancel order"
msgstr ""
-#: order/forms.py:71 order/templates/order/sales_order_base.html:61
+#: order/forms.py:70
msgid "Ship order"
msgstr ""
-#: order/forms.py:97
+#: order/forms.py:98
msgid "Enter stock item serial numbers"
msgstr ""
-#: order/forms.py:103
+#: order/forms.py:104
msgid "Enter quantity of stock items"
msgstr ""
-#: order/models.py:158
+#: order/models.py:161
msgid "Order description"
msgstr ""
-#: order/models.py:160
+#: order/models.py:163
msgid "Link to external page"
msgstr ""
-#: order/models.py:168
+#: order/models.py:171
msgid "Created By"
msgstr ""
-#: order/models.py:175
+#: order/models.py:178
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:180
+#: order/models.py:183
msgid "Order notes"
msgstr ""
-#: order/models.py:247 order/models.py:548
+#: order/models.py:250 order/models.py:557
msgid "Order reference"
msgstr ""
-#: order/models.py:252 order/models.py:563
+#: order/models.py:255 order/models.py:572
msgid "Purchase order status"
msgstr ""
-#: order/models.py:261
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/translated/order.js:668
+#: order/models.py:267 order/templates/order/order_base.html:114
+#: templates/js/translated/order.js:669
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:264
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:271
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:276
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:277
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:282
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:283
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:289
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:318
+#: order/models.py:321
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:428
+#: order/models.py:431
msgid "Quantity must be an integer"
msgstr ""
-#: order/models.py:432
+#: order/models.py:435
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:559
+#: order/models.py:568
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer Reference "
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:570
+#: order/models.py:579
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:573 templates/js/translated/order.js:1079
+#: order/models.py:582 templates/js/translated/order.js:1092
msgid "Shipment Date"
msgstr ""
-#: order/models.py:580
+#: order/models.py:589
msgid "shipped by"
msgstr ""
-#: order/models.py:624
+#: order/models.py:633
msgid "SalesOrder cannot be shipped as it is not currently pending"
msgstr ""
-#: order/models.py:721
+#: order/models.py:730
msgid "Item quantity"
msgstr ""
-#: order/models.py:727
+#: order/models.py:736
msgid "Line item reference"
msgstr ""
-#: order/models.py:729
+#: order/models.py:738
msgid "Line item notes"
msgstr ""
-#: order/models.py:759 order/models.py:847
-#: templates/js/translated/order.js:1131
+#: order/models.py:768 order/models.py:856
+#: templates/js/translated/order.js:1144
msgid "Order"
msgstr ""
-#: order/models.py:760 order/templates/order/order_base.html:9
-#: order/templates/order/order_base.html:24
+#: order/models.py:769 order/templates/order/order_base.html:9
+#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:338
-#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970
-#: templates/js/translated/stock.js:1568
+#: stock/templates/stock/item_base.html:325
+#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1270
+#: templates/js/translated/stock.js:1953
msgid "Purchase Order"
msgstr ""
-#: order/models.py:781
+#: order/models.py:790
msgid "Supplier part"
msgstr ""
-#: order/models.py:788 order/templates/order/order_base.html:131
-#: order/templates/order/sales_order_base.html:138
-#: templates/js/translated/order.js:428 templates/js/translated/order.js:919
+#: order/models.py:797 order/templates/order/order_base.html:147
+#: order/templates/order/sales_order_base.html:154
+#: templates/js/translated/order.js:429 templates/js/translated/order.js:932
msgid "Received"
msgstr ""
-#: order/models.py:789
+#: order/models.py:798
msgid "Number of items received"
msgstr ""
-#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588
-#: stock/serializers.py:150 stock/templates/stock/item_base.html:345
-#: templates/js/translated/stock.js:1024
+#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619
+#: stock/serializers.py:163 stock/templates/stock/item_base.html:332
+#: templates/js/translated/stock.js:1324
msgid "Purchase Price"
msgstr ""
-#: order/models.py:797
+#: order/models.py:806
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:805
+#: order/models.py:814
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:857 part/templates/part/part_pricing.html:112
+#: order/models.py:866 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:116 part/templates/part/prices.html:284
msgid "Sale Price"
msgstr ""
-#: order/models.py:858
+#: order/models.py:867
msgid "Unit sale price"
msgstr ""
-#: order/models.py:937 order/models.py:939
+#: order/models.py:946 order/models.py:948
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:943
+#: order/models.py:952
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:945
+#: order/models.py:954
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:948
+#: order/models.py:957
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:952
+#: order/models.py:961
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:958
+#: order/models.py:967
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:966
+#: order/models.py:975
msgid "Line"
msgstr ""
-#: order/models.py:978
+#: order/models.py:987
msgid "Item"
msgstr ""
-#: order/models.py:979
+#: order/models.py:988
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:982
+#: order/models.py:991
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3300,7 +3143,7 @@ msgstr ""
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:218 order/serializers.py:285
+#: order/serializers.py:218 order/serializers.py:286
msgid "Select destination location for received items"
msgstr ""
@@ -3312,72 +3155,70 @@ msgstr ""
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:259
+#: order/serializers.py:260
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:297
+#: order/serializers.py:298
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:314
+#: order/serializers.py:315
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:325
+#: order/serializers.py:326
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:569
+#: order/serializers.py:568
msgid "Sale price currency"
msgstr ""
#: order/templates/order/delete_attachment.html:5
#: stock/templates/stock/attachment_delete.html:5
-#: templates/attachment_delete.html:5
msgid "Are you sure you want to delete this attachment?"
msgstr ""
-#: order/templates/order/order_base.html:39
-#: order/templates/order/sales_order_base.html:50
-msgid "Print"
+#: order/templates/order/order_base.html:33
+msgid "Print purchase order report"
msgstr ""
-#: order/templates/order/order_base.html:42
-#: order/templates/order/sales_order_base.html:53
+#: order/templates/order/order_base.html:35
+#: order/templates/order/sales_order_base.html:45
msgid "Export order to file"
msgstr ""
-#: order/templates/order/order_base.html:46
-#: order/templates/order/sales_order_base.html:57
-msgid "Edit order information"
+#: order/templates/order/order_base.html:41
+#: order/templates/order/sales_order_base.html:54
+msgid "Order actions"
msgstr ""
-#: order/templates/order/order_base.html:54
+#: order/templates/order/order_base.html:45
+#: order/templates/order/sales_order_base.html:58
+msgid "Edit order"
+msgstr ""
+
+#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
-#: order/templates/order/order_base.html:72
-#: order/templates/order/po_navbar.html:12
-msgid "Purchase Order Details"
-msgstr ""
-
-#: order/templates/order/order_base.html:77
-#: order/templates/order/sales_order_base.html:84
+#: order/templates/order/order_base.html:93
+#: order/templates/order/sales_order_base.html:98
msgid "Order Reference"
msgstr ""
-#: order/templates/order/order_base.html:82
-#: order/templates/order/sales_order_base.html:89
+#: order/templates/order/order_base.html:98
+#: order/templates/order/sales_order_base.html:103
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:117
+#: order/templates/order/order_base.html:133
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:185
+#: order/templates/order/order_base.html:203
msgid "Edit Purchase Order"
msgstr ""
@@ -3453,7 +3294,8 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/build.js:869 templates/js/translated/order.js:376
+#: templates/js/translated/build.js:240 templates/js/translated/build.js:1251
+#: templates/js/translated/order.js:377
msgid "Remove row"
msgstr ""
@@ -3475,19 +3317,19 @@ msgstr ""
msgid "Select Supplier Part"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:11
+#: order/templates/order/order_wizard/po_upload.html:16
msgid "Upload File for Purchase Order"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:18
-#: part/templates/part/bom_upload/upload_file.html:34
+#: order/templates/order/order_wizard/po_upload.html:24
+#: part/templates/part/bom_upload/upload_file.html:20
#: part/templates/part/import_wizard/ajax_part_upload.html:10
-#: part/templates/part/import_wizard/part_upload.html:21
+#: part/templates/part/import_wizard/part_upload.html:22
#, python-format
msgid "Step %(step)s of %(count)s"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/order_wizard/po_upload.html:54
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
@@ -3530,7 +3372,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084
+#: templates/js/translated/order.js:695 templates/js/translated/order.js:1097
msgid "Items"
msgstr ""
@@ -3548,30 +3390,14 @@ msgstr ""
msgid "Select a purchase order for %(name)s"
msgstr ""
-#: order/templates/order/po_attachments.html:12
-#: order/templates/order/po_navbar.html:32
-#: order/templates/order/purchase_order_detail.html:56
-msgid "Purchase Order Attachments"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:26
-msgid "Received Stock Items"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:29
-#: order/templates/order/po_received_items.html:12
-#: order/templates/order/purchase_order_detail.html:47
-msgid "Received Items"
-msgstr ""
-
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:24
-#: order/templates/order/purchase_order_detail.html:212
+#: order/templates/order/purchase_order_detail.html:27
+#: order/templates/order/purchase_order_detail.html:216
#: order/templates/order/sales_order_detail.html:23
-#: order/templates/order/sales_order_detail.html:177
+#: order/templates/order/sales_order_detail.html:191
msgid "Add Line Item"
msgstr ""
@@ -3583,34 +3409,43 @@ msgstr ""
msgid "Receive Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
-#: order/templates/order/sales_order_detail.html:54
+#: order/templates/order/purchase_order_detail.html:50
+msgid "Received Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:76
+#: order/templates/order/sales_order_detail.html:68
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_orders.html:24
-#: order/templates/order/sales_orders.html:24
+#: order/templates/order/purchase_orders.html:30
+#: order/templates/order/sales_orders.html:33
msgid "Print Order Reports"
msgstr ""
-#: order/templates/order/sales_order_base.html:16
+#: order/templates/order/sales_order_base.html:43
+msgid "Print sales order report"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:47
+msgid "Print packing list"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:66
+#: order/templates/order/sales_order_base.html:67 order/views.py:222
+msgid "Ship Order"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:86
msgid "This Sales Order has not been fully allocated"
msgstr ""
-#: order/templates/order/sales_order_base.html:70
-msgid "Packing List"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:79
-msgid "Sales Order Details"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:105
-#: templates/js/translated/order.js:1051
+#: order/templates/order/sales_order_base.html:121
+#: templates/js/translated/order.js:1064
msgid "Customer Reference"
msgstr ""
-#: order/templates/order/sales_order_base.html:183
+#: order/templates/order/sales_order_base.html:194
msgid "Edit Sales Order"
msgstr ""
@@ -3625,7 +3460,7 @@ msgstr ""
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -3653,18 +3488,6 @@ msgstr ""
msgid "Allocate stock items by serial number"
msgstr ""
-#: order/templates/order/so_navbar.html:12
-msgid "Sales Order Line Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:15
-msgid "Order Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:26
-msgid "Sales Order Attachments"
-msgstr ""
-
#: order/views.py:103
msgid "Cancel Order"
msgstr ""
@@ -3705,10 +3528,6 @@ msgstr ""
msgid "Purchase order completed"
msgstr ""
-#: order/views.py:222
-msgid "Ship Order"
-msgstr ""
-
#: order/views.py:238
msgid "Confirm order shipment"
msgstr ""
@@ -3776,40 +3595,28 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7
-#: part/templates/part/category.html:108 part/templates/part/category.html:122
-#: part/templates/part/category_navbar.html:21
-#: part/templates/part/category_navbar.html:24
-#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97
-#: templates/js/translated/part.js:1165 templates/navbar.html:29
-#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
-msgid "Parts"
-msgstr ""
-
-#: part/api.py:700
+#: part/api.py:731
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:704
+#: part/api.py:735
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:719
+#: part/api.py:750
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773
+#: part/api.py:781 part/api.py:785 part/api.py:800 part/api.py:804
msgid "This field is required"
msgstr ""
-#: part/bom.py:133 part/models.py:76 part/models.py:734
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:290
+#: part/bom.py:125 part/models.py:81 part/models.py:816
+#: part/templates/part/category.html:90 part/templates/part/detail.html:104
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:156
+#: part/bom.py:126 part/templates/part/part_base.html:167
msgid "Available Stock"
msgstr ""
@@ -3869,7 +3676,7 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:96 part/models.py:2254
+#: part/forms.py:96 part/models.py:2427
msgid "Parent Part"
msgstr ""
@@ -3901,455 +3708,458 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:226
+#: part/forms.py:214
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:230
+#: part/forms.py:218
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:250
+#: part/forms.py:238
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:77
+#: part/models.py:82
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords"
msgstr ""
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:90 part/models.py:2300
+#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:91 part/templates/part/category.html:32
-#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
-#: templates/stats.html:84 users/models.py:40
+#: part/models.py:96 part/templates/part/category.html:117
+#: templates/InvenTree/search.html:101 templates/stats.html:84
+#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:384
+#: part/models.py:358 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:13 part/templates/part/category.html:122
+#: part/templates/part/category.html:142 templates/InvenTree/index.html:85
+#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304
+#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89
+#: users/models.py:41
+msgid "Parts"
+msgstr ""
+
+#: part/models.py:450
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:436 part/models.py:448
+#: part/models.py:502 part/models.py:514
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:545
+#: part/models.py:611
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:549
+#: part/models.py:615
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:554
+#: part/models.py:620
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:633
+#: part/models.py:715
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:658
+#: part/models.py:740
msgid "Part name"
msgstr ""
-#: part/models.py:665
+#: part/models.py:747
msgid "Is Template"
msgstr ""
-#: part/models.py:666
+#: part/models.py:748
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:676
+#: part/models.py:758
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:677
+#: part/models.py:759
msgid "Variant Of"
msgstr ""
-#: part/models.py:683
+#: part/models.py:765
msgid "Part description"
msgstr ""
-#: part/models.py:688 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:259
+#: part/models.py:770 part/templates/part/category.html:97
+#: part/templates/part/detail.html:73
msgid "Keywords"
msgstr ""
-#: part/models.py:689
+#: part/models.py:771
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:696 part/models.py:2299
-#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:169
-#: templates/js/translated/part.js:927
+#: part/models.py:778 part/models.py:2223 part/models.py:2472
+#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15
+#: templates/InvenTree/settings/settings.html:163
+#: templates/js/translated/part.js:928
msgid "Category"
msgstr ""
-#: part/models.py:697
+#: part/models.py:779
msgid "Part category"
msgstr ""
-#: part/models.py:702 part/templates/part/part_base.html:235
-#: templates/js/translated/part.js:528 templates/js/translated/part.js:760
+#: part/models.py:784 part/templates/part/detail.html:45
+#: templates/js/translated/part.js:549
msgid "IPN"
msgstr ""
-#: part/models.py:703
+#: part/models.py:785
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:709
+#: part/models.py:791
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:710 part/templates/part/part_base.html:252
-#: report/models.py:200 templates/js/translated/part.js:532
+#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200
+#: templates/js/translated/part.js:553
msgid "Revision"
msgstr ""
-#: part/models.py:732
+#: part/models.py:814
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:779 part/templates/part/part_base.html:297
+#: part/models.py:861 part/templates/part/detail.html:113
msgid "Default Supplier"
msgstr ""
-#: part/models.py:780
+#: part/models.py:862
msgid "Default supplier part"
msgstr ""
-#: part/models.py:787
+#: part/models.py:869
msgid "Default Expiry"
msgstr ""
-#: part/models.py:788
+#: part/models.py:870
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:793
+#: part/models.py:875 part/templates/part/part_base.html:178
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:794
+#: part/models.py:876
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:801
+#: part/models.py:883
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:807
+#: part/models.py:889
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:813
+#: part/models.py:895
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:819
+#: part/models.py:901
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:824
+#: part/models.py:906
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:911
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:833 templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:82
-#: templates/js/translated/table_filters.js:268
-#: templates/js/translated/table_filters.js:346
+#: part/models.py:915 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:362
msgid "Active"
msgstr ""
-#: part/models.py:834
+#: part/models.py:916
msgid "Is this part active?"
msgstr ""
-#: part/models.py:839
+#: part/models.py:921
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:844
+#: part/models.py:926
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "BOM checksum"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:850
+#: part/models.py:932
msgid "BOM checked by"
msgstr ""
-#: part/models.py:852
+#: part/models.py:934
msgid "BOM checked date"
msgstr ""
-#: part/models.py:856
+#: part/models.py:938
msgid "Creation User"
msgstr ""
-#: part/models.py:1605
+#: part/models.py:1750
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2100
+#: part/models.py:2273
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2117
+#: part/models.py:2290
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2137 templates/js/translated/part.js:1216
-#: templates/js/translated/stock.js:535
+#: part/models.py:2310 templates/js/translated/part.js:1355
+#: templates/js/translated/stock.js:828
msgid "Test Name"
msgstr ""
-#: part/models.py:2138
+#: part/models.py:2311
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2143
+#: part/models.py:2316
msgid "Test Description"
msgstr ""
-#: part/models.py:2144
+#: part/models.py:2317
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2149 templates/js/translated/part.js:1225
-#: templates/js/translated/table_filters.js:254
+#: part/models.py:2322 templates/js/translated/part.js:1364
+#: templates/js/translated/table_filters.js:270
msgid "Required"
msgstr ""
-#: part/models.py:2150
+#: part/models.py:2323
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2155 templates/js/translated/part.js:1233
+#: part/models.py:2328 templates/js/translated/part.js:1372
msgid "Requires Value"
msgstr ""
-#: part/models.py:2156
+#: part/models.py:2329
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2161 templates/js/translated/part.js:1240
+#: part/models.py:2334 templates/js/translated/part.js:1379
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2162
+#: part/models.py:2335
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2173
+#: part/models.py:2346
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2209
+#: part/models.py:2382
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2217
+#: part/models.py:2390
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2224
+#: part/models.py:2397
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2256 part/models.py:2305 part/models.py:2306
-#: templates/InvenTree/settings/settings.html:164
+#: part/models.py:2429 part/models.py:2478 part/models.py:2479
+#: templates/InvenTree/settings/settings.html:158
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Data"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2310 templates/InvenTree/settings/settings.html:173
+#: part/models.py:2483 templates/InvenTree/settings/settings.html:167
msgid "Default Value"
msgstr ""
-#: part/models.py:2311
+#: part/models.py:2484
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2561
msgid "Select parent part"
msgstr ""
-#: part/models.py:2370
+#: part/models.py:2569
msgid "Sub part"
msgstr ""
-#: part/models.py:2371
+#: part/models.py:2570
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2377
+#: part/models.py:2576
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2379 templates/js/translated/bom.js:275
-#: templates/js/translated/bom.js:335
+#: part/models.py:2578 templates/js/translated/bom.js:452
+#: templates/js/translated/bom.js:526
+#: templates/js/translated/table_filters.js:86
msgid "Optional"
msgstr ""
-#: part/models.py:2379
+#: part/models.py:2578
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2382
+#: part/models.py:2581
msgid "Overage"
msgstr ""
-#: part/models.py:2383
+#: part/models.py:2582
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2585
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2588
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "Checksum"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2395 templates/js/translated/bom.js:352
-#: templates/js/translated/bom.js:359
+#: part/models.py:2594 templates/js/translated/bom.js:543
+#: templates/js/translated/bom.js:550
#: templates/js/translated/table_filters.js:68
+#: templates/js/translated/table_filters.js:82
msgid "Inherited"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2595
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2401 templates/js/translated/bom.js:344
+#: part/models.py:2600 templates/js/translated/bom.js:535
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2402
+#: part/models.py:2601
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2487 stock/models.py:341
+#: part/models.py:2686 stock/models.py:371
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2496 part/models.py:2498
+#: part/models.py:2695 part/models.py:2697
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2620
+#: part/models.py:2826
+msgid "BOM Item Substitute"
+msgstr ""
+
+#: part/models.py:2848
+msgid "Substitute part cannot be the same as the master part"
+msgstr ""
+
+#: part/models.py:2860
+msgid "Parent BOM item"
+msgstr ""
+
+#: part/models.py:2868
+msgid "Substitute part"
+msgstr ""
+
+#: part/models.py:2879
msgid "Part 1"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Part 2"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2656
+#: part/models.py:2915
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
+#: part/tasks.py:53
+msgid "Low stock notification"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
-#: part/templates/part/bom.html:14
+#: part/templates/part/bom.html:15
#, python-format
msgid "The BOM for %(part)s has changed, and must be validated.
"
msgstr ""
-#: part/templates/part/bom.html:16
+#: part/templates/part/bom.html:17
#, python-format
msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s"
msgstr ""
-#: part/templates/part/bom.html:20
+#: part/templates/part/bom.html:21
#, python-format
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:27
-msgid "Remove selected BOM items"
-msgstr ""
-
-#: part/templates/part/bom.html:30
-msgid "Import BOM data"
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:383
+msgid "BOM actions"
msgstr ""
#: part/templates/part/bom.html:34
-msgid "Copy BOM from parent part"
-msgstr ""
-
-#: part/templates/part/bom.html:38
-msgid "New BOM Item"
-msgstr ""
-
-#: part/templates/part/bom.html:41
-msgid "Finish Editing"
-msgstr ""
-
-#: part/templates/part/bom.html:46
-msgid "Edit BOM"
-msgstr ""
-
-#: part/templates/part/bom.html:50
-msgid "Validate Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:56 part/views.py:1220
-msgid "Export Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:59
-msgid "Print BOM Report"
+msgid "Delete Items"
msgstr ""
#: part/templates/part/bom_duplicate.html:13
@@ -4360,28 +4170,23 @@ msgstr ""
msgid "Select Part"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:13
-#: part/templates/part/bom_upload/upload_file.html:16
-msgid "Return To BOM"
-msgstr ""
-
-#: part/templates/part/bom_upload/upload_file.html:27
+#: part/templates/part/bom_upload/upload_file.html:12
msgid "Upload Bill of Materials"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:46
+#: part/templates/part/bom_upload/upload_file.html:32
msgid "Requirements for BOM upload"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "The BOM file must contain the required named columns as provided in the "
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "BOM Upload Template"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:49
+#: part/templates/part/bom_upload/upload_file.html:35
msgid "Each part must already exist in the database"
msgstr ""
@@ -4394,93 +4199,103 @@ msgstr ""
msgid "This will validate each line in the BOM."
msgstr ""
-#: part/templates/part/category.html:33
-msgid "All parts"
+#: part/templates/part/category.html:24 part/templates/part/category.html:28
+msgid "You are subscribed to notifications for this category"
+msgstr ""
+
+#: part/templates/part/category.html:32
+msgid "Subscribe to notifications for this category"
msgstr ""
#: part/templates/part/category.html:38
-msgid "Create new part category"
+msgid "Category Actions"
+msgstr ""
+
+#: part/templates/part/category.html:43
+msgid "Edit category"
msgstr ""
#: part/templates/part/category.html:44
-msgid "Edit part category"
+msgid "Edit Category"
+msgstr ""
+
+#: part/templates/part/category.html:48
+msgid "Delete category"
msgstr ""
#: part/templates/part/category.html:49
-msgid "Delete part category"
+msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:59 part/templates/part/category.html:98
-msgid "Category Details"
+#: part/templates/part/category.html:57
+msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:64
+#: part/templates/part/category.html:58
+msgid "New Category"
+msgstr ""
+
+#: part/templates/part/category.html:67
+msgid "Top level part category"
+msgstr ""
+
+#: part/templates/part/category.html:79
msgid "Category Path"
msgstr ""
-#: part/templates/part/category.html:69
+#: part/templates/part/category.html:84
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:175
-#: part/templates/part/category_navbar.html:14
-#: part/templates/part/category_navbar.html:17
+#: part/templates/part/category.html:103 part/templates/part/category.html:194
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:93
+#: part/templates/part/category.html:108
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:126
+#: part/templates/part/category.html:145
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:142
+#: part/templates/part/category.html:146 part/templates/part/category.html:170
msgid "Export"
msgstr ""
-#: part/templates/part/category.html:130
+#: part/templates/part/category.html:149
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 templates/js/translated/bom.js:39
+#: part/templates/part/category.html:150 templates/js/translated/bom.js:40
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:141
+#: part/templates/part/category.html:168
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:142
+#: part/templates/part/category.html:170
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:146
-msgid "View list display"
-msgstr ""
-
-#: part/templates/part/category.html:149
-msgid "View grid display"
-msgstr ""
-
-#: part/templates/part/category.html:165
+#: part/templates/part/category.html:184
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:254
+#: part/templates/part/category.html:261
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:281
+#: part/templates/part/category.html:288
msgid "Create Part"
msgstr ""
@@ -4519,12 +4334,7 @@ msgstr ""
msgid "If this category is deleted, these parts will be moved to the top-level category Teile"
msgstr ""
-#: part/templates/part/category_navbar.html:29
-#: part/templates/part/category_navbar.html:32
-msgid "Import Parts"
-msgstr ""
-
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365
msgid "Duplicate Part"
msgstr ""
@@ -4549,311 +4359,315 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)"
msgstr ""
#: part/templates/part/detail.html:16
+msgid "Part Details"
+msgstr ""
+
+#: part/templates/part/detail.html:66
+msgid "Minimum stock level"
+msgstr ""
+
+#: part/templates/part/detail.html:97
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/detail.html:124
msgid "Part Stock"
msgstr ""
-#: part/templates/part/detail.html:21
+#: part/templates/part/detail.html:136
#, python-format
msgid "Showing stock for all variants of %(full_name)s"
msgstr ""
-#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99
+#: part/templates/part/detail.html:146
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:36
+#: part/templates/part/detail.html:151
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:77
-msgid "New sales order"
-msgstr ""
-
-#: part/templates/part/detail.html:77
-msgid "New Order"
-msgstr ""
-
-#: part/templates/part/detail.html:90
+#: part/templates/part/detail.html:208
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27
+#: part/templates/part/detail.html:249
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:137
+#: part/templates/part/detail.html:253
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:138
+#: part/templates/part/detail.html:254
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:161
+#: part/templates/part/detail.html:281
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107
-#: part/templates/part/navbar.html:110
+#: part/templates/part/detail.html:315
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:188
+#: part/templates/part/detail.html:319 part/templates/part/detail.html:320
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43
-#: part/templates/part/navbar.html:46
+#: part/templates/part/detail.html:366
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:237
+#: part/templates/part/detail.html:371
+msgid "Export actions"
+msgstr ""
+
+#: part/templates/part/detail.html:375
+msgid "Export BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:377
+msgid "Print BOM Report"
+msgstr ""
+
+#: part/templates/part/detail.html:387
+msgid "Upload BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:389 templates/js/translated/part.js:266
+msgid "Copy BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:391 part/views.py:820
+msgid "Validate BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:396
+msgid "New BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:397
+msgid "Add BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:410
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:253
+#: part/templates/part/detail.html:427
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:260
-msgid "Start New Build"
-msgstr ""
-
-#: part/templates/part/detail.html:274
+#: part/templates/part/detail.html:452
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:283
+#: part/templates/part/detail.html:462
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:305
+#: part/templates/part/detail.html:489
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:317
+#: part/templates/part/detail.html:505
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:502
+#: part/templates/part/detail.html:686
msgid "Delete selected BOM items?"
msgstr ""
-#: part/templates/part/detail.html:503
+#: part/templates/part/detail.html:687
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:554
+#: part/templates/part/detail.html:738
msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:699
+#: part/templates/part/detail.html:876
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:755
+#: part/templates/part/detail.html:933
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:907
+#: part/templates/part/detail.html:1085
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:919
+#: part/templates/part/detail.html:1097
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:931
+#: part/templates/part/detail.html:1109
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1020
+#: part/templates/part/detail.html:1198
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
#: part/templates/part/import_wizard/ajax_part_upload.html:29
-#: part/templates/part/import_wizard/part_upload.html:51
+#: part/templates/part/import_wizard/part_upload.html:52
msgid "Unsuffitient privileges."
msgstr ""
-#: part/templates/part/import_wizard/part_upload.html:14
+#: part/templates/part/import_wizard/part_upload.html:15
msgid "Import Parts from File"
msgstr ""
-#: part/templates/part/navbar.html:30
-msgid "Variants"
-msgstr ""
-
-#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/navbar.html:70
-msgid "Prices"
-msgstr ""
-
-#: part/templates/part/navbar.html:102
-msgid "Test Templates"
-msgstr ""
-
#: part/templates/part/part_app_base.html:12
msgid "Part List"
msgstr ""
+#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31
+msgid "You are subscribed to notifications for this part"
+msgstr ""
+
#: part/templates/part/part_base.html:35
-msgid "Part is a template part (variants can be made from this part)"
+msgid "Subscribe to notifications for this part"
msgstr ""
-#: part/templates/part/part_base.html:38
-msgid "Part can be assembled from other parts"
-msgstr ""
-
-#: part/templates/part/part_base.html:41
-msgid "Part can be used in assemblies"
-msgstr ""
-
-#: part/templates/part/part_base.html:44
-msgid "Part stock is tracked by serial number"
-msgstr ""
-
-#: part/templates/part/part_base.html:47
-msgid "Part can be purchased from external suppliers"
-msgstr ""
-
-#: part/templates/part/part_base.html:50
-msgid "Part can be sold to customers"
-msgstr ""
-
-#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504
-#: templates/js/translated/company.js:761 templates/js/translated/part.js:443
-#: templates/js/translated/part.js:520
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:73
-msgid "Star this part"
-msgstr ""
-
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:75
-#: stock/templates/stock/location.html:51
+#: part/templates/part/part_base.html:43
+#: stock/templates/stock/item_base.html:28
+#: stock/templates/stock/location.html:29
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:82
-#: stock/templates/stock/item_base.html:77
-#: stock/templates/stock/location.html:53 templates/qr_button.html:1
+#: part/templates/part/part_base.html:45
+#: stock/templates/stock/item_base.html:32
+#: stock/templates/stock/location.html:31 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:83
-#: stock/templates/stock/item_base.html:93
-#: stock/templates/stock/location.html:54
+#: part/templates/part/part_base.html:46
+#: stock/templates/stock/item_base.html:48
+#: stock/templates/stock/location.html:32
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:89
+#: part/templates/part/part_base.html:51
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:95
-#: stock/templates/stock/item_base.html:142
-#: stock/templates/stock/location.html:62
+#: part/templates/part/part_base.html:56
+#: stock/templates/stock/item_base.html:103
+#: stock/templates/stock/location.html:40
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:102
+#: part/templates/part/part_base.html:63
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:108
+#: part/templates/part/part_base.html:69
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:125
+#: part/templates/part/part_base.html:84
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:128
+#: part/templates/part/part_base.html:87
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:131
+#: part/templates/part/part_base.html:90
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:134
+#: part/templates/part/part_base.html:93
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:146
+#: part/templates/part/part_base.html:109
+msgid "Part is a template part (variants can be made from this part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:113
+msgid "Part can be assembled from other parts"
+msgstr ""
+
+#: part/templates/part/part_base.html:117
+msgid "Part can be used in assemblies"
+msgstr ""
+
+#: part/templates/part/part_base.html:121
+msgid "Part stock is tracked by serial number"
+msgstr ""
+
+#: part/templates/part/part_base.html:125
+msgid "Part can be purchased from external suppliers"
+msgstr ""
+
+#: part/templates/part/part_base.html:129
+msgid "Part can be sold to customers"
+msgstr ""
+
+#: part/templates/part/part_base.html:135
+#: part/templates/part/part_base.html:143
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:136
+#: templates/js/translated/company.js:504
+#: templates/js/translated/company.js:761
+#: templates/js/translated/model_renderers.js:175
+#: templates/js/translated/part.js:464 templates/js/translated/part.js:541
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:155
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:161
-#: templates/js/translated/model_renderers.js:169
-#: templates/js/translated/order.js:1503
-#: templates/js/translated/table_filters.js:166
+#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524
+#: templates/js/translated/table_filters.js:182
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960
+#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961
msgid "On Order"
msgstr ""
-#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:181
+#: part/templates/part/part_base.html:199
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:188
+#: part/templates/part/part_base.html:206
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373
+#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776
-#: templates/js/translated/part.js:964
+#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793
+#: templates/js/translated/part.js:965
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:223
-#: part/templates/part/part_base.html:531
-#: part/templates/part/part_base.html:557
-msgid "Show Part Details"
-msgstr ""
-
-#: part/templates/part/part_base.html:283
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144
+#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:445
+#: part/templates/part/part_base.html:363
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:526
-#: part/templates/part/part_base.html:551
-msgid "Hide Part Details"
-msgstr ""
-
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4877,7 +4691,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
-#: templates/js/translated/bom.js:327
+#: templates/js/translated/bom.js:518
msgid "No supplier pricing available"
msgstr ""
@@ -4911,13 +4725,14 @@ msgstr ""
msgid "No pricing information is available for this part."
msgstr ""
-#: part/templates/part/part_thumb.html:20
+#: part/templates/part/part_thumb.html:11
msgid "Select from existing images"
msgstr ""
#: part/templates/part/partial_delete.html:9
#, python-format
-msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
+msgid ""
+"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
"
Disable the \"Active\" part attribute and re-try.\n"
" "
msgstr ""
@@ -4980,7 +4795,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321
+#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512
msgid "Supplier Cost"
msgstr ""
@@ -5002,7 +4817,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:215 part/views.py:1801
+#: part/templates/part/prices.html:215 part/views.py:1853
msgid "Add Internal Price Break"
msgstr ""
@@ -5022,13 +4837,13 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297
-#: templates/js/translated/model_renderers.js:167
-#: templates/js/translated/part.js:766 templates/js/translated/part.js:968
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474
+#: templates/js/translated/part.js:428 templates/js/translated/part.js:783
+#: templates/js/translated/part.js:969
msgid "No Stock"
msgstr ""
-#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166
+#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158
msgid "Low Stock"
msgstr ""
@@ -5041,135 +4856,140 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:106
+#: part/templatetags/inventree_extras.py:113
msgid "Unknown database"
msgstr ""
-#: part/views.py:94
+#: part/views.py:95
msgid "Add Related Part"
msgstr ""
-#: part/views.py:149
+#: part/views.py:150
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:160
+#: part/views.py:161
msgid "Set Part Category"
msgstr ""
-#: part/views.py:210
+#: part/views.py:211
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:270
+#: part/views.py:283
msgid "Match References"
msgstr ""
-#: part/views.py:526
+#: part/views.py:567
msgid "None"
msgstr ""
-#: part/views.py:585
+#: part/views.py:626
msgid "Part QR Code"
msgstr ""
-#: part/views.py:687
+#: part/views.py:728
msgid "Select Part Image"
msgstr ""
-#: part/views.py:713
+#: part/views.py:754
msgid "Updated part image"
msgstr ""
-#: part/views.py:716
+#: part/views.py:757
msgid "Part image not found"
msgstr ""
-#: part/views.py:728
+#: part/views.py:769
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:758
+#: part/views.py:799
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:779
-msgid "Validate BOM"
-msgstr ""
-
-#: part/views.py:800
+#: part/views.py:841
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:811
+#: part/views.py:852
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:884
+#: part/views.py:925
msgid "Match Parts"
msgstr ""
-#: part/views.py:1272
+#: part/views.py:1261
+msgid "Export Bill of Materials"
+msgstr ""
+
+#: part/views.py:1313
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1279
+#: part/views.py:1320
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1288
+#: part/views.py:1329
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1437
+#: part/views.py:1478
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1447
+#: part/views.py:1488
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1454
+#: part/views.py:1495
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1502 templates/js/translated/part.js:308
+#: part/views.py:1554 templates/js/translated/part.js:309
msgid "Edit Part Category"
msgstr ""
-#: part/views.py:1540
+#: part/views.py:1592
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1546
+#: part/views.py:1598
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1555
+#: part/views.py:1607
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1656
+#: part/views.py:1708
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1712
+#: part/views.py:1764
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:1734
+#: part/views.py:1786
msgid "Added new price break"
msgstr ""
-#: part/views.py:1810
+#: part/views.py:1862
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:1818
+#: part/views.py:1870
msgid "Delete Internal Price Break"
msgstr ""
+#: report/api.py:234 report/api.py:278
+#, python-brace-format
+msgid "Template file '{filename}' is missing or does not exist"
+msgstr ""
+
#: report/models.py:182
msgid "Template name"
msgstr ""
@@ -5206,51 +5026,51 @@ msgstr ""
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:380
+#: report/models.py:382
msgid "Build Filters"
msgstr ""
-#: report/models.py:381
+#: report/models.py:383
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:423
+#: report/models.py:425
msgid "Part Filters"
msgstr ""
-#: report/models.py:424
+#: report/models.py:426
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:458
+#: report/models.py:460
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:496
+#: report/models.py:498
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:546
+#: report/models.py:548
msgid "Snippet"
msgstr ""
-#: report/models.py:547
+#: report/models.py:549
msgid "Report snippet file"
msgstr ""
-#: report/models.py:551
+#: report/models.py:553
msgid "Snippet file description"
msgstr ""
-#: report/models.py:586
+#: report/models.py:588
msgid "Asset"
msgstr ""
-#: report/models.py:587
+#: report/models.py:589
msgid "Report asset file"
msgstr ""
-#: report/models.py:590
+#: report/models.py:592
msgid "Asset file description"
msgstr ""
@@ -5267,543 +5087,582 @@ msgstr ""
msgid "Stock Item Test Report"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:83
-msgid "Test Results"
+#: report/templates/report/inventree_test_report_base.html:79
+#: stock/models.py:530 stock/templates/stock/item_base.html:238
+#: templates/js/translated/build.js:233 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1013
+#: templates/js/translated/model_renderers.js:95
+#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355
+msgid "Serial Number"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:1804
+msgid "Test Results"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:93
+#: stock/models.py:1855
msgid "Test"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:89
-#: stock/models.py:1810
+#: report/templates/report/inventree_test_report_base.html:94
+#: stock/models.py:1861
msgid "Result"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502
+#: report/templates/report/inventree_test_report_base.html:97
+#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887
msgid "Date"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:103
+#: report/templates/report/inventree_test_report_base.html:108
msgid "Pass"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:105
+#: report/templates/report/inventree_test_report_base.html:110
msgid "Fail"
msgstr ""
-#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556
-#: stock/templates/stock/item_base.html:395
-#: templates/js/translated/stock.js:946
+#: report/templates/report/inventree_test_report_base.html:123
+msgid "Installed Items"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:137
+#: templates/js/translated/stock.js:2147
+msgid "Serial"
+msgstr ""
+
+#: stock/api.py:422
+msgid "Quantity is required"
+msgstr ""
+
+#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587
+#: stock/templates/stock/item_base.html:382
+#: templates/js/translated/stock.js:1246
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:308
+#: stock/forms.py:92 stock/forms.py:266
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:83
+#: stock/forms.py:95
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:134
+#: stock/forms.py:150
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:138 stock/forms.py:282
+#: stock/forms.py:154 stock/forms.py:238
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:168 stock/forms.py:224
-msgid "Select test report template"
-msgstr ""
-
-#: stock/forms.py:240
+#: stock/forms.py:194
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:270
+#: stock/forms.py:224
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:280
+#: stock/forms.py:236
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm removal of installed stock items"
msgstr ""
-#: stock/models.py:57 stock/models.py:593
+#: stock/models.py:60 stock/models.py:624
+#: stock/templates/stock/item_base.html:422
msgid "Owner"
msgstr ""
-#: stock/models.py:58 stock/models.py:594
+#: stock/models.py:61 stock/models.py:625
msgid "Select Owner"
msgstr ""
-#: stock/models.py:322
+#: stock/models.py:352
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:358
+#: stock/models.py:388
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:368 stock/models.py:377
+#: stock/models.py:398 stock/models.py:407
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:369
+#: stock/models.py:399
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:391
+#: stock/models.py:421
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:397
+#: stock/models.py:427
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:404
+#: stock/models.py:434
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:446
+#: stock/models.py:476
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:455
+#: stock/models.py:485
msgid "Base part"
msgstr ""
-#: stock/models.py:464
+#: stock/models.py:493
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8
+#: stock/models.py:498 stock/templates/stock/location.html:12
+#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:472
+#: stock/models.py:501
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:479
+#: stock/models.py:508
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:484 stock/templates/stock/item_base.html:284
+#: stock/models.py:513 stock/templates/stock/item_base.html:271
msgid "Installed In"
msgstr ""
-#: stock/models.py:487
+#: stock/models.py:516
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:503
+#: stock/models.py:532
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:515
+#: stock/models.py:546
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:519
+#: stock/models.py:550
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:528
+#: stock/models.py:559
msgid "Source Build"
msgstr ""
-#: stock/models.py:530
+#: stock/models.py:561
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:541
+#: stock/models.py:572
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:544
+#: stock/models.py:575
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:550
+#: stock/models.py:581
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:557
+#: stock/models.py:588
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:580 stock/templates/stock/item.html:99
-#: stock/templates/stock/navbar.html:54
+#: stock/models.py:611 stock/templates/stock/item.html:111
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:589
+#: stock/models.py:620
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:599
+#: stock/models.py:630
msgid "Scheduled for deletion"
msgstr ""
-#: stock/models.py:600
+#: stock/models.py:631
msgid "This StockItem will be deleted by the background worker"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1094
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1069
+#: stock/models.py:1100
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1075
+#: stock/models.py:1106
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1078
+#: stock/models.py:1109
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1081
+#: stock/models.py:1112
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1088
+#: stock/models.py:1119
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1246
+#: stock/models.py:1277
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:1724
+#: stock/models.py:1775
msgid "Entry notes"
msgstr ""
-#: stock/models.py:1781
+#: stock/models.py:1832
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:1787
+#: stock/models.py:1838
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:1805
+#: stock/models.py:1856
msgid "Test name"
msgstr ""
-#: stock/models.py:1811 templates/js/translated/table_filters.js:244
+#: stock/models.py:1862 templates/js/translated/table_filters.js:260
msgid "Test result"
msgstr ""
-#: stock/models.py:1817
+#: stock/models.py:1868
msgid "Test output value"
msgstr ""
-#: stock/models.py:1824
+#: stock/models.py:1875
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:1830
+#: stock/models.py:1881
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:424
-msgid "StockItem primary key value"
+#: stock/serializers.py:166
+msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:452
-msgid "Stock transaction notes"
+#: stock/serializers.py:173
+msgid "Purchase currency of this stock item"
msgstr ""
-#: stock/serializers.py:462
-msgid "A list of stock items must be provided"
+#: stock/serializers.py:287
+msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:554
+#: stock/serializers.py:302
+#, python-brace-format
+msgid "Quantity must not exceed available stock quantity ({q})"
+msgstr ""
+
+#: stock/serializers.py:308
+msgid "Enter serial numbers for new items"
+msgstr ""
+
+#: stock/serializers.py:319 stock/serializers.py:687
msgid "Destination stock location"
msgstr ""
-#: stock/templates/stock/item.html:17
+#: stock/serializers.py:326
+msgid "Optional note field"
+msgstr ""
+
+#: stock/serializers.py:339
+msgid "Serial numbers cannot be assigned to this part"
+msgstr ""
+
+#: stock/serializers.py:557
+msgid "StockItem primary key value"
+msgstr ""
+
+#: stock/serializers.py:585
+msgid "Stock transaction notes"
+msgstr ""
+
+#: stock/serializers.py:595
+msgid "A list of stock items must be provided"
+msgstr ""
+
+#: stock/templates/stock/item.html:18
msgid "Stock Tracking Information"
msgstr ""
-#: stock/templates/stock/item.html:30
+#: stock/templates/stock/item.html:29
msgid "New Entry"
msgstr ""
-#: stock/templates/stock/item.html:43
+#: stock/templates/stock/item.html:48
msgid "Child Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:50
+#: stock/templates/stock/item.html:55
msgid "This stock item does not have any child items"
msgstr ""
-#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19
-#: stock/templates/stock/navbar.html:22
+#: stock/templates/stock/item.html:64
msgid "Test Data"
msgstr ""
-#: stock/templates/stock/item.html:66
-msgid "Delete Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:70
-msgid "Add Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95
+#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50
msgid "Test Report"
msgstr ""
-#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27
+#: stock/templates/stock/item.html:72
+msgid "Delete Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:76
+msgid "Add Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:133
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:125 stock/views.py:511
+#: stock/templates/stock/item.html:137 stock/views.py:515
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326
+#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:346
+#: stock/templates/stock/item.html:363
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:360
+#: stock/templates/stock/item.html:377
msgid "Delete Test Result"
msgstr ""
-#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:399
-#: templates/js/translated/table_filters.js:225
-msgid "Expired"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:401
-#: templates/js/translated/table_filters.js:231
-msgid "Stale"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:80
-#: templates/js/translated/barcode.js:331
-#: templates/js/translated/barcode.js:336
+#: stock/templates/stock/item_base.html:35
+#: templates/js/translated/barcode.js:330
+#: templates/js/translated/barcode.js:335
msgid "Unlink Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/item_base.html:37
msgid "Link Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31
+#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24
msgid "Scan to Location"
msgstr ""
-#: stock/templates/stock/item_base.html:91
+#: stock/templates/stock/item_base.html:46
msgid "Printing actions"
msgstr ""
-#: stock/templates/stock/item_base.html:104
+#: stock/templates/stock/item_base.html:65
msgid "Stock adjustment actions"
msgstr ""
-#: stock/templates/stock/item_base.html:108
-#: stock/templates/stock/location.html:69 templates/stock_table.html:57
+#: stock/templates/stock/item_base.html:69
+#: stock/templates/stock/location.html:47 templates/stock_table.html:50
msgid "Count stock"
msgstr ""
-#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55
+#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48
msgid "Add stock"
msgstr ""
-#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56
+#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49
msgid "Remove stock"
msgstr ""
-#: stock/templates/stock/item_base.html:117
+#: stock/templates/stock/item_base.html:78
msgid "Serialize stock"
msgstr ""
-#: stock/templates/stock/item_base.html:121
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/location.html:53
msgid "Transfer stock"
msgstr ""
-#: stock/templates/stock/item_base.html:124
+#: stock/templates/stock/item_base.html:85
msgid "Assign to customer"
msgstr ""
-#: stock/templates/stock/item_base.html:127
+#: stock/templates/stock/item_base.html:88
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install"
msgstr ""
-#: stock/templates/stock/item_base.html:145
+#: stock/templates/stock/item_base.html:106
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:109
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:150
+#: stock/templates/stock/item_base.html:111
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:153
+#: stock/templates/stock/item_base.html:114
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:173
+#: stock/templates/stock/item_base.html:136
+#: stock/templates/stock/item_base.html:386
+#: templates/js/translated/table_filters.js:241
+msgid "Expired"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/table_filters.js:247
+msgid "Stale"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:161
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:180
+#: stock/templates/stock/item_base.html:168
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:181
+#: stock/templates/stock/item_base.html:169
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:194
+#: stock/templates/stock/item_base.html:182
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:202
+#: stock/templates/stock/item_base.html:190
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:210
+#: stock/templates/stock/item_base.html:198
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:216
+#: stock/templates/stock/item_base.html:204
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:220
+#: stock/templates/stock/item_base.html:208
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:224
+#: stock/templates/stock/item_base.html:212
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:232
-msgid "Stock Item Details"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:241
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:260
+#: stock/templates/stock/item_base.html:247
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:303
-#: templates/js/translated/build.js:658
+#: stock/templates/stock/item_base.html:290
+#: templates/js/translated/build.js:1035
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:310
+#: stock/templates/stock/item_base.html:297
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:352
+#: stock/templates/stock/item_base.html:339
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:370
+#: stock/templates/stock/item_base.html:357
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:399
+#: stock/templates/stock/item_base.html:386
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:401
+#: stock/templates/stock/item_base.html:388
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:408
-#: templates/js/translated/stock.js:959
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1259
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:413
+#: stock/templates/stock/item_base.html:400
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:417
+#: stock/templates/stock/item_base.html:404
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:428
+#: stock/templates/stock/item_base.html:415
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:516
-msgid "Save"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:528
+#: stock/templates/stock/item_base.html:504
msgid "Edit Stock Status"
msgstr ""
@@ -5857,106 +5716,68 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:20
-msgid "You are not in the list of owners of this location. This stock location cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/location.html:37
-msgid "All stock items"
-msgstr ""
-
-#: stock/templates/stock/location.html:42
-msgid "Create new stock location"
-msgstr ""
-
-#: stock/templates/stock/location.html:55
+#: stock/templates/stock/location.html:33
msgid "Check-in Items"
msgstr ""
-#: stock/templates/stock/location.html:83
+#: stock/templates/stock/location.html:61
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:85
+#: stock/templates/stock/location.html:63
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:87
+#: stock/templates/stock/location.html:65
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:99
-msgid "Location Details"
+#: stock/templates/stock/location.html:75
+msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:104
-msgid "Location Path"
+#: stock/templates/stock/location.html:76
+msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:109
-msgid "Location Description"
+#: stock/templates/stock/location.html:86
+msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:114
-#: stock/templates/stock/location.html:155
-#: stock/templates/stock/location_navbar.html:11
-#: stock/templates/stock/location_navbar.html:14
+#: stock/templates/stock/location.html:95
+msgid "You are not in the list of owners of this location. This stock location cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/location.html:113
+#: stock/templates/stock/location.html:160
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:124
-msgid "Stock Details"
+#: stock/templates/stock/location.html:118
+#: stock/templates/stock/location.html:132
+#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158
+#: templates/js/translated/stock.js:1871 templates/stats.html:93
+#: templates/stats.html:102 users/models.py:43
+msgid "Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196
+#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170
#: templates/stats.html:97 users/models.py:42
msgid "Stock Locations"
msgstr ""
-#: stock/templates/stock/location.html:162 templates/stock_table.html:37
+#: stock/templates/stock/location.html:167 templates/stock_table.html:30
msgid "Printing Actions"
msgstr ""
-#: stock/templates/stock/location.html:166 templates/stock_table.html:41
+#: stock/templates/stock/location.html:171 templates/stock_table.html:34
msgid "Print labels"
msgstr ""
-#: stock/templates/stock/location.html:250
-msgid "New Location"
-msgstr ""
-
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
-msgstr ""
-
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: stock/templates/stock/navbar.html:11
-msgid "Stock Item Tracking"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:14
-msgid "History"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:30
-msgid "Installed Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:38
-msgid "Child Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:41
-msgid "Children"
-msgstr ""
-
-#: stock/templates/stock/stock_adjust.html:43
-msgid "Remove item"
-msgstr ""
-
#: stock/templates/stock/stock_app_base.html:16
msgid "Loading..."
msgstr ""
@@ -5965,7 +5786,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912
msgid "Convert Stock Item"
msgstr ""
@@ -5986,104 +5807,100 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:158
+#: stock/views.py:162
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:265 stock/views.py:888 stock/views.py:1010
-#: stock/views.py:1375
+#: stock/views.py:269 stock/views.py:891 stock/views.py:1017
+#: stock/views.py:1299
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:280
+#: stock/views.py:284
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:299
+#: stock/views.py:303
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:308
+#: stock/views.py:312
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:332
+#: stock/views.py:336
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:345
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:352
+#: stock/views.py:356
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:363
+#: stock/views.py:367
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:380
+#: stock/views.py:384
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:485
+#: stock/views.py:489
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:660
+#: stock/views.py:663
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:757 templates/js/translated/stock.js:321
+#: stock/views.py:760 templates/js/translated/stock.js:618
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:768
+#: stock/views.py:771
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:790
+#: stock/views.py:793 templates/js/translated/stock.js:288
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:936
+#: stock/views.py:943
msgid "Create new Stock Location"
msgstr ""
-#: stock/views.py:1027
-msgid "Serialize Stock"
-msgstr ""
-
-#: stock/views.py:1120
+#: stock/views.py:1044
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1262
+#: stock/views.py:1186 templates/js/translated/stock.js:268
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1344
+#: stock/views.py:1268
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1444
+#: stock/views.py:1368
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1457
+#: stock/views.py:1381
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1468
+#: stock/views.py:1392
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1475
+#: stock/views.py:1399
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1484
+#: stock/views.py:1408
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6107,63 +5924,67 @@ msgstr ""
msgid "Index"
msgstr ""
-#: templates/InvenTree/index.html:105
-msgid "Starred Parts"
+#: templates/InvenTree/index.html:88
+msgid "Subscribed Parts"
msgstr ""
-#: templates/InvenTree/index.html:115
+#: templates/InvenTree/index.html:98
+msgid "Subscribed Categories"
+msgstr ""
+
+#: templates/InvenTree/index.html:108
msgid "Latest Parts"
msgstr ""
-#: templates/InvenTree/index.html:126
+#: templates/InvenTree/index.html:119
msgid "BOM Waiting Validation"
msgstr ""
-#: templates/InvenTree/index.html:153
+#: templates/InvenTree/index.html:145
msgid "Recently Updated"
msgstr ""
-#: templates/InvenTree/index.html:176
+#: templates/InvenTree/index.html:168
msgid "Depleted Stock"
msgstr ""
-#: templates/InvenTree/index.html:199
+#: templates/InvenTree/index.html:191
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:202
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:232
+#: templates/InvenTree/index.html:224
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:243
+#: templates/InvenTree/index.html:235
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:263
+#: templates/InvenTree/index.html:255
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:274
+#: templates/InvenTree/index.html:266
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:294
+#: templates/InvenTree/index.html:286
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:305
+#: templates/InvenTree/index.html:297
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14
+#: templates/InvenTree/search.html:8
msgid "Search Results"
msgstr ""
-#: templates/InvenTree/search.html:24
+#: templates/InvenTree/search.html:22
msgid "Enter a search query"
msgstr ""
@@ -6183,23 +6004,23 @@ msgstr ""
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:23
+#: templates/InvenTree/settings/currencies.html:19
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:27
+#: templates/InvenTree/settings/currencies.html:24
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:37
+#: templates/InvenTree/settings/currencies.html:38
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:43
+#: templates/InvenTree/settings/currencies.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:48
+#: templates/InvenTree/settings/currencies.html:49
msgid "Update Now"
msgstr ""
@@ -6207,147 +6028,74 @@ msgstr ""
msgid "Server Settings"
msgstr ""
-#: templates/InvenTree/settings/header.html:7
-msgid "Setting"
-msgstr ""
-
#: templates/InvenTree/settings/login.html:9
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:12
-#: templates/InvenTree/settings/user_settings.html:9
-msgid "User Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:15
-#: templates/InvenTree/settings/navbar.html:17
-msgid "Account"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:21
-#: templates/InvenTree/settings/navbar.html:23
-msgid "Home Page"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29
-#: templates/js/translated/tables.js:375 templates/search_form.html:6
-#: templates/search_form.html:8
-msgid "Search"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:33
-#: templates/InvenTree/settings/navbar.html:35
-msgid "Labels"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:39
-#: templates/InvenTree/settings/navbar.html:41
-msgid "Reports"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:45
-#: templates/InvenTree/settings/navbar.html:47
-msgid "Forms"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:52
-#: templates/InvenTree/settings/navbar.html:54
-#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90
-msgid "Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:62
-msgid "InvenTree Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:65
-#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87
-msgid "Login"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:77
-#: templates/InvenTree/settings/navbar.html:79
-msgid "Barcodes"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85
-msgid "Currencies"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91
-msgid "Reporting"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103
-msgid "Categories"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:7
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:12
-msgid "Part Options"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:43
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:47
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:59
+#: templates/InvenTree/settings/part.html:61
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/po.html:9
+#: templates/InvenTree/settings/po.html:7
msgid "Purchase Order Settings"
msgstr ""
-#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:29
+#: templates/InvenTree/settings/setting.html:28
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:41
+#: templates/InvenTree/settings/setting.html:39
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:154
+#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93
+msgid "Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+msgid "Edit Global Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+msgid "Edit User Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:148
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:176
-#: templates/InvenTree/settings/settings.html:275
+#: templates/InvenTree/settings/settings.html:170
+#: templates/InvenTree/settings/settings.html:269
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:177
-#: templates/InvenTree/settings/settings.html:276
+#: templates/InvenTree/settings/settings.html:171
+#: templates/InvenTree/settings/settings.html:270
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:255
+#: templates/InvenTree/settings/settings.html:249
msgid "No part parameter templates found"
msgstr ""
@@ -6363,134 +6111,154 @@ msgstr ""
msgid "Account Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:19
+#: templates/InvenTree/settings/user.html:18
#: templates/js/translated/helpers.js:26
msgid "Edit"
msgstr ""
-#: templates/InvenTree/settings/user.html:21
+#: templates/InvenTree/settings/user.html:20
#: templates/account/password_reset_from_key.html:4
#: templates/account/password_reset_from_key.html:7
msgid "Change Password"
msgstr ""
-#: templates/InvenTree/settings/user.html:28
+#: templates/InvenTree/settings/user.html:31
msgid "Username"
msgstr ""
-#: templates/InvenTree/settings/user.html:32
+#: templates/InvenTree/settings/user.html:35
msgid "First Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:36
+#: templates/InvenTree/settings/user.html:39
msgid "Last Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:42
-msgid "E-Mail"
+#: templates/InvenTree/settings/user.html:54
+msgid "The following email addresses are associated with your account:"
msgstr ""
-#: templates/InvenTree/settings/user.html:47
-msgid "The following e-mail addresses are associated with your account:"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:61
+#: templates/InvenTree/settings/user.html:74
msgid "Verified"
msgstr ""
-#: templates/InvenTree/settings/user.html:63
+#: templates/InvenTree/settings/user.html:76
msgid "Unverified"
msgstr ""
-#: templates/InvenTree/settings/user.html:65
+#: templates/InvenTree/settings/user.html:78
msgid "Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:71
+#: templates/InvenTree/settings/user.html:84
msgid "Make Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:72
+#: templates/InvenTree/settings/user.html:85
msgid "Re-send Verification"
msgstr ""
-#: templates/InvenTree/settings/user.html:73
-#: templates/InvenTree/settings/user.html:130
+#: templates/InvenTree/settings/user.html:86
+#: templates/InvenTree/settings/user.html:153
msgid "Remove"
msgstr ""
-#: templates/InvenTree/settings/user.html:80
+#: templates/InvenTree/settings/user.html:93
msgid "Warning:"
msgstr ""
-#: templates/InvenTree/settings/user.html:81
-msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc."
+#: templates/InvenTree/settings/user.html:94
+msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc."
msgstr ""
-#: templates/InvenTree/settings/user.html:88
-msgid "Add E-mail Address"
+#: templates/InvenTree/settings/user.html:101
+msgid "Add Email Address"
msgstr ""
-#: templates/InvenTree/settings/user.html:93
-msgid "Add E-mail"
+#: templates/InvenTree/settings/user.html:111
+msgid "Enter e-mail address"
msgstr ""
-#: templates/InvenTree/settings/user.html:100
+#: templates/InvenTree/settings/user.html:113
+msgid "Add Email"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:123
msgid "Social Accounts"
msgstr ""
-#: templates/InvenTree/settings/user.html:105
+#: templates/InvenTree/settings/user.html:128
msgid "You can sign in to your account using any of the following third party accounts:"
msgstr ""
-#: templates/InvenTree/settings/user.html:138
-msgid "You currently have no social network accounts connected to this account."
+#: templates/InvenTree/settings/user.html:162
+msgid "There are no social network accounts connected to your InvenTree account"
msgstr ""
-#: templates/InvenTree/settings/user.html:142
+#: templates/InvenTree/settings/user.html:167
msgid "Add a 3rd Party Account"
msgstr ""
-#: templates/InvenTree/settings/user.html:153
-msgid "Theme Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:174
-msgid "Set Theme"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:181
+#: templates/InvenTree/settings/user.html:177
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:200
+#: templates/InvenTree/settings/user.html:186
+msgid "Select language"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:202
#, python-format
msgid "%(lang_translated)s%% translated"
msgstr ""
-#: templates/InvenTree/settings/user.html:202
+#: templates/InvenTree/settings/user.html:204
msgid "No translations available"
msgstr ""
-#: templates/InvenTree/settings/user.html:209
+#: templates/InvenTree/settings/user.html:211
msgid "Set Language"
msgstr ""
-#: templates/InvenTree/settings/user.html:214
-msgid "Help the translation efforts!"
+#: templates/InvenTree/settings/user.html:213
+msgid "Some languages are not complete"
msgstr ""
#: templates/InvenTree/settings/user.html:215
+msgid "Show only sufficent"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:217
+msgid "Show them too"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:224
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:225
#, python-format
msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
msgstr ""
-#: templates/InvenTree/settings/user.html:223
-msgid "Do you really want to remove the selected e-mail address?"
+#: templates/InvenTree/settings/user.html:233
+msgid "Do you really want to remove the selected email address?"
msgstr ""
-#: templates/InvenTree/settings/user_forms.html:9
-msgid "Form Settings"
+#: templates/InvenTree/settings/user_display.html:9
+msgid "Display Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:25
+msgid "Theme Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:35
+msgid "Select theme"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:46
+msgid "Set Theme"
msgstr ""
#: templates/InvenTree/settings/user_homepage.html:9
@@ -6505,124 +6273,139 @@ msgstr ""
msgid "Search Settings"
msgstr ""
-#: templates/about.html:13
+#: templates/InvenTree/settings/user_settings.html:9
+msgid "User Settings"
+msgstr ""
+
+#: templates/about.html:10
msgid "InvenTree Version Information"
msgstr ""
-#: templates/about.html:22
+#: templates/about.html:11 templates/about.html:105
+#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:964 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
+msgid "Close"
+msgstr ""
+
+#: templates/about.html:20
msgid "InvenTree Version"
msgstr ""
-#: templates/about.html:27
+#: templates/about.html:25
msgid "Development Version"
msgstr ""
-#: templates/about.html:30
+#: templates/about.html:28
msgid "Up to Date"
msgstr ""
-#: templates/about.html:32
+#: templates/about.html:30
msgid "Update Available"
msgstr ""
-#: templates/about.html:42
+#: templates/about.html:40
msgid "Commit Hash"
msgstr ""
-#: templates/about.html:49
+#: templates/about.html:47
msgid "Commit Date"
msgstr ""
-#: templates/about.html:55
+#: templates/about.html:53
msgid "InvenTree Documentation"
msgstr ""
-#: templates/about.html:60
+#: templates/about.html:58
msgid "API Version"
msgstr ""
-#: templates/about.html:65
+#: templates/about.html:63
msgid "Python Version"
msgstr ""
-#: templates/about.html:70
+#: templates/about.html:68
msgid "Django Version"
msgstr ""
-#: templates/about.html:75
+#: templates/about.html:73
msgid "View Code on GitHub"
msgstr ""
-#: templates/about.html:80
+#: templates/about.html:78
msgid "Credits"
msgstr ""
-#: templates/about.html:85
+#: templates/about.html:83
msgid "Mobile App"
msgstr ""
-#: templates/about.html:90
+#: templates/about.html:88
msgid "Submit Bug Report"
msgstr ""
-#: templates/about.html:97 templates/clip.html:4
+#: templates/about.html:95 templates/clip.html:4
msgid "copy to clipboard"
msgstr ""
-#: templates/about.html:97
+#: templates/about.html:95
msgid "copy version information"
msgstr ""
-#: templates/about.html:107 templates/js/translated/modals.js:50
-#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678
-#: templates/js/translated/modals.js:982 templates/modals.html:29
-#: templates/modals.html:54
-msgid "Close"
-msgstr ""
-
#: templates/account/email_confirm.html:6
#: templates/account/email_confirm.html:10
-msgid "Confirm E-mail Address"
+msgid "Confirm Email Address"
msgstr ""
#: templates/account/email_confirm.html:16
#, python-format
-msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s."
+msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
#: templates/account/email_confirm.html:27
#, python-format
-msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request."
+msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:5 templates/account/login.html:14
-#: templates/account/login.html:36
+#: templates/account/login.html:6 templates/account/login.html:16
+#: templates/account/login.html:39
msgid "Sign In"
msgstr ""
-#: templates/account/login.html:19
+#: templates/account/login.html:21
#, python-format
-msgid "Please sign in with one\n"
+msgid ""
+"Please sign in with one\n"
"of your existing third party accounts or sign up\n"
"for a account and sign in below:"
msgstr ""
-#: templates/account/login.html:23
+#: templates/account/login.html:25
#, python-format
-msgid "If you have not created an account yet, then please\n"
+msgid ""
+"If you have not created an account yet, then please\n"
"sign up first."
msgstr ""
-#: templates/account/login.html:38
+#: templates/account/login.html:42
msgid "Forgot Password?"
msgstr ""
-#: templates/account/login.html:45
+#: templates/account/login.html:47
+msgid "InvenTree demo instance"
+msgstr ""
+
+#: templates/account/login.html:47
+msgid "Click here for login details"
+msgstr ""
+
+#: templates/account/login.html:55
msgid "or use SSO"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
-#: templates/account/logout.html:17
+#: templates/account/logout.html:20
msgid "Sign Out"
msgstr ""
@@ -6630,13 +6413,17 @@ msgstr ""
msgid "Are you sure you want to sign out?"
msgstr ""
+#: templates/account/logout.html:19
+msgid "Back to Site"
+msgstr ""
+
#: templates/account/password_reset.html:5
#: templates/account/password_reset.html:12
msgid "Password Reset"
msgstr ""
#: templates/account/password_reset.html:18
-msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it."
+msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it."
msgstr ""
#: templates/account/password_reset.html:23
@@ -6656,11 +6443,11 @@ msgstr ""
msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
msgstr ""
-#: templates/account/password_reset_from_key.html:17
-msgid "change password"
+#: templates/account/password_reset_from_key.html:18
+msgid "Change password"
msgstr ""
-#: templates/account/password_reset_from_key.html:20
+#: templates/account/password_reset_from_key.html:22
msgid "Your password is now changed."
msgstr ""
@@ -6677,6 +6464,77 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/admin_button.html:2
+msgid "View in administration panel"
+msgstr ""
+
+#: templates/base.html:96
+msgid "Server Restart Required"
+msgstr ""
+
+#: templates/base.html:99
+msgid "A configuration option has been changed which requires a server restart"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Contact your system administrator for further information"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:7
+msgid "Stock is required for the following build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:8
+#, python-format
+msgid "Build order %(build)s - building %(quantity)s x %(part)s"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:10
+msgid "Click on the following link to view this build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:14
+msgid "The following parts are low on required stock"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:18
+#: templates/js/translated/bom.js:989
+msgid "Required Quantity"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:19
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129
+#: templates/js/translated/build.js:1749
+msgid "Available"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:38
+#: templates/email/low_stock_notification.html:31
+msgid "You are receiving this email because you are subscribed to notifications for this part "
+msgstr ""
+
+#: templates/email/email.html:35
+msgid "InvenTree version"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:7
+#, python-format
+msgid " The available stock for %(part)s has fallen below the configured minimum level"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:9
+msgid "Click on the following link to view this part"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:17
+msgid "Total Stock"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:19
+msgid "Minimum Quantity"
+msgstr ""
+
#: templates/image_download.html:8
msgid "Specify URL for downloading image"
msgstr ""
@@ -6693,138 +6551,59 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/report.js:47 templates/js/translated/report.js:67
-msgid "items selected"
-msgstr ""
-
-#: templates/js/report.js:55 templates/js/translated/report.js:75
-msgid "Select Report Template"
-msgstr ""
-
-#: templates/js/report.js:70 templates/js/translated/report.js:90
-msgid "Select Test Report Template"
-msgstr ""
-
-#: templates/js/report.js:98 templates/js/translated/label.js:29
-#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/report.js:99 templates/js/translated/report.js:119
-msgid "Stock item(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:116 templates/js/report.js:169
-#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331 templates/js/translated/report.js:136
-#: templates/js/translated/report.js:189 templates/js/translated/report.js:243
-#: templates/js/translated/report.js:297 templates/js/translated/report.js:351
-msgid "No Reports Found"
-msgstr ""
-
-#: templates/js/report.js:117 templates/js/translated/report.js:137
-msgid "No report templates found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/report.js:152 templates/js/translated/report.js:172
-msgid "Select Builds"
-msgstr ""
-
-#: templates/js/report.js:153 templates/js/translated/report.js:173
-msgid "Build(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:170 templates/js/translated/report.js:190
-msgid "No report templates found which match selected build(s)"
-msgstr ""
-
-#: templates/js/report.js:205 templates/js/translated/build.js:948
-#: templates/js/translated/label.js:134 templates/js/translated/report.js:225
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/report.js:206 templates/js/translated/report.js:226
-msgid "Part(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:224 templates/js/translated/report.js:244
-msgid "No report templates found which match selected part(s)"
-msgstr ""
-
-#: templates/js/report.js:259 templates/js/translated/report.js:279
-msgid "Select Purchase Orders"
-msgstr ""
-
-#: templates/js/report.js:260 templates/js/translated/report.js:280
-msgid "Purchase Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/report.js:278 templates/js/report.js:332
-#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
-msgid "No report templates found which match selected orders"
-msgstr ""
-
-#: templates/js/report.js:313 templates/js/translated/report.js:333
-msgid "Select Sales Orders"
-msgstr ""
-
-#: templates/js/report.js:314 templates/js/translated/report.js:334
-msgid "Sales Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053
+#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035
msgid "No response from the InvenTree server"
msgstr ""
-#: templates/js/translated/api.js:181
+#: templates/js/translated/api.js:191
msgid "Error 400: Bad request"
msgstr ""
-#: templates/js/translated/api.js:182
+#: templates/js/translated/api.js:192
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063
+#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055
msgid "The requested resource could not be located on the server"
msgstr ""
-#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060
msgid "Connection timeout while requesting data from server"
msgstr ""
-#: templates/js/translated/api.js:205
+#: templates/js/translated/api.js:215
msgid "Unhandled Error Code"
msgstr ""
-#: templates/js/translated/api.js:206
+#: templates/js/translated/api.js:216
msgid "Error code"
msgstr ""
@@ -6832,292 +6611,369 @@ msgstr ""
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:91
+#: templates/js/translated/attachment.js:95
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:104
+#: templates/js/translated/attachment.js:108
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:115
msgid "Delete attachment"
msgstr ""
-#: templates/js/translated/barcode.js:30
+#: templates/js/translated/barcode.js:29
msgid "Scan barcode data here using wedge scanner"
msgstr ""
-#: templates/js/translated/barcode.js:32
+#: templates/js/translated/barcode.js:31
msgid "Enter barcode data"
msgstr ""
-#: templates/js/translated/barcode.js:36
+#: templates/js/translated/barcode.js:35
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:54
+#: templates/js/translated/barcode.js:53
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:55
+#: templates/js/translated/barcode.js:54
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:93
+#: templates/js/translated/barcode.js:92
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:114
+#: templates/js/translated/barcode.js:113
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:141
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/barcode.js:140
+#: templates/js/translated/modals.js:1024
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:234
+#: templates/js/translated/barcode.js:233
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:281 templates/navbar.html:65
+#: templates/js/translated/barcode.js:280 templates/navbar.html:69
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:292
+#: templates/js/translated/barcode.js:291
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:310
+#: templates/js/translated/barcode.js:309
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:333
+#: templates/js/translated/barcode.js:332
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:339
+#: templates/js/translated/barcode.js:338
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273
+#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:440
+#: templates/js/translated/barcode.js:439
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:444
-#: templates/js/translated/barcode.js:571
+#: templates/js/translated/barcode.js:443
+#: templates/js/translated/barcode.js:573
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:486
-#: templates/js/translated/barcode.js:610
+#: templates/js/translated/barcode.js:485
+#: templates/js/translated/barcode.js:612
msgid "Error transferring stock"
msgstr ""
-#: templates/js/translated/barcode.js:505
+#: templates/js/translated/barcode.js:507
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:509
+#: templates/js/translated/barcode.js:511
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:516
+#: templates/js/translated/barcode.js:518
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:523
+#: templates/js/translated/barcode.js:525
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:566
+#: templates/js/translated/barcode.js:568
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:629
+#: templates/js/translated/barcode.js:633
msgid "Barcode does not match a valid location"
msgstr ""
-#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495
+#: templates/js/translated/bom.js:184
+msgid "Remove substitute part"
+msgstr ""
+
+#: templates/js/translated/bom.js:226
+msgid "Select and add a new variant item using the input below"
+msgstr ""
+
+#: templates/js/translated/bom.js:237
+msgid "Are you sure you wish to remove this substitute part link?"
+msgstr ""
+
+#: templates/js/translated/bom.js:243
+msgid "Remove Substitute Part"
+msgstr ""
+
+#: templates/js/translated/bom.js:282
+msgid "Add Substitute"
+msgstr ""
+
+#: templates/js/translated/bom.js:283
+msgid "Edit BOM Item Substitutes"
+msgstr ""
+
+#: templates/js/translated/bom.js:402
+msgid "Substitutes Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111
+msgid "Variant stock allowed"
+msgstr ""
+
+#: templates/js/translated/bom.js:411
msgid "Open subassembly"
msgstr ""
-#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744
-#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522
-msgid "Available"
+#: templates/js/translated/bom.js:483
+msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:307
+#: templates/js/translated/bom.js:498
msgid "Purchase Price Range"
msgstr ""
-#: templates/js/translated/bom.js:314
+#: templates/js/translated/bom.js:505
msgid "Purchase Price Average"
msgstr ""
-#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449
+#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798
-#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285
+#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183
+#: templates/js/translated/order.js:1298
msgid "Actions"
msgstr ""
-#: templates/js/translated/bom.js:423
+#: templates/js/translated/bom.js:614
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:425
+#: templates/js/translated/bom.js:616
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590
+#: templates/js/translated/bom.js:618
+msgid "Edit substitute parts"
+msgstr ""
+
+#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575
+#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:1593
+#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/build.js:71
-msgid "Edit Build Order"
+#: templates/js/translated/bom.js:772
+msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/build.js:105
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/translated/build.js:138
-msgid "Allocate stock items to this build output"
-msgstr ""
-
-#: templates/js/translated/build.js:146
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/translated/build.js:155
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:164
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:265
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356
-#: templates/js/translated/order.js:1292
-msgid "Edit stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357
-#: templates/js/translated/order.js:1293
-msgid "Delete stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:695
-msgid "Edit Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:705
-msgid "Remove Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:718
+#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095
msgid "Required Part"
msgstr ""
-#: templates/js/translated/build.js:739
+#: templates/js/translated/bom.js:994
+msgid "Inherited from parent BOM"
+msgstr ""
+
+#: templates/js/translated/build.js:78
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:112
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:133
+msgid "Allocate stock items to this build output"
+msgstr ""
+
+#: templates/js/translated/build.js:144
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:153
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:161
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:184
+msgid "Are you sure you wish to unallocate stock items from this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:202
+msgid "Unallocate Stock Items"
+msgstr ""
+
+#: templates/js/translated/build.js:220
+msgid "Select Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:221
+msgid "At least one build output must be selected"
+msgstr ""
+
+#: templates/js/translated/build.js:275
+msgid "Output"
+msgstr ""
+
+#: templates/js/translated/build.js:291
+msgid "Complete Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:386
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:603
+msgid "No active build outputs found"
+msgstr ""
+
+#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760
+#: templates/js/translated/order.js:1305
+msgid "Edit stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761
+#: templates/js/translated/order.js:1306
+msgid "Delete stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1072
+msgid "Edit Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1082
+msgid "Remove Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1107
+msgid "Substitute parts available"
+msgstr ""
+
+#: templates/js/translated/build.js:1124
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:749 templates/js/translated/build.js:975
-#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514
+#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360
+#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553
-#: templates/js/translated/order.js:1567
+#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557
-#: templates/stock_table.html:59
+#: templates/js/translated/build.js:1194 templates/stock_table.html:52
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560
+#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:880
+#: templates/js/translated/build.js:1262
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:949
+#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134
+#: templates/js/translated/report.js:225
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/translated/build.js:1334
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:963
+#: templates/js/translated/build.js:1348
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:992
+#: templates/js/translated/build.js:1377
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/build.js:993
+#: templates/js/translated/build.js:1378
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:1004
+#: templates/js/translated/build.js:1389
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:1048
+#: templates/js/translated/build.js:1451
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:1172
+#: templates/js/translated/build.js:1576
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856
-#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762
-#: templates/js/translated/stock.js:1456
+#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873
+#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064
+#: templates/js/translated/stock.js:1841
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:1209
+#: templates/js/translated/build.js:1613
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675
+#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:1282
+#: templates/js/translated/build.js:1686
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:1333
+#: templates/js/translated/build.js:1737
msgid "No parts allocated for"
msgstr ""
@@ -7137,7 +6993,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:164 templates/js/translated/order.js:89
+#: templates/js/translated/company.js:164 templates/js/translated/order.js:90
msgid "Add Supplier"
msgstr ""
@@ -7186,34 +7042,34 @@ msgid "No manufacturer parts found"
msgstr ""
#: templates/js/translated/company.js:496
-#: templates/js/translated/company.js:753 templates/js/translated/part.js:427
-#: templates/js/translated/part.js:512
+#: templates/js/translated/company.js:753 templates/js/translated/part.js:448
+#: templates/js/translated/part.js:533
msgid "Template part"
msgstr ""
#: templates/js/translated/company.js:500
-#: templates/js/translated/company.js:757 templates/js/translated/part.js:431
-#: templates/js/translated/part.js:516
+#: templates/js/translated/company.js:757 templates/js/translated/part.js:452
+#: templates/js/translated/part.js:537
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:627 templates/js/translated/part.js:604
+#: templates/js/translated/company.js:627 templates/js/translated/part.js:625
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:664 templates/js/translated/part.js:646
+#: templates/js/translated/company.js:664 templates/js/translated/part.js:667
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:665 templates/js/translated/part.js:647
+#: templates/js/translated/company.js:665 templates/js/translated/part.js:668
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:684 templates/js/translated/part.js:664
+#: templates/js/translated/company.js:684 templates/js/translated/part.js:685
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:695 templates/js/translated/part.js:676
+#: templates/js/translated/company.js:695 templates/js/translated/part.js:697
msgid "Delete Parameter"
msgstr ""
@@ -7222,12 +7078,12 @@ msgid "No supplier parts found"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:407
+#: templates/js/translated/filters.js:420
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:408
+#: templates/js/translated/filters.js:421
msgid "false"
msgstr ""
@@ -7235,57 +7091,61 @@ msgstr ""
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:284
+#: templates/js/translated/filters.js:286
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:286
+#: templates/js/translated/filters.js:290
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:289
+#: templates/js/translated/filters.js:293
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:317
+#: templates/js/translated/filters.js:329
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336
-#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360
+#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364
+#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:324
+#: templates/js/translated/forms.js:351
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:337
+#: templates/js/translated/forms.js:366
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:349
+#: templates/js/translated/forms.js:380
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:361
+#: templates/js/translated/forms.js:394
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:968 templates/modals.html:21
-#: templates/modals.html:47
+#: templates/js/translated/forms.js:679
+msgid "Enter a valid number"
+msgstr ""
+
+#: templates/js/translated/forms.js:1071 templates/modals.html:19
+#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1323
+#: templates/js/translated/forms.js:1457
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1525
+#: templates/js/translated/forms.js:1661
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:1742
+#: templates/js/translated/forms.js:1878
msgid "Clear input"
msgstr ""
@@ -7297,6 +7157,11 @@ msgstr ""
msgid "NO"
msgstr ""
+#: templates/js/translated/label.js:29 templates/js/translated/report.js:118
+#: templates/js/translated/stock.js:594
+msgid "Select Stock Items"
+msgstr ""
+
#: templates/js/translated/label.js:30
msgid "Stock item(s) must be selected before printing labels"
msgstr ""
@@ -7342,62 +7207,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119
+#: templates/js/translated/modals.js:593
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981
-#: templates/modals.html:30 templates/modals.html:55
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963
+#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:117
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:397
+#: templates/js/translated/modals.js:380
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:556
+#: templates/js/translated/modals.js:539
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:592
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:649
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:945
+#: templates/js/translated/modals.js:927
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/modals.js:1024
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1057
+#: templates/js/translated/modals.js:1039
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1058
+#: templates/js/translated/modals.js:1040
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1081
+#: templates/js/translated/modals.js:1063
msgid "Error requesting form data"
msgstr ""
@@ -7405,35 +7270,35 @@ msgstr ""
msgid "Company ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:90
+#: templates/js/translated/model_renderers.js:77
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:125
+#: templates/js/translated/model_renderers.js:130
msgid "Location ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:142
+#: templates/js/translated/model_renderers.js:147
msgid "Build ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:177
+#: templates/js/translated/model_renderers.js:182
msgid "Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:231
+#: templates/js/translated/model_renderers.js:236
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:251
+#: templates/js/translated/model_renderers.js:256
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:288
+#: templates/js/translated/model_renderers.js:293
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:317
+#: templates/js/translated/model_renderers.js:322
msgid "Supplier Part ID"
msgstr ""
@@ -7445,565 +7310,688 @@ msgstr ""
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:207
+#: templates/js/translated/order.js:208
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96
+#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393
msgid "Format"
msgstr ""
-#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97
+#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394
msgid "Select file format"
msgstr ""
-#: templates/js/translated/order.js:299
+#: templates/js/translated/order.js:300
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:300
+#: templates/js/translated/order.js:301
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:325
+#: templates/js/translated/order.js:326
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343
+#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:426
+#: templates/js/translated/order.js:427
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:428
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:429
+#: templates/js/translated/order.js:430
msgid "Receive"
msgstr ""
-#: templates/js/translated/order.js:448
+#: templates/js/translated/order.js:449
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:449
+#: templates/js/translated/order.js:450
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:626
+#: templates/js/translated/order.js:627
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028
+#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602
+#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613
+#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:800
+#: templates/js/translated/order.js:801
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432
+#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457
-#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554
+#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470
+#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464
-msgid "Total price"
+#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486
+msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573
+#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:963
+#: templates/js/translated/order.js:976
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:967
+#: templates/js/translated/order.js:980
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1004
+#: templates/js/translated/order.js:1017
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1055
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1120
+#: templates/js/translated/order.js:1133
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:1213
+#: templates/js/translated/order.js:1226
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1231
+#: templates/js/translated/order.js:1244
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1273
+#: templates/js/translated/order.js:1286
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:1514
+#: templates/js/translated/order.js:1535
msgid "Fulfilled"
msgstr ""
-#: templates/js/translated/order.js:1557
+#: templates/js/translated/order.js:1579
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1585
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725
+#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1596
msgid "Delete line item "
msgstr ""
-#: templates/js/translated/order.js:1673
+#: templates/js/translated/order.js:1719
msgid "Allocate Stock Item"
msgstr ""
-#: templates/js/translated/order.js:1733
+#: templates/js/translated/order.js:1779
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1747
+#: templates/js/translated/order.js:1793
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/part.js:49
+#: templates/js/translated/part.js:50
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:53
+#: templates/js/translated/part.js:54
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:57
+#: templates/js/translated/part.js:58
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:61
+#: templates/js/translated/part.js:62
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:75
+#: templates/js/translated/part.js:76
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:164
+#: templates/js/translated/part.js:165
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:165
+#: templates/js/translated/part.js:166
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:172
+#: templates/js/translated/part.js:173
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:173
+#: templates/js/translated/part.js:174
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:180
+#: templates/js/translated/part.js:181
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:191
+#: templates/js/translated/part.js:192
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:192
+#: templates/js/translated/part.js:193
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:201
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:202
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:257
+#: templates/js/translated/part.js:258
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:258
+#: templates/js/translated/part.js:259
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:265
-msgid "Copy BOM"
-msgstr ""
-
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:267
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:273
+#: templates/js/translated/part.js:274
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:274
+#: templates/js/translated/part.js:275
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:287
+#: templates/js/translated/part.js:288
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:331
+#: templates/js/translated/part.js:332
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:419 templates/js/translated/part.js:504
+#: templates/js/translated/part.js:334
+msgid "Part edited"
+msgstr ""
+
+#: templates/js/translated/part.js:402
+msgid "You are subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:404
+msgid "You have subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:409
+msgid "Subscribe to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:411
+msgid "You have unsubscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:440 templates/js/translated/part.js:525
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:423 templates/js/translated/part.js:508
+#: templates/js/translated/part.js:444 templates/js/translated/part.js:529
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:435
-msgid "Starred part"
+#: templates/js/translated/part.js:456
+msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:439
+#: templates/js/translated/part.js:460
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:554
+#: templates/js/translated/part.js:575
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005
+#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:932
+#: templates/js/translated/part.js:933
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:955
-#: templates/js/translated/table_filters.js:359
+#: templates/js/translated/part.js:956
+#: templates/js/translated/table_filters.js:375
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480
+#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200
+#: templates/js/translated/stock.js:1802
+msgid "Display as list"
+msgstr ""
+
+#: templates/js/translated/part.js:1044
+msgid "Display as grid"
+msgstr ""
+
+#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821
+msgid "Display as tree"
+msgstr ""
+
+#: templates/js/translated/part.js:1283
+msgid "Subscribed category"
+msgstr ""
+
+#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1202
+#: templates/js/translated/part.js:1341
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493
+#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494
+#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1260
+#: templates/js/translated/part.js:1399
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1282
+#: templates/js/translated/part.js:1421
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1296
+#: templates/js/translated/part.js:1435
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1321
+#: templates/js/translated/part.js:1460
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1376
+#: templates/js/translated/part.js:1515
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1377
+#: templates/js/translated/part.js:1516
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1478
+#: templates/js/translated/part.js:1617
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1497
+#: templates/js/translated/part.js:1636
msgid "Single Price Difference"
msgstr ""
-#: templates/js/translated/stock.js:63
+#: templates/js/translated/report.js:67
+msgid "items selected"
+msgstr ""
+
+#: templates/js/translated/report.js:75
+msgid "Select Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:90
+msgid "Select Test Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:119
+msgid "Stock item(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:136 templates/js/translated/report.js:189
+#: templates/js/translated/report.js:243 templates/js/translated/report.js:297
+#: templates/js/translated/report.js:351
+msgid "No Reports Found"
+msgstr ""
+
+#: templates/js/translated/report.js:137
+msgid "No report templates found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:172
+msgid "Select Builds"
+msgstr ""
+
+#: templates/js/translated/report.js:173
+msgid "Build(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:190
+msgid "No report templates found which match selected build(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:226
+msgid "Part(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:244
+msgid "No report templates found which match selected part(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:279
+msgid "Select Purchase Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:280
+msgid "Purchase Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
+msgid "No report templates found which match selected orders"
+msgstr ""
+
+#: templates/js/translated/report.js:333
+msgid "Select Sales Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:334
+msgid "Sales Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/stock.js:70
+msgid "Serialize Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:90
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:126
+msgid "New Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:189
+msgid "Enter initial quantity for this stock item"
+msgstr ""
+
+#: templates/js/translated/stock.js:195
+msgid "Enter serial numbers for new stock (or leave blank)"
+msgstr ""
+
+#: templates/js/translated/stock.js:338
+msgid "Created new stock item"
+msgstr ""
+
+#: templates/js/translated/stock.js:351
+msgid "Created multiple stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:390
msgid "Export Stock"
msgstr ""
-#: templates/js/translated/stock.js:104
+#: templates/js/translated/stock.js:401
msgid "Include Sublocations"
msgstr ""
-#: templates/js/translated/stock.js:105
+#: templates/js/translated/stock.js:402
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:444
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:148
+#: templates/js/translated/stock.js:445
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:154
+#: templates/js/translated/stock.js:451
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:155
+#: templates/js/translated/stock.js:452
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:159
+#: templates/js/translated/stock.js:456
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:160
+#: templates/js/translated/stock.js:457
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:164
+#: templates/js/translated/stock.js:461
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:165 users/models.py:195
+#: templates/js/translated/stock.js:462 users/models.py:200
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:169 templates/stock_table.html:63
+#: templates/js/translated/stock.js:466 templates/stock_table.html:56
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:298
+#: templates/js/translated/stock.js:595
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:456
+#: templates/js/translated/stock.js:753
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:458
+#: templates/js/translated/stock.js:755
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:463
+#: templates/js/translated/stock.js:760
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:489
+#: templates/js/translated/stock.js:782
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:515
+#: templates/js/translated/stock.js:808
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:563
+#: templates/js/translated/stock.js:865
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:670
+#: templates/js/translated/stock.js:972
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:674
+#: templates/js/translated/stock.js:976
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:678
+#: templates/js/translated/stock.js:980
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:984
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:688
+#: templates/js/translated/stock.js:990
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:844
+#: templates/js/translated/stock.js:1148
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:849
+#: templates/js/translated/stock.js:1153
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:852
+#: templates/js/translated/stock.js:1156
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:856
+#: templates/js/translated/stock.js:1160
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:858
+#: templates/js/translated/stock.js:1162
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:1166
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:866
+#: templates/js/translated/stock.js:1170
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:873
+#: templates/js/translated/stock.js:1177
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:1179
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:877
+#: templates/js/translated/stock.js:1181
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:881
-#: templates/js/translated/table_filters.js:161
+#: templates/js/translated/stock.js:1185
+#: templates/js/translated/table_filters.js:177
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:935
+#: templates/js/translated/stock.js:1235
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1308
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1046
+#: templates/js/translated/stock.js:1346
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115
+#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415
msgid "items"
msgstr ""
-#: templates/js/translated/stock.js:1155
+#: templates/js/translated/stock.js:1455
msgid "batches"
msgstr ""
-#: templates/js/translated/stock.js:1182
+#: templates/js/translated/stock.js:1482
msgid "locations"
msgstr ""
-#: templates/js/translated/stock.js:1184
+#: templates/js/translated/stock.js:1484
msgid "Undefined location"
msgstr ""
-#: templates/js/translated/stock.js:1358
+#: templates/js/translated/stock.js:1658
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:1372
+#: templates/js/translated/stock.js:1672
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:1373
+#: templates/js/translated/stock.js:1673
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:1512
+#: templates/js/translated/stock.js:1897
msgid "Invalid date"
msgstr ""
-#: templates/js/translated/stock.js:1559
+#: templates/js/translated/stock.js:1919
+msgid "Details"
+msgstr ""
+
+#: templates/js/translated/stock.js:1944
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1578
+#: templates/js/translated/stock.js:1963
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1597
+#: templates/js/translated/stock.js:1982
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1615
+#: templates/js/translated/stock.js:2000
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1638
+#: templates/js/translated/stock.js:2023
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:1646
+#: templates/js/translated/stock.js:2031
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:1687
+#: templates/js/translated/stock.js:2072
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1688
+#: templates/js/translated/stock.js:2073
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:2124
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:1835
-msgid "Serial"
-msgstr ""
-
-#: templates/js/translated/stock.js:1863
+#: templates/js/translated/stock.js:2175
msgid "Uninstall Stock Item"
msgstr ""
@@ -8023,254 +8011,264 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:156
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:172
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:93
+#: templates/js/translated/table_filters.js:105
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:103
-#: templates/js/translated/table_filters.js:104
-#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:115
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:352
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:114
-#: templates/js/translated/table_filters.js:191
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:117
-#: templates/js/translated/table_filters.js:198
-msgid "Serial number GTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:118
-#: templates/js/translated/table_filters.js:199
-msgid "Serial number greater than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:121
-#: templates/js/translated/table_filters.js:202
-msgid "Serial number LTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:122
-#: templates/js/translated/table_filters.js:203
-msgid "Serial number less than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:125
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:195
-msgid "Serial number"
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:387
+msgid "Subscribed"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:212
-msgid "Batch code"
+#: templates/js/translated/table_filters.js:207
+msgid "Is Serialized"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:214
+msgid "Serial number GTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:134
+#: templates/js/translated/table_filters.js:215
+msgid "Serial number greater than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:137
+#: templates/js/translated/table_filters.js:218
+msgid "Serial number LTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:138
+#: templates/js/translated/table_filters.js:219
+msgid "Serial number less than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:141
-#: templates/js/translated/table_filters.js:326
-msgid "Active parts"
-msgstr ""
-
#: templates/js/translated/table_filters.js:142
-msgid "Show stock for active parts"
+#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:211
+msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:147
-msgid "Part is an assembly"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:151
-msgid "Is allocated"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:152
-msgid "Item has been allocated"
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:228
+msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:157
-msgid "Include stock in sublocations"
+#: templates/js/translated/table_filters.js:342
+msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:162
-msgid "Show stock items which are depleted"
+#: templates/js/translated/table_filters.js:158
+msgid "Show stock for active parts"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:163
+msgid "Part is an assembly"
msgstr ""
#: templates/js/translated/table_filters.js:167
+msgid "Is allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:168
+msgid "Item has been allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:173
+msgid "Include stock in sublocations"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:178
+msgid "Show stock items which are depleted"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:183
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:187
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:188
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:176
+#: templates/js/translated/table_filters.js:192
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:177
+#: templates/js/translated/table_filters.js:193
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:197
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:182
+#: templates/js/translated/table_filters.js:198
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:187
+#: templates/js/translated/table_filters.js:203
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:207
-#: templates/js/translated/table_filters.js:208
+#: templates/js/translated/table_filters.js:223
+#: templates/js/translated/table_filters.js:224
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/table_filters.js:232
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:233
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:242
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:248
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:279
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:291
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:307
+#: templates/js/translated/table_filters.js:324
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:296
-#: templates/js/translated/table_filters.js:313
+#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:329
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:337
+#: templates/js/translated/table_filters.js:353
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:341
+#: templates/js/translated/table_filters.js:357
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:342
+#: templates/js/translated/table_filters.js:358
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:347
+#: templates/js/translated/table_filters.js:363
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:355
+#: templates/js/translated/table_filters.js:371
msgid "Stock available"
msgstr ""
-#: templates/js/translated/table_filters.js:371
-msgid "Starred"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:383
+#: templates/js/translated/table_filters.js:399
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/tables.js:366
+#: templates/js/translated/tables.js:368
msgid "Loading data"
msgstr ""
-#: templates/js/translated/tables.js:369
+#: templates/js/translated/tables.js:371
msgid "rows per page"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "Showing"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "to"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "of"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "rows"
msgstr ""
-#: templates/js/translated/tables.js:378
+#: templates/js/translated/tables.js:377 templates/search_form.html:6
+#: templates/search_form.html:7
+msgid "Search"
+msgstr ""
+
+#: templates/js/translated/tables.js:380
msgid "No matching results"
msgstr ""
-#: templates/js/translated/tables.js:381
+#: templates/js/translated/tables.js:383
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/translated/tables.js:384
+#: templates/js/translated/tables.js:386
msgid "Refresh"
msgstr ""
-#: templates/js/translated/tables.js:387
+#: templates/js/translated/tables.js:389
msgid "Toggle"
msgstr ""
-#: templates/js/translated/tables.js:390
+#: templates/js/translated/tables.js:392
msgid "Columns"
msgstr ""
-#: templates/js/translated/tables.js:393
+#: templates/js/translated/tables.js:395
msgid "All"
msgstr ""
-#: templates/navbar.html:19
-msgid "Toggle navigation"
-msgstr ""
-
-#: templates/navbar.html:39
+#: templates/navbar.html:40
msgid "Buy"
msgstr ""
-#: templates/navbar.html:51
+#: templates/navbar.html:52
msgid "Sell"
msgstr ""
-#: templates/navbar.html:83 users/models.py:39
+#: templates/navbar.html:86 users/models.py:39
msgid "Admin"
msgstr ""
-#: templates/navbar.html:85
+#: templates/navbar.html:88
msgid "Logout"
msgstr ""
-#: templates/navbar.html:106
+#: templates/navbar.html:90
+msgid "Login"
+msgstr ""
+
+#: templates/navbar.html:111
msgid "About InvenTree"
msgstr ""
+#: templates/navbar_demo.html:5
+msgid "InvenTree demo mode"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -8283,6 +8281,10 @@ msgstr ""
msgid "Log in again"
msgstr ""
+#: templates/stats.html:9
+msgid "Server"
+msgstr ""
+
#: templates/stats.html:13
msgid "Instance Name"
msgstr ""
@@ -8336,54 +8338,50 @@ msgid "Export Stock Information"
msgstr ""
#: templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/stock_table.html:27
msgid "Barcode Actions"
msgstr ""
-#: templates/stock_table.html:43
+#: templates/stock_table.html:36
msgid "Print test reports"
msgstr ""
-#: templates/stock_table.html:50
+#: templates/stock_table.html:43
msgid "Stock Options"
msgstr ""
-#: templates/stock_table.html:55
+#: templates/stock_table.html:48
msgid "Add to selected stock items"
msgstr ""
-#: templates/stock_table.html:56
+#: templates/stock_table.html:49
msgid "Remove from selected stock items"
msgstr ""
-#: templates/stock_table.html:57
+#: templates/stock_table.html:50
msgid "Stocktake selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move stock"
msgstr ""
-#: templates/stock_table.html:59
+#: templates/stock_table.html:52
msgid "Order selected items"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change status"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change stock status"
msgstr ""
-#: templates/stock_table.html:63
+#: templates/stock_table.html:56
msgid "Delete selected items"
msgstr ""
@@ -8419,35 +8417,34 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:182
+#: users/models.py:187
msgid "Permission set"
msgstr ""
-#: users/models.py:190
+#: users/models.py:195
msgid "Group"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "View"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "Permission to view items"
msgstr ""
-#: users/models.py:195
+#: users/models.py:200
msgid "Permission to add items"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Change"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:199
+#: users/models.py:204
msgid "Permission to delete items"
msgstr ""
-
diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.mo b/InvenTree/locale/nl/LC_MESSAGES/django.mo
new file mode 100644
index 0000000000..90bb7bf5b8
Binary files /dev/null and b/InvenTree/locale/nl/LC_MESSAGES/django.mo differ
diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po
index 78a85dfaa1..462b8d79db 100644
--- a/InvenTree/locale/nl/LC_MESSAGES/django.po
+++ b/InvenTree/locale/nl/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-11 06:21+0000\n"
+"POT-Creation-Date: 2021-11-22 22:08+0000\n"
"PO-Revision-Date: 2021-10-11 06:29\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
@@ -33,260 +33,266 @@ msgstr "Geen overeenkomende actie gevonden"
msgid "Enter date"
msgstr "Voer datum in"
-#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123
-#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27
-#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71
-#: part/forms.py:108 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:564
+#: InvenTree/forms.py:120 build/forms.py:48 build/forms.py:69 build/forms.py:93
+#: order/forms.py:26 order/forms.py:37 order/forms.py:48 order/forms.py:59
+#: order/forms.py:70 part/forms.py:108 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:594
msgid "Confirm"
msgstr "Bevestigen"
-#: InvenTree/forms.py:132
+#: InvenTree/forms.py:136
msgid "Confirm delete"
msgstr "Bevestigen verwijdering"
-#: InvenTree/forms.py:133
+#: InvenTree/forms.py:137
msgid "Confirm item deletion"
msgstr "Bevestig item verwijdering"
-#: InvenTree/forms.py:164
+#: InvenTree/forms.py:168
msgid "Enter password"
msgstr "Voer wachtwoord in"
-#: InvenTree/forms.py:165
+#: InvenTree/forms.py:169
msgid "Enter new password"
msgstr "Voer een nieuw wachtwoord in"
-#: InvenTree/forms.py:172
+#: InvenTree/forms.py:176
msgid "Confirm password"
msgstr "Wachtwoord bevestigen"
-#: InvenTree/forms.py:173
+#: InvenTree/forms.py:177
msgid "Confirm new password"
msgstr "Nieuw wachtwoord bevestigen"
-#: InvenTree/forms.py:205
+#: InvenTree/forms.py:209
msgid "Select Category"
msgstr "Categorie selecteren"
-#: InvenTree/forms.py:226
-msgid "E-mail (again)"
-msgstr ""
-
#: InvenTree/forms.py:230
-msgid "E-mail address confirmation"
+msgid "Email (again)"
msgstr ""
-#: InvenTree/forms.py:250
+#: InvenTree/forms.py:234
+msgid "Email address confirmation"
+msgstr ""
+
+#: InvenTree/forms.py:254
msgid "You must type the same email each time."
msgstr ""
-#: InvenTree/helpers.py:401
+#: InvenTree/helpers.py:430
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr "Dubbel serienummer: {n}"
-#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437
-#: stock/views.py:1340
+#: InvenTree/helpers.py:437 order/models.py:318 order/models.py:440
+#: stock/views.py:1264
msgid "Invalid quantity provided"
msgstr "Ongeldige hoeveeldheid ingevoerd"
-#: InvenTree/helpers.py:411
+#: InvenTree/helpers.py:440
msgid "Empty serial number string"
msgstr "Leeg serienummer"
-#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:462 InvenTree/helpers.py:465 InvenTree/helpers.py:468
+#: InvenTree/helpers.py:493
#, python-brace-format
msgid "Invalid group: {g}"
msgstr "Ongeldige groep: {g}"
-#: InvenTree/helpers.py:469
+#: InvenTree/helpers.py:498
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr "Dubbel serienummer: {g}"
-#: InvenTree/helpers.py:477
+#: InvenTree/helpers.py:506
msgid "No serial numbers found"
msgstr "Geen serienummers gevonden"
-#: InvenTree/helpers.py:481
+#: InvenTree/helpers.py:510
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr "Aantal unieke serienummer ({s}) moet overeenkomen met de hoeveelheid ({q})"
-#: InvenTree/models.py:66 stock/models.py:1823
+#: InvenTree/models.py:109 stock/models.py:1874
msgid "Attachment"
msgstr "Bijlage"
-#: InvenTree/models.py:67
+#: InvenTree/models.py:110
msgid "Select file to attach"
msgstr "Bestand als bijlage selecteren"
-#: InvenTree/models.py:69 templates/js/translated/attachment.js:87
+#: InvenTree/models.py:112 templates/js/translated/attachment.js:91
msgid "Comment"
msgstr "Opmerking"
-#: InvenTree/models.py:69
+#: InvenTree/models.py:112
msgid "File comment"
msgstr "Bijlage opmerking"
-#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055
-#: common/models.py:1056 part/models.py:2055
-#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/translated/stock.js:1669
+#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185
+#: common/models.py:1186 part/models.py:2205 part/models.py:2225
+#: report/templates/report/inventree_test_report_base.html:96
+#: templates/js/translated/stock.js:2054
msgid "User"
msgstr "Gebruiker"
-#: InvenTree/models.py:79
+#: InvenTree/models.py:122
msgid "upload date"
msgstr "uploaddatum"
-#: InvenTree/models.py:99
+#: InvenTree/models.py:142
msgid "Filename must not be empty"
msgstr "Bestandsnaam mag niet leeg zijn"
-#: InvenTree/models.py:122
+#: InvenTree/models.py:165
msgid "Invalid attachment directory"
msgstr "Fout bijlagemap"
-#: InvenTree/models.py:132
+#: InvenTree/models.py:175
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr "Bestandsnaam bevat illegale teken '{c}'"
-#: InvenTree/models.py:135
+#: InvenTree/models.py:178
msgid "Filename missing extension"
msgstr "Bestandsnaam mist extensie"
-#: InvenTree/models.py:142
+#: InvenTree/models.py:185
msgid "Attachment with this filename already exists"
msgstr "Bijlage met deze bestandsnaam bestaat al"
-#: InvenTree/models.py:149
+#: InvenTree/models.py:192
msgid "Error renaming file"
msgstr "Fout bij hernoemen bestand"
-#: InvenTree/models.py:184
+#: InvenTree/models.py:227
msgid "Invalid choice"
msgstr "Ongeldige keuze"
-#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415
-#: label/models.py:112 part/models.py:659 part/models.py:2216
-#: part/templates/part/part_base.html:241 report/models.py:181
-#: templates/js/translated/company.js:637 templates/js/translated/part.js:477
-#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141
-#: templates/js/translated/stock.js:1462
+#: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415
+#: label/models.py:112 part/models.py:741 part/models.py:2389
+#: part/templates/part/detail.html:25 report/models.py:181
+#: templates/js/translated/company.js:637 templates/js/translated/part.js:498
+#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272
+#: templates/js/translated/stock.js:1847
msgid "Name"
msgstr "Naam"
-#: InvenTree/models.py:207 build/models.py:189
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/manufacturer_part.html:76
-#: company/templates/company/supplier_part.html:75 label/models.py:119
-#: order/models.py:158 part/models.py:682
-#: part/templates/part/part_base.html:246
+#: InvenTree/models.py:250 build/models.py:207
+#: build/templates/build/detail.html:25 company/models.py:354
+#: company/models.py:570 company/templates/company/manufacturer_part.html:80
+#: company/templates/company/supplier_part.html:81 label/models.py:119
+#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30
#: part/templates/part/set_category.html:14 report/models.py:194
-#: report/models.py:551 report/models.py:590
+#: report/models.py:553 report/models.py:592
#: report/templates/report/inventree_build_order_base.html:118
-#: templates/InvenTree/settings/header.html:9
-#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217
-#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344
+#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214
+#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621
+#: templates/js/translated/company.js:344
#: templates/js/translated/company.js:547
-#: templates/js/translated/company.js:836 templates/js/translated/order.js:672
-#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056
-#: templates/js/translated/part.js:536 templates/js/translated/part.js:724
-#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153
-#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819
-#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519
+#: templates/js/translated/company.js:836 templates/js/translated/order.js:673
+#: templates/js/translated/order.js:833 templates/js/translated/order.js:1069
+#: templates/js/translated/part.js:557 templates/js/translated/part.js:745
+#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291
+#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121
+#: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904
msgid "Description"
msgstr "Omschrijving"
-#: InvenTree/models.py:208
+#: InvenTree/models.py:251
msgid "Description (optional)"
msgstr "Omschrijving (optioneel)"
-#: InvenTree/models.py:216
+#: InvenTree/models.py:259
msgid "parent"
msgstr "overkoepelend"
-#: InvenTree/serializers.py:55 part/models.py:2475
+#: InvenTree/serializers.py:62 part/models.py:2674
msgid "Must be a valid number"
msgstr "Moet een geldig nummer zijn"
-#: InvenTree/serializers.py:244
+#: InvenTree/serializers.py:251
msgid "Filename"
msgstr "Bestandsnaam"
-#: InvenTree/settings.py:529
+#: InvenTree/settings.py:663
msgid "German"
msgstr "Duits"
-#: InvenTree/settings.py:530
+#: InvenTree/settings.py:664
msgid "Greek"
msgstr "Grieks"
-#: InvenTree/settings.py:531
+#: InvenTree/settings.py:665
msgid "English"
msgstr "Engels"
-#: InvenTree/settings.py:532
+#: InvenTree/settings.py:666
msgid "Spanish"
msgstr "Spaans"
-#: InvenTree/settings.py:533
+#: InvenTree/settings.py:667
+msgid "Spanish (Mexican)"
+msgstr ""
+
+#: InvenTree/settings.py:668
msgid "French"
msgstr "Frans"
-#: InvenTree/settings.py:534
+#: InvenTree/settings.py:669
msgid "Hebrew"
msgstr "Hebreeuws"
-#: InvenTree/settings.py:535
+#: InvenTree/settings.py:670
msgid "Italian"
msgstr "Italiaans"
-#: InvenTree/settings.py:536
+#: InvenTree/settings.py:671
msgid "Japanese"
msgstr "Japans"
-#: InvenTree/settings.py:537
+#: InvenTree/settings.py:672
msgid "Korean"
msgstr "Koreaans"
-#: InvenTree/settings.py:538
+#: InvenTree/settings.py:673
msgid "Dutch"
msgstr "Nederlands"
-#: InvenTree/settings.py:539
+#: InvenTree/settings.py:674
msgid "Norwegian"
msgstr "Noors"
-#: InvenTree/settings.py:540
+#: InvenTree/settings.py:675
msgid "Polish"
msgstr "Pools"
-#: InvenTree/settings.py:541
+#: InvenTree/settings.py:676
+msgid "Portugese"
+msgstr ""
+
+#: InvenTree/settings.py:677
msgid "Russian"
msgstr "Russisch"
-#: InvenTree/settings.py:542
+#: InvenTree/settings.py:678
msgid "Swedish"
msgstr "Zweeds"
-#: InvenTree/settings.py:543
+#: InvenTree/settings.py:679
msgid "Thai"
msgstr "Thais"
-#: InvenTree/settings.py:544
+#: InvenTree/settings.py:680
msgid "Turkish"
msgstr "Turks"
-#: InvenTree/settings.py:545
+#: InvenTree/settings.py:681
msgid "Vietnamese"
msgstr "Vietnamees"
-#: InvenTree/settings.py:546
+#: InvenTree/settings.py:682
msgid "Chinese"
msgstr "Chinees"
@@ -302,196 +308,196 @@ msgstr "E-mailbackend niet geconfigureerd"
msgid "InvenTree system health checks failed"
msgstr "Inventree gezondsheidscheck faalt"
-#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145
-#: InvenTree/status_codes.py:314
+#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142
+#: InvenTree/status_codes.py:311
msgid "Pending"
msgstr "Bezig"
-#: InvenTree/status_codes.py:105
+#: InvenTree/status_codes.py:102
msgid "Placed"
msgstr "Geplaatst"
-#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317
+#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:314
msgid "Complete"
msgstr "Voltooid"
-#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147
-#: InvenTree/status_codes.py:316
+#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144
+#: InvenTree/status_codes.py:313
msgid "Cancelled"
msgstr "Geannuleerd"
-#: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148
-#: InvenTree/status_codes.py:190
+#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145
+#: InvenTree/status_codes.py:187
msgid "Lost"
msgstr "Kwijt"
-#: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149
-#: InvenTree/status_codes.py:192
+#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146
+#: InvenTree/status_codes.py:189
msgid "Returned"
msgstr "Retour"
-#: InvenTree/status_codes.py:146
-#: order/templates/order/sales_order_base.html:131
+#: InvenTree/status_codes.py:143
+#: order/templates/order/sales_order_base.html:147
msgid "Shipped"
msgstr "Verzonden"
-#: InvenTree/status_codes.py:186
+#: InvenTree/status_codes.py:183
msgid "OK"
msgstr "OK"
-#: InvenTree/status_codes.py:187
+#: InvenTree/status_codes.py:184
msgid "Attention needed"
msgstr "Aandacht nodig"
-#: InvenTree/status_codes.py:188
+#: InvenTree/status_codes.py:185
msgid "Damaged"
msgstr "Beschadigd"
-#: InvenTree/status_codes.py:189
+#: InvenTree/status_codes.py:186
msgid "Destroyed"
msgstr "Verwoest"
-#: InvenTree/status_codes.py:191
+#: InvenTree/status_codes.py:188
msgid "Rejected"
msgstr "Afgewezen"
-#: InvenTree/status_codes.py:272
+#: InvenTree/status_codes.py:269
msgid "Legacy stock tracking entry"
msgstr "Verouderde trackingscode"
-#: InvenTree/status_codes.py:274
+#: InvenTree/status_codes.py:271
msgid "Stock item created"
msgstr "Voorraaditem gemaakt"
-#: InvenTree/status_codes.py:276
+#: InvenTree/status_codes.py:273
msgid "Edited stock item"
msgstr "Bewerken voorraaditem"
-#: InvenTree/status_codes.py:277
+#: InvenTree/status_codes.py:274
msgid "Assigned serial number"
msgstr "Serienummer toegewezen"
-#: InvenTree/status_codes.py:279
+#: InvenTree/status_codes.py:276
msgid "Stock counted"
msgstr "Voorraad geteld"
-#: InvenTree/status_codes.py:280
+#: InvenTree/status_codes.py:277
msgid "Stock manually added"
msgstr "Voorraad handmatig toegevoegd"
-#: InvenTree/status_codes.py:281
+#: InvenTree/status_codes.py:278
msgid "Stock manually removed"
msgstr "Voorraad handmatig verwijderd"
-#: InvenTree/status_codes.py:283
+#: InvenTree/status_codes.py:280
msgid "Location changed"
msgstr "Locatie veranderd"
-#: InvenTree/status_codes.py:285
+#: InvenTree/status_codes.py:282
msgid "Installed into assembly"
msgstr "Gemonteerd"
-#: InvenTree/status_codes.py:286
+#: InvenTree/status_codes.py:283
msgid "Removed from assembly"
msgstr "Gedemonteerd"
-#: InvenTree/status_codes.py:288
+#: InvenTree/status_codes.py:285
msgid "Installed component item"
msgstr "Gemonteerd item"
-#: InvenTree/status_codes.py:289
+#: InvenTree/status_codes.py:286
msgid "Removed component item"
msgstr "Gedemonteerd item"
-#: InvenTree/status_codes.py:291
+#: InvenTree/status_codes.py:288
msgid "Split from parent item"
msgstr "Splits van bovenliggend item"
-#: InvenTree/status_codes.py:292
+#: InvenTree/status_codes.py:289
msgid "Split child item"
msgstr "Splits onderliggende item"
-#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186
+#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202
msgid "Sent to customer"
msgstr "Naar klant verzonden"
-#: InvenTree/status_codes.py:295
+#: InvenTree/status_codes.py:292
msgid "Returned from customer"
msgstr "Geretourneerd door klant"
-#: InvenTree/status_codes.py:297
+#: InvenTree/status_codes.py:294
msgid "Build order output created"
msgstr "Montageopdracht gecreëerd"
-#: InvenTree/status_codes.py:298
+#: InvenTree/status_codes.py:295
msgid "Build order output completed"
msgstr "Montageopdracht voltooid"
-#: InvenTree/status_codes.py:300
+#: InvenTree/status_codes.py:297
msgid "Received against purchase order"
msgstr "Ontvangen tegen inkoopopdracht"
-#: InvenTree/status_codes.py:315
+#: InvenTree/status_codes.py:312
msgid "Production"
msgstr "Productie"
-#: InvenTree/validators.py:22
+#: InvenTree/validators.py:23
msgid "Not a valid currency code"
msgstr "Foute valutacode"
-#: InvenTree/validators.py:50
+#: InvenTree/validators.py:51
msgid "Invalid character in part name"
msgstr "Foute letter in onderdeelnaam"
-#: InvenTree/validators.py:63
+#: InvenTree/validators.py:64
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN moet overeenkomen met regex-patroon {pat}"
-#: InvenTree/validators.py:77 InvenTree/validators.py:91
-#: InvenTree/validators.py:105
+#: InvenTree/validators.py:78 InvenTree/validators.py:92
+#: InvenTree/validators.py:106
#, python-brace-format
msgid "Reference must match pattern {pattern}"
msgstr "Refernetie moet overeenkomen met patroon {pattern}"
-#: InvenTree/validators.py:113
+#: InvenTree/validators.py:114
#, python-brace-format
msgid "Illegal character in name ({x})"
msgstr "Illegale letter in naam ({x})"
-#: InvenTree/validators.py:132 InvenTree/validators.py:148
+#: InvenTree/validators.py:133 InvenTree/validators.py:149
msgid "Overage value must not be negative"
msgstr "Overschrijdingswaarde mag niet negatief zijn"
-#: InvenTree/validators.py:150
+#: InvenTree/validators.py:151
msgid "Overage must not exceed 100%"
msgstr ""
-#: InvenTree/validators.py:157
+#: InvenTree/validators.py:158
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:616
+#: InvenTree/views.py:536
msgid "Delete Item"
msgstr "Verwijder item"
-#: InvenTree/views.py:665
+#: InvenTree/views.py:585
msgid "Check box to confirm item deletion"
msgstr "Selectievakje aanvinken om de verwijdering van items te bevestigen"
-#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17
msgid "Edit User Information"
msgstr "Gebruikersgegevens bewerken"
-#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21
msgid "Set Password"
msgstr "Wachtwoord instellen"
-#: InvenTree/views.py:710
+#: InvenTree/views.py:630
msgid "Password fields must match"
msgstr "Wachtwoordvelden komen niet overeen"
-#: InvenTree/views.py:954 templates/navbar.html:97
+#: InvenTree/views.py:863 templates/navbar.html:101
msgid "System Information"
msgstr "Systeeminformatie"
@@ -535,599 +541,586 @@ msgstr "Barcode komt al overeen met StockItem object"
msgid "Barcode associated with StockItem"
msgstr "Barcode gekoppeld aan StockItem"
-#: build/api.py:213
-msgid "Matching build order does not exist"
-msgstr ""
-
-#: build/forms.py:37
-msgid "Build Order reference"
-msgstr "Bouwopdracht referentie"
-
-#: build/forms.py:38
-msgid "Order target date"
-msgstr "Order streefdatum"
-
-#: build/forms.py:42 build/templates/build/build_base.html:146
-#: build/templates/build/detail.html:124
-#: order/templates/order/order_base.html:124
-#: order/templates/order/sales_order_base.html:124
-#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689
-#: templates/js/translated/order.js:1074
-msgid "Target Date"
-msgstr "Streefdatum"
-
-#: build/forms.py:43 build/models.py:279
-msgid "Target date for build completion. Build will be overdue after this date."
-msgstr ""
-
-#: build/forms.py:48 build/forms.py:90 build/models.py:1281
-#: build/templates/build/allocation_card.html:23
-#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:1087
-#: company/forms.py:42 company/templates/company/supplier_part.html:226
-#: order/forms.py:101 order/forms.py:123 order/models.py:720
-#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249
-#: part/forms.py:265 part/forms.py:281 part/models.py:2377
+#: build/forms.py:36 build/models.py:1283
+#: build/templates/build/build_base.html:124
+#: build/templates/build/detail.html:35 common/models.py:1225
+#: company/forms.py:42 company/templates/company/supplier_part.html:251
+#: order/forms.py:102 order/models.py:729 order/models.py:991
+#: order/templates/order/order_wizard/match_parts.html:30
+#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237
+#: part/forms.py:253 part/forms.py:269 part/models.py:2576
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030
+#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
-#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:140 stock/templates/stock/item_base.html:269
-#: stock/templates/stock/stock_adjust.html:18
-#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264
-#: templates/js/translated/build.js:314 templates/js/translated/build.js:638
-#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515
-#: templates/js/translated/model_renderers.js:74
-#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170
-#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444
-#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487
-#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654
-#: templates/js/translated/stock.js:1829
+#: report/templates/report/inventree_test_report_base.html:81
+#: report/templates/report/inventree_test_report_base.html:139
+#: stock/forms.py:156 stock/serializers.py:286
+#: stock/templates/stock/item_base.html:256
+#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441
+#: templates/js/translated/build.js:235 templates/js/translated/build.js:435
+#: templates/js/translated/build.js:629 templates/js/translated/build.js:639
+#: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362
+#: templates/js/translated/model_renderers.js:99
+#: templates/js/translated/order.js:870 templates/js/translated/order.js:1183
+#: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268
+#: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457
+#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626
+#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347
+#: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141
msgid "Quantity"
msgstr "Aantal"
-#: build/forms.py:49
-msgid "Number of items to build"
-msgstr "Aantal items om te maken"
-
-#: build/forms.py:91
+#: build/forms.py:37
msgid "Enter quantity for build output"
msgstr "Voer hoeveelheid in voor build-output"
-#: build/forms.py:95 order/forms.py:95 stock/forms.py:83
+#: build/forms.py:41 order/forms.py:96 stock/forms.py:95
+#: stock/serializers.py:307 templates/js/translated/stock.js:194
+#: templates/js/translated/stock.js:348
msgid "Serial Numbers"
msgstr "Serienummers"
-#: build/forms.py:97
+#: build/forms.py:43
msgid "Enter serial numbers for build outputs"
msgstr "Voer serienummers in voor build-outputs"
-#: build/forms.py:103
+#: build/forms.py:49
msgid "Confirm creation of build output"
msgstr "Bevestig het maken van build-output"
-#: build/forms.py:124
+#: build/forms.py:70
msgid "Confirm deletion of build output"
msgstr "Bevestig verwijdering van build-output"
-#: build/forms.py:145
-msgid "Confirm unallocation of stock"
-msgstr "Bevestig het ongedaan maken van de toewijzing van voorraad"
-
-#: build/forms.py:174
+#: build/forms.py:94
msgid "Mark build as complete"
msgstr "Markeer build als voltooid"
-#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284
-#: stock/forms.py:280 stock/serializers.py:553
-#: stock/templates/stock/item_base.html:299
-#: stock/templates/stock/stock_adjust.html:17
-#: templates/js/translated/barcode.js:385
-#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299
-#: templates/js/translated/build.js:650 templates/js/translated/order.js:347
-#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263
-#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179
-#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921
-#: templates/js/translated/stock.js:1546
-msgid "Location"
-msgstr "Locatie"
-
-#: build/forms.py:199
-msgid "Location of completed parts"
-msgstr "Locatie van voltooide onderdelen"
-
-#: build/forms.py:203 build/templates/build/build_base.html:138
-#: build/templates/build/detail.html:62 order/models.py:563
-#: order/serializers.py:238 stock/templates/stock/item_base.html:422
-#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251
-#: templates/js/translated/order.js:430 templates/js/translated/order.js:676
-#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896
-#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845
-msgid "Status"
-msgstr "Status"
-
-#: build/forms.py:204
-msgid "Build output stock status"
-msgstr "Build output voorraad status"
-
-#: build/forms.py:211
-msgid "Confirm incomplete"
-msgstr "Bevestig onvolledigheid"
-
-#: build/forms.py:212
-msgid "Confirm completion with incomplete stock allocation"
-msgstr "Bevestig voltooiing met onvolledige voorraadtoewijzing"
-
-#: build/forms.py:215
-msgid "Confirm build completion"
-msgstr "Bevestig build voltooiing"
-
-#: build/forms.py:240
+#: build/forms.py:107
msgid "Confirm cancel"
msgstr "Annuleren bevestigen"
-#: build/forms.py:240 build/views.py:65
+#: build/forms.py:107 build/views.py:65
msgid "Confirm build cancellation"
msgstr "Bevestig annulering van de build"
-#: build/models.py:115
+#: build/models.py:133
msgid "Invalid choice for parent build"
msgstr "Ongeldige keuze voor bovenliggende build"
-#: build/models.py:119 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:73
+#: build/models.py:137 build/templates/build/build_base.html:9
+#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:276
+#: templates/js/translated/build.js:397
msgid "Build Order"
msgstr "Bouwopdracht"
-#: build/models.py:120 build/templates/build/index.html:8
-#: build/templates/build/index.html:15
-#: order/templates/order/sales_order_detail.html:34
-#: order/templates/order/so_navbar.html:19
-#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50
-#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229
-#: templates/InvenTree/search.html:171
-#: templates/InvenTree/settings/navbar.html:113
-#: templates/InvenTree/settings/navbar.html:115 users/models.py:44
+#: build/models.py:138 build/templates/build/build_base.html:13
+#: build/templates/build/index.html:8 build/templates/build/index.html:12
+#: order/templates/order/sales_order_detail.html:42
+#: templates/InvenTree/index.html:221 templates/InvenTree/search.html:145
+#: users/models.py:44
msgid "Build Orders"
msgstr "Bouwopdrachten"
-#: build/models.py:180
+#: build/models.py:198
msgid "Build Order Reference"
msgstr "Bouwopdracht referentie"
-#: build/models.py:181 order/models.py:246 order/models.py:547
-#: order/models.py:727 part/models.py:2386
+#: build/models.py:199 order/models.py:249 order/models.py:556
+#: order/models.py:736 part/models.py:2585
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734
-#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863
-#: templates/js/translated/order.js:1438
+#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119
+#: templates/js/translated/order.js:864 templates/js/translated/order.js:1451
msgid "Reference"
msgstr "Referentie"
-#: build/models.py:192
+#: build/models.py:210
msgid "Brief description of the build"
msgstr "Korte beschrijving van de build"
-#: build/models.py:201 build/templates/build/build_base.html:163
-#: build/templates/build/detail.html:80
+#: build/models.py:219 build/templates/build/build_base.html:156
+#: build/templates/build/detail.html:88
msgid "Parent Build"
msgstr "Bovenliggende bouw"
-#: build/models.py:202
+#: build/models.py:220
msgid "BuildOrder to which this build is allocated"
msgstr "BuildOrder waaraan deze build is toegewezen"
-#: build/models.py:207 build/templates/build/build_base.html:128
-#: build/templates/build/detail.html:29 company/models.py:705
-#: order/models.py:780 order/models.py:851
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298
-#: part/models.py:2000 part/models.py:2016 part/models.py:2035
-#: part/models.py:2053 part/models.py:2132 part/models.py:2254
-#: part/models.py:2361 part/templates/part/detail.html:199
+#: build/models.py:225 build/templates/build/build_base.html:119
+#: build/templates/build/detail.html:30 company/models.py:705
+#: order/models.py:789 order/models.py:860
+#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357
+#: part/models.py:2151 part/models.py:2167 part/models.py:2186
+#: part/models.py:2203 part/models.py:2305 part/models.py:2427
+#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
-#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384
-#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611
-#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222
-#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488
-#: templates/js/translated/company.js:745 templates/js/translated/order.js:425
-#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422
-#: templates/js/translated/part.js:705 templates/js/translated/part.js:875
-#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776
-#: templates/js/translated/stock.js:1817
+#: templates/InvenTree/search.html:86
+#: templates/email/build_order_required_stock.html:17
+#: templates/email/low_stock_notification.html:16
+#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213
+#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620
+#: templates/js/translated/build.js:988 templates/js/translated/build.js:1359
+#: templates/js/translated/build.js:1626 templates/js/translated/company.js:488
+#: templates/js/translated/company.js:745 templates/js/translated/order.js:426
+#: templates/js/translated/order.js:818 templates/js/translated/order.js:1435
+#: templates/js/translated/part.js:726 templates/js/translated/part.js:892
+#: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:2129
msgid "Part"
msgstr "Onderdeel"
-#: build/models.py:215
+#: build/models.py:233
msgid "Select part to build"
msgstr "Selecteer onderdeel om te bouwen"
-#: build/models.py:220
+#: build/models.py:238
msgid "Sales Order Reference"
msgstr "Verkoop Order Referentie"
-#: build/models.py:224
+#: build/models.py:242
msgid "SalesOrder to which this build is allocated"
msgstr "Verkooporder waaraan deze build is toegewezen"
-#: build/models.py:229 templates/js/translated/build.js:962
+#: build/models.py:247 templates/js/translated/build.js:1347
msgid "Source Location"
msgstr "Bron Locatie"
-#: build/models.py:233
+#: build/models.py:251
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr "Selecteer de locatie waar de voorraad van de build vandaan moet komen (laat leeg om vanaf elke standaard locatie te nemen)"
-#: build/models.py:238
+#: build/models.py:256
msgid "Destination Location"
msgstr "Bestemmings Locatie"
-#: build/models.py:242
+#: build/models.py:260
msgid "Select location where the completed items will be stored"
msgstr "Selecteer locatie waar de voltooide items zullen worden opgeslagen"
-#: build/models.py:246
+#: build/models.py:264
msgid "Build Quantity"
msgstr "Bouwkwaliteit"
-#: build/models.py:249
+#: build/models.py:267
msgid "Number of stock items to build"
msgstr ""
-#: build/models.py:253
+#: build/models.py:271
msgid "Completed items"
msgstr "Voltooide voorraadartikelen"
-#: build/models.py:255
+#: build/models.py:273
msgid "Number of stock items which have been completed"
msgstr "Aantal voorraadartikelen die zijn voltooid"
-#: build/models.py:259 part/templates/part/part_base.html:198
+#: build/models.py:277 part/templates/part/part_base.html:216
msgid "Build Status"
msgstr "Bouwstatus"
-#: build/models.py:263
+#: build/models.py:281
msgid "Build status code"
msgstr "Bouwstatuscode"
-#: build/models.py:267 stock/models.py:513
+#: build/models.py:285 stock/models.py:544
msgid "Batch Code"
msgstr ""
-#: build/models.py:271
+#: build/models.py:289
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:274 order/models.py:162 part/models.py:854
-#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069
+#: build/models.py:292 order/models.py:165 part/models.py:936
+#: part/templates/part/detail.html:86 templates/js/translated/order.js:1082
msgid "Creation Date"
msgstr "Aanmaakdatum"
-#: build/models.py:278 order/models.py:569
+#: build/models.py:296 order/models.py:578
msgid "Target completion date"
msgstr "Verwachte voltooiingsdatum"
-#: build/models.py:282 order/models.py:288
-#: templates/js/translated/build.js:1293
+#: build/models.py:297
+msgid "Target date for build completion. Build will be overdue after this date."
+msgstr ""
+
+#: build/models.py:300 order/models.py:291
+#: templates/js/translated/build.js:1697
msgid "Completion Date"
msgstr "Voltooiingsdatum"
-#: build/models.py:288
+#: build/models.py:306
msgid "completed by"
msgstr "voltooid door"
-#: build/models.py:296 templates/js/translated/build.js:1264
+#: build/models.py:314 templates/js/translated/build.js:1668
msgid "Issued by"
msgstr ""
-#: build/models.py:297
+#: build/models.py:315
msgid "User who issued this build order"
msgstr "Gebruiker die bouwopdracht heeft gegeven"
-#: build/models.py:305 build/templates/build/build_base.html:184
-#: build/templates/build/detail.html:108 order/models.py:176
-#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:145 part/models.py:858
+#: build/models.py:323 build/templates/build/build_base.html:177
+#: build/templates/build/detail.html:116 order/models.py:179
+#: order/templates/order/order_base.html:154
+#: order/templates/order/sales_order_base.html:161 part/models.py:940
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1680
msgid "Responsible"
msgstr "Verantwoordelijke"
-#: build/models.py:306
+#: build/models.py:324
msgid "User responsible for this build order"
msgstr "Gebruiker verantwoordelijk voor deze bouwopdracht"
-#: build/models.py:311 build/templates/build/detail.html:94
-#: company/templates/company/manufacturer_part.html:83
-#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:266 stock/models.py:507
-#: stock/templates/stock/item_base.html:359
+#: build/models.py:329 build/templates/build/detail.html:102
+#: company/templates/company/manufacturer_part.html:87
+#: company/templates/company/supplier_part.html:88
+#: part/templates/part/detail.html:80 stock/models.py:538
+#: stock/templates/stock/item_base.html:346
msgid "External Link"
msgstr "Externe Link"
-#: build/models.py:312 part/models.py:716 stock/models.py:509
+#: build/models.py:330 part/models.py:798 stock/models.py:540
msgid "Link to external URL"
msgstr "Link naar externe URL"
-#: build/models.py:316 build/templates/build/navbar.html:52
-#: company/models.py:142 company/models.py:577
-#: company/templates/company/navbar.html:69
-#: company/templates/company/navbar.html:72 order/models.py:180
-#: order/models.py:729 order/templates/order/po_navbar.html:38
-#: order/templates/order/po_navbar.html:41
-#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:843
-#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120
-#: part/templates/part/navbar.html:123
+#: build/models.py:334 build/serializers.py:201 company/models.py:142
+#: company/models.py:577 order/models.py:183 order/models.py:738
+#: part/models.py:925 part/templates/part/detail.html:223
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579
-#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451
-#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59
-#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841
-#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540
-#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040
+#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610
+#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325
+#: stock/serializers.py:584 templates/js/translated/barcode.js:58
+#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841
+#: templates/js/translated/order.js:963 templates/js/translated/order.js:1561
+#: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340
msgid "Notes"
msgstr "Opmerkingen"
-#: build/models.py:317
+#: build/models.py:335
msgid "Extra build notes"
msgstr "Opmerkingen over de bouw"
-#: build/models.py:714
+#: build/models.py:710
msgid "No build output specified"
msgstr "Geen bouwuitvoer opgegeven"
-#: build/models.py:717
+#: build/models.py:713
msgid "Build output is already completed"
msgstr "Bouwuitvoer is al voltooid"
-#: build/models.py:720
+#: build/models.py:716
msgid "Build output does not match Build Order"
msgstr "Bouwuitvoer komt niet overeen met bouwopdracht"
-#: build/models.py:1102
+#: build/models.py:1108
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1111
+#: build/models.py:1117
#, python-brace-format
msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1121
+#: build/models.py:1127
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1127 order/models.py:955
+#: build/models.py:1133 order/models.py:964
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1133
+#: build/models.py:1139
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1191
+#: build/models.py:1193
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1251 stock/templates/stock/item_base.html:331
-#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195
-#: templates/navbar.html:35
+#: build/models.py:1253 stock/templates/stock/item_base.html:318
+#: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599
+#: templates/navbar.html:33
msgid "Build"
msgstr "Product"
-#: build/models.py:1252
+#: build/models.py:1254
msgid "Build to allocate parts"
msgstr "Bouw om onderdelen toe te wijzen"
-#: build/models.py:1268 build/serializers.py:151
+#: build/models.py:1270 build/serializers.py:328
#: stock/templates/stock/item_base.html:8
-#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:353
-#: stock/templates/stock/stock_adjust.html:16
-#: templates/js/translated/build.js:287 templates/js/translated/build.js:292
-#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148
-#: templates/js/translated/stock.js:1605
+#: stock/templates/stock/item_base.html:16
+#: stock/templates/stock/item_base.html:340
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:413
+#: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742
+#: templates/js/translated/order.js:1156 templates/js/translated/order.js:1161
+#: templates/js/translated/stock.js:1990
msgid "Stock Item"
msgstr "Voorraadartikel"
-#: build/models.py:1269
+#: build/models.py:1271
msgid "Source stock item"
msgstr "Bron voorraadartikel"
-#: build/models.py:1282
+#: build/models.py:1284
msgid "Stock quantity to allocate to build"
msgstr "Voorraad hoeveelheid te alloceren aan bouw"
-#: build/models.py:1290
+#: build/models.py:1292
msgid "Install into"
msgstr "Installeren in"
-#: build/models.py:1291
+#: build/models.py:1293
msgid "Destination stock item"
msgstr "Bestemming voorraadartikel"
-#: build/serializers.py:133 part/models.py:2501
-msgid "BOM Item"
-msgstr ""
-
-#: build/serializers.py:142
-msgid "bom_item.part must point to the same part as the build order"
-msgstr ""
-
-#: build/serializers.py:157
-msgid "Item must be in stock"
-msgstr ""
-
-#: build/serializers.py:171 order/models.py:313 order/serializers.py:231
-#: stock/models.py:351 stock/models.py:1072
-msgid "Quantity must be greater than zero"
-msgstr ""
-
-#: build/serializers.py:180
+#: build/serializers.py:137 build/serializers.py:357
msgid "Build Output"
msgstr ""
+#: build/serializers.py:146
+#, fuzzy
+#| msgid "Build output does not match Build Order"
+msgid "Build output does not match the parent build"
+msgstr "Bouwuitvoer komt niet overeen met bouwopdracht"
+
+#: build/serializers.py:150
+#, fuzzy
+#| msgid "Build output does not match Build Order"
+msgid "Output part does not match BuildOrder part"
+msgstr "Bouwuitvoer komt niet overeen met bouwopdracht"
+
+#: build/serializers.py:154
+#, fuzzy
+#| msgid "Build output is already completed"
+msgid "This build output has already been completed"
+msgstr "Bouwuitvoer is al voltooid"
+
+#: build/serializers.py:158
+#, fuzzy
+#| msgid "Build output is already completed"
+msgid "This build output is not fully allocated"
+msgstr "Bouwuitvoer is al voltooid"
+
+#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285
+#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686
+#: stock/templates/stock/item_base.html:286
+#: templates/js/translated/barcode.js:384
+#: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420
+#: templates/js/translated/build.js:1027 templates/js/translated/order.js:348
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1276
+#: templates/js/translated/order.js:1282 templates/js/translated/part.js:180
+#: templates/js/translated/stock.js:480 templates/js/translated/stock.js:1221
+#: templates/js/translated/stock.js:1931
+msgid "Location"
+msgstr "Locatie"
+
+#: build/serializers.py:191
+#, fuzzy
+#| msgid "Location of completed parts"
+msgid "Location for completed build outputs"
+msgstr "Locatie van voltooide onderdelen"
+
+#: build/serializers.py:197 build/templates/build/build_base.html:129
+#: build/templates/build/detail.html:63 order/models.py:572
+#: order/serializers.py:238 stock/templates/stock/item_base.html:409
+#: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655
+#: templates/js/translated/order.js:431 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196
+#: templates/js/translated/stock.js:2008 templates/js/translated/stock.js:2157
+msgid "Status"
+msgstr "Status"
+
#: build/serializers.py:213
+#, fuzzy
+#| msgid "No build output specified"
+msgid "A list of build outputs must be provided"
+msgstr "Geen bouwuitvoer opgegeven"
+
+#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700
+#: part/models.py:2859
+msgid "BOM Item"
+msgstr ""
+
+#: build/serializers.py:269
+#, fuzzy
+#| msgid "Build Notes"
+msgid "Build output"
+msgstr "Bouw notities"
+
+#: build/serializers.py:278
+#, fuzzy
+#| msgid "Build output does not match Build Order"
+msgid "Build output must point to the same build"
+msgstr "Bouwuitvoer komt niet overeen met bouwopdracht"
+
+#: build/serializers.py:319
+msgid "bom_item.part must point to the same part as the build order"
+msgstr ""
+
+#: build/serializers.py:334
+msgid "Item must be in stock"
+msgstr ""
+
+#: build/serializers.py:348 order/models.py:316 order/serializers.py:231
+#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298
+msgid "Quantity must be greater than zero"
+msgstr ""
+
+#: build/serializers.py:390
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:219
+#: build/serializers.py:396
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:226
+#: build/serializers.py:403
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:254
+#: build/serializers.py:431
msgid "Allocation items must be provided"
msgstr ""
-#: build/templates/build/allocation_card.html:21
-#: build/templates/build/complete_output.html:46
-#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:501 stock/templates/stock/item_base.html:251
-#: templates/js/translated/build.js:636
-#: templates/js/translated/model_renderers.js:72
-#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342
-msgid "Serial Number"
-msgstr "Serienummer"
+#: build/tasks.py:92
+#, fuzzy
+#| msgid "User responsible for this build order"
+msgid "Stock required for build order"
+msgstr "Gebruiker verantwoordelijk voor deze bouwopdracht"
-#: build/templates/build/build_base.html:18
+#: build/templates/build/build_base.html:39
+#: order/templates/order/order_base.html:28
+#: order/templates/order/sales_order_base.html:38
+msgid "Print actions"
+msgstr "Afdruk acties"
+
+#: build/templates/build/build_base.html:43
+#, fuzzy
+#| msgid "Print Build Order"
+msgid "Print build order report"
+msgstr "Print Bouw Order"
+
+#: build/templates/build/build_base.html:50
+msgid "Build actions"
+msgstr "Build acties"
+
+#: build/templates/build/build_base.html:54
+msgid "Edit Build"
+msgstr "Bewerk Build"
+
+#: build/templates/build/build_base.html:56
+#: build/templates/build/build_base.html:207 build/views.py:56
+msgid "Cancel Build"
+msgstr "Annuleer Build"
+
+#: build/templates/build/build_base.html:59
+msgid "Delete Build"
+msgstr "Verwijder bouw"
+
+#: build/templates/build/build_base.html:64
+#: build/templates/build/build_base.html:65
+#: build/templates/build/build_base.html:223
+msgid "Complete Build"
+msgstr "Voltooi Build"
+
+#: build/templates/build/build_base.html:79
#, python-format
msgid "This Build Order is allocated to Sales Order %(link)s"
msgstr "Deze bouwopdracht is toegewezen aan verkooporder %(link)s"
-#: build/templates/build/build_base.html:25
+#: build/templates/build/build_base.html:86
#, python-format
msgid "This Build Order is a child of Build Order %(link)s"
msgstr "Deze bouwopdracht is een onderdeel van bouwopdracht %(link)s"
-#: build/templates/build/build_base.html:32
+#: build/templates/build/build_base.html:93
msgid "Build Order is ready to mark as completed"
msgstr "Bouwopdracht is gereed om te markeren als voltooid"
-#: build/templates/build/build_base.html:37
+#: build/templates/build/build_base.html:98
msgid "Build Order cannot be completed as outstanding outputs remain"
msgstr "Bouwopdracht kan niet worden voltooid omdat openstaande outputs blijven"
-#: build/templates/build/build_base.html:42
+#: build/templates/build/build_base.html:103
msgid "Required build quantity has not yet been completed"
msgstr "Vereiste bouwhoeveelheid is nog niet bereikt"
-#: build/templates/build/build_base.html:47
+#: build/templates/build/build_base.html:108
msgid "Stock has not been fully allocated to this Build Order"
msgstr "Voorraad is niet volledig toegewezen aan deze bouwopdracht"
-#: build/templates/build/build_base.html:75
-#: company/templates/company/company_base.html:40
-#: company/templates/company/manufacturer_part.html:29
-#: company/templates/company/supplier_part.html:30
-#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:30
-#: stock/templates/stock/item_base.html:62
-#: stock/templates/stock/location.html:31
-msgid "Admin view"
-msgstr "Beheerder weergave"
+#: build/templates/build/build_base.html:138
+#: build/templates/build/detail.html:132
+#: order/templates/order/order_base.html:140
+#: order/templates/order/sales_order_base.html:140
+#: report/templates/report/inventree_build_order_base.html:126
+#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690
+#: templates/js/translated/order.js:1087
+msgid "Target Date"
+msgstr "Streefdatum"
-#: build/templates/build/build_base.html:81
-#: build/templates/build/build_base.html:150
-#: order/templates/order/order_base.html:32
-#: order/templates/order/order_base.html:86
-#: order/templates/order/sales_order_base.html:43
-#: order/templates/order/sales_order_base.html:93
-#: templates/js/translated/table_filters.js:272
-#: templates/js/translated/table_filters.js:300
-#: templates/js/translated/table_filters.js:317
-msgid "Overdue"
-msgstr "Achterstallig"
-
-#: build/templates/build/build_base.html:90
-msgid "Print actions"
-msgstr "Afdruk acties"
-
-#: build/templates/build/build_base.html:94
-msgid "Print Build Order"
-msgstr "Print Bouw Order"
-
-#: build/templates/build/build_base.html:100
-#: build/templates/build/build_base.html:222
-msgid "Complete Build"
-msgstr "Voltooi Build"
-
-#: build/templates/build/build_base.html:105
-msgid "Build actions"
-msgstr "Build acties"
-
-#: build/templates/build/build_base.html:109
-msgid "Edit Build"
-msgstr "Bewerk Build"
-
-#: build/templates/build/build_base.html:111
-#: build/templates/build/build_base.html:206 build/views.py:56
-msgid "Cancel Build"
-msgstr "Annuleer Build"
-
-#: build/templates/build/build_base.html:114
-msgid "Delete Build"
-msgstr "Verwijder bouw"
-
-#: build/templates/build/build_base.html:124
-#: build/templates/build/detail.html:15
-msgid "Build Details"
-msgstr "Build details"
-
-#: build/templates/build/build_base.html:150
+#: build/templates/build/build_base.html:143
#, python-format
msgid "This build was due on %(target)s"
msgstr "Deze bouw was verwacht op %(target)s"
-#: build/templates/build/build_base.html:157
-#: build/templates/build/detail.html:67
-msgid "Progress"
-msgstr "Voortgang"
+#: build/templates/build/build_base.html:143
+#: build/templates/build/build_base.html:188
+#: order/templates/order/order_base.html:81
+#: order/templates/order/order_base.html:102
+#: order/templates/order/sales_order_base.html:78
+#: order/templates/order/sales_order_base.html:107
+#: templates/js/translated/table_filters.js:288
+#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:333
+msgid "Overdue"
+msgstr "Achterstallig"
-#: build/templates/build/build_base.html:170
-#: build/templates/build/detail.html:87 order/models.py:848
+#: build/templates/build/build_base.html:150
+#: build/templates/build/detail.html:68 build/templates/build/detail.html:143
+#: templates/js/translated/build.js:1641
+#: templates/js/translated/table_filters.js:298
+msgid "Completed"
+msgstr ""
+
+#: build/templates/build/build_base.html:163
+#: build/templates/build/detail.html:95 order/models.py:857
#: order/templates/order/sales_order_base.html:9
-#: order/templates/order/sales_order_base.html:35
+#: order/templates/order/sales_order_base.html:28
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:293
-#: templates/js/translated/order.js:1016
+#: stock/templates/stock/item_base.html:280
+#: templates/js/translated/order.js:1029
msgid "Sales Order"
msgstr "Verkoop Order"
-#: build/templates/build/build_base.html:177
-#: build/templates/build/detail.html:101
+#: build/templates/build/build_base.html:170
+#: build/templates/build/detail.html:109
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr "Uitgegeven door"
-#: build/templates/build/build_base.html:214
+#: build/templates/build/build_base.html:215
msgid "Incomplete Outputs"
msgstr "Onvolledige bouwuitvoer"
-#: build/templates/build/build_base.html:215
+#: build/templates/build/build_base.html:216
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr "Bouwopdracht kan niet worden voltooid omdat onvolledige bouwuitvoer blijft bestaan"
@@ -1175,220 +1168,205 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/templates/build/complete_output.html:10
-msgid "Stock allocation is complete for this output"
-msgstr ""
+#: build/templates/build/detail.html:16
+msgid "Build Details"
+msgstr "Build details"
-#: build/templates/build/complete_output.html:14
-msgid "Stock allocation is incomplete"
-msgstr ""
-
-#: build/templates/build/complete_output.html:20
-msgid "tracked parts have not been fully allocated"
-msgstr ""
-
-#: build/templates/build/complete_output.html:41
-msgid "The following items will be created"
-msgstr ""
-
-#: build/templates/build/detail.html:38
+#: build/templates/build/detail.html:39
msgid "Stock Source"
msgstr "Voorraadbron"
-#: build/templates/build/detail.html:43
+#: build/templates/build/detail.html:44
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134
-#: templates/js/translated/order.js:431 templates/js/translated/order.js:939
+#: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150
+#: templates/js/translated/order.js:432 templates/js/translated/order.js:952
msgid "Destination"
msgstr ""
-#: build/templates/build/detail.html:56
+#: build/templates/build/detail.html:57
msgid "Destination location not specified"
msgstr ""
-#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:317
-#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852
-#: templates/js/translated/table_filters.js:129
-#: templates/js/translated/table_filters.js:211
+#: build/templates/build/detail.html:74 templates/js/translated/build.js:647
+#, fuzzy
+#| msgid "Build to allocate parts"
+msgid "Allocated Parts"
+msgstr "Bouw om onderdelen toe te wijzen"
+
+#: build/templates/build/detail.html:81
+#: stock/templates/stock/item_base.html:304
+#: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164
+#: templates/js/translated/table_filters.js:145
+#: templates/js/translated/table_filters.js:227
msgid "Batch"
msgstr "Batch"
-#: build/templates/build/detail.html:119
-#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:118
-#: templates/js/translated/build.js:1259
+#: build/templates/build/detail.html:127
+#: order/templates/order/order_base.html:127
+#: order/templates/order/sales_order_base.html:134
+#: templates/js/translated/build.js:1663
msgid "Created"
msgstr "Gecreëerd"
-#: build/templates/build/detail.html:130
+#: build/templates/build/detail.html:138
msgid "No target date set"
msgstr "Geen doeldatum ingesteld"
-#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237
-#: templates/js/translated/table_filters.js:282
-msgid "Completed"
-msgstr ""
-
-#: build/templates/build/detail.html:139
+#: build/templates/build/detail.html:147
msgid "Build not complete"
msgstr ""
-#: build/templates/build/detail.html:150 build/templates/build/navbar.html:35
+#: build/templates/build/detail.html:158
msgid "Child Build Orders"
msgstr ""
-#: build/templates/build/detail.html:166
+#: build/templates/build/detail.html:173
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:172
-msgid "Allocate stock to build"
-msgstr ""
-
-#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20
-#: build/templates/build/navbar.html:23
-msgid "Allocate Stock"
-msgstr ""
-
-#: build/templates/build/detail.html:175 templates/js/translated/build.js:817
+#: build/templates/build/detail.html:177 templates/js/translated/build.js:1202
msgid "Unallocate stock"
msgstr "Niet toegewezen voorraad"
-#: build/templates/build/detail.html:176 build/views.py:257
+#: build/templates/build/detail.html:178
msgid "Unallocate Stock"
msgstr "Niet toegewezen voorraad"
-#: build/templates/build/detail.html:179
+#: build/templates/build/detail.html:180
+msgid "Allocate stock to build"
+msgstr ""
+
+#: build/templates/build/detail.html:181
+msgid "Allocate Stock"
+msgstr ""
+
+#: build/templates/build/detail.html:184
msgid "Order required parts"
msgstr ""
-#: build/templates/build/detail.html:180
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72 order/views.py:509
-#: part/templates/part/category.html:140
+#: build/templates/build/detail.html:185
+#: company/templates/company/detail.html:38
+#: company/templates/company/detail.html:85 order/views.py:509
+#: part/templates/part/category.html:166
msgid "Order Parts"
msgstr "Bestel onderdelen"
-#: build/templates/build/detail.html:186
+#: build/templates/build/detail.html:197
msgid "Untracked stock has been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:190
+#: build/templates/build/detail.html:201
msgid "Untracked stock has not been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:197
+#: build/templates/build/detail.html:208
msgid "Allocate selected items"
msgstr ""
-#: build/templates/build/detail.html:209
+#: build/templates/build/detail.html:218
msgid "This Build Order does not have any associated untracked BOM items"
msgstr ""
-#: build/templates/build/detail.html:218
+#: build/templates/build/detail.html:227
msgid "Incomplete Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:223
+#: build/templates/build/detail.html:231
msgid "Create new build output"
msgstr ""
-#: build/templates/build/detail.html:224
-msgid "Create New Output"
-msgstr ""
+#: build/templates/build/detail.html:232
+#, fuzzy
+#| msgid "Build Quantity"
+msgid "New Build Output"
+msgstr "Bouwkwaliteit"
-#: build/templates/build/detail.html:237
-msgid "Create a new build output"
-msgstr ""
+#: build/templates/build/detail.html:246
+#, fuzzy
+#| msgid "Printing Actions"
+msgid "Output Actions"
+msgstr "Afdrukacties"
-#: build/templates/build/detail.html:238
-msgid "No incomplete build outputs remain."
-msgstr ""
+#: build/templates/build/detail.html:250
+#, fuzzy
+#| msgid "Completed items"
+msgid "Complete selected items"
+msgstr "Voltooide voorraadartikelen"
-#: build/templates/build/detail.html:239
-msgid "Create a new build output using the button above"
-msgstr ""
+#: build/templates/build/detail.html:251
+#, fuzzy
+#| msgid "Incomplete Outputs"
+msgid "Complete outputs"
+msgstr "Onvolledige bouwuitvoer"
-#: build/templates/build/detail.html:247
+#: build/templates/build/detail.html:266
msgid "Completed Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42
-#: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35
-#: order/templates/order/sales_order_detail.html:43
-#: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173
-#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117
-#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47
-#: stock/templates/stock/navbar.html:50
+#: build/templates/build/detail.html:278
+#: order/templates/order/purchase_order_detail.html:60
+#: order/templates/order/sales_order_detail.html:52
+#: part/templates/part/detail.html:300 stock/templates/stock/item.html:95
msgid "Attachments"
msgstr "Bijlagen"
-#: build/templates/build/detail.html:269
+#: build/templates/build/detail.html:294
msgid "Build Notes"
msgstr "Bouw notities"
-#: build/templates/build/detail.html:273 build/templates/build/detail.html:414
-#: company/templates/company/detail.html:169
-#: company/templates/company/detail.html:196
-#: order/templates/order/purchase_order_detail.html:71
-#: order/templates/order/purchase_order_detail.html:104
-#: order/templates/order/sales_order_detail.html:58
-#: order/templates/order/sales_order_detail.html:85
-#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103
-#: stock/templates/stock/item.html:188
+#: build/templates/build/detail.html:298 build/templates/build/detail.html:489
+#: company/templates/company/detail.html:188
+#: company/templates/company/detail.html:215
+#: order/templates/order/purchase_order_detail.html:80
+#: order/templates/order/purchase_order_detail.html:108
+#: order/templates/order/sales_order_detail.html:72
+#: order/templates/order/sales_order_detail.html:99
+#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115
+#: stock/templates/stock/item.html:205
msgid "Edit Notes"
msgstr "Notities Bewerken"
-#: build/templates/build/detail.html:373
-#: order/templates/order/po_attachments.html:79
-#: order/templates/order/purchase_order_detail.html:166
-#: order/templates/order/sales_order_detail.html:146
-#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253
-#: templates/attachment_table.html:6
+#: build/templates/build/detail.html:448
+#: order/templates/order/purchase_order_detail.html:170
+#: order/templates/order/sales_order_detail.html:160
+#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270
+#: templates/attachment_button.html:4
msgid "Add Attachment"
msgstr ""
-#: build/templates/build/detail.html:392
-#: order/templates/order/po_attachments.html:51
-#: order/templates/order/purchase_order_detail.html:138
-#: order/templates/order/sales_order_detail.html:119
-#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221
+#: build/templates/build/detail.html:467
+#: order/templates/order/purchase_order_detail.html:142
+#: order/templates/order/sales_order_detail.html:133
+#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238
msgid "Edit Attachment"
msgstr ""
-#: build/templates/build/detail.html:399
-#: order/templates/order/po_attachments.html:58
-#: order/templates/order/purchase_order_detail.html:145
-#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230
-#: templates/js/translated/order.js:1230
+#: build/templates/build/detail.html:474
+#: order/templates/order/purchase_order_detail.html:149
+#: order/templates/order/sales_order_detail.html:139
+#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247
+#: templates/js/translated/order.js:1243
msgid "Confirm Delete Operation"
msgstr ""
-#: build/templates/build/detail.html:400
-#: order/templates/order/po_attachments.html:59
-#: order/templates/order/purchase_order_detail.html:146
-#: order/templates/order/sales_order_detail.html:126
-#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231
+#: build/templates/build/detail.html:475
+#: order/templates/order/purchase_order_detail.html:150
+#: order/templates/order/sales_order_detail.html:140
+#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248
msgid "Delete Attachment"
msgstr ""
-#: build/templates/build/detail.html:443
+#: build/templates/build/detail.html:513
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:444
+#: build/templates/build/detail.html:514
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/edit_build_item.html:7
-msgid "Alter the quantity of stock allocated to the build output"
-msgstr ""
-
-#: build/templates/build/index.html:28
+#: build/templates/build/index.html:18 part/templates/part/detail.html:433
msgid "New Build Order"
msgstr ""
@@ -1396,47 +1374,18 @@ msgstr ""
msgid "Print Build Orders"
msgstr ""
-#: build/templates/build/index.html:43
-#: order/templates/order/purchase_orders.html:27
-#: order/templates/order/sales_orders.html:27
+#: build/templates/build/index.html:44
+#: order/templates/order/purchase_orders.html:34
+#: order/templates/order/sales_orders.html:37
msgid "Display calendar view"
msgstr ""
-#: build/templates/build/index.html:46
-#: order/templates/order/purchase_orders.html:30
-#: order/templates/order/sales_orders.html:30
+#: build/templates/build/index.html:47
+#: order/templates/order/purchase_orders.html:37
+#: order/templates/order/sales_orders.html:40
msgid "Display list view"
msgstr ""
-#: build/templates/build/navbar.html:12
-msgid "Build Order Details"
-msgstr ""
-
-#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/translated/stock.js:1534
-msgid "Details"
-msgstr ""
-
-#: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31
-msgid "Build Outputs"
-msgstr ""
-
-#: build/templates/build/navbar.html:38
-msgid "Child Builds"
-msgstr ""
-
-#: build/templates/build/navbar.html:49
-msgid "Build Order Notes"
-msgstr ""
-
-#: build/templates/build/unallocate.html:10
-msgid "Are you sure you wish to unallocate all stock for this build?"
-msgstr ""
-
-#: build/templates/build/unallocate.html:12
-msgid "All incomplete stock allocations will be removed from the build"
-msgstr ""
-
#: build/views.py:76
msgid "Build was cancelled"
msgstr ""
@@ -1449,7 +1398,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:122 stock/views.py:1366
+#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290
msgid "Serial numbers already exist"
msgstr ""
@@ -1461,11 +1410,11 @@ msgstr ""
msgid "Delete Build Output"
msgstr ""
-#: build/views.py:218 build/views.py:308
+#: build/views.py:218
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:219 build/views.py:309 stock/views.py:381
+#: build/views.py:219 stock/views.py:385
msgid "Check the confirmation box"
msgstr ""
@@ -1473,7 +1422,7 @@ msgstr ""
msgid "Build output does not match build"
msgstr ""
-#: build/views.py:233 build/views.py:434
+#: build/views.py:233
msgid "Build output must be specified"
msgstr ""
@@ -1481,39 +1430,19 @@ msgstr ""
msgid "Build output deleted"
msgstr ""
-#: build/views.py:343
+#: build/views.py:261
msgid "Complete Build Order"
msgstr ""
-#: build/views.py:349
+#: build/views.py:267
msgid "Build order cannot be completed - incomplete outputs remain"
msgstr ""
-#: build/views.py:360
+#: build/views.py:278
msgid "Completed build order"
msgstr ""
-#: build/views.py:376
-msgid "Complete Build Output"
-msgstr ""
-
-#: build/views.py:418
-msgid "Invalid stock status value selected"
-msgstr ""
-
-#: build/views.py:425
-msgid "Quantity to complete cannot exceed build output quantity"
-msgstr ""
-
-#: build/views.py:431
-msgid "Confirm completion of incomplete build"
-msgstr ""
-
-#: build/views.py:530
-msgid "Build output completed"
-msgstr ""
-
-#: build/views.py:567
+#: build/views.py:319
msgid "Delete Build Order"
msgstr ""
@@ -1554,728 +1483,730 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:308 common/models.py:887 common/models.py:1048
+#: common/models.py:340 common/models.py:970 common/models.py:1178
msgid "Settings key (must be unique - case insensitive"
msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig"
-#: common/models.py:310
+#: common/models.py:342
msgid "Settings value"
msgstr "Waarde van de instelling"
-#: common/models.py:345
+#: common/models.py:377
msgid "Must be an integer value"
msgstr "Moet een geheel getal zijn"
-#: common/models.py:368
+#: common/models.py:382
+msgid "Chosen value is not a valid option"
+msgstr ""
+
+#: common/models.py:405
msgid "Value must be a boolean value"
msgstr "Waarde moet een booleaanse waarde zijn"
-#: common/models.py:379
+#: common/models.py:416
msgid "Value must be an integer value"
msgstr "Waarde moet een geheel getal zijn"
-#: common/models.py:402
+#: common/models.py:439
msgid "Key string must be unique"
msgstr "Sleutelreeks moet uniek zijn"
-#: common/models.py:509
+#: common/models.py:559
+msgid "No group"
+msgstr ""
+
+#: common/models.py:601
+msgid "Restart required"
+msgstr ""
+
+#: common/models.py:602
+msgid "A setting has been changed which requires a server restart"
+msgstr ""
+
+#: common/models.py:609
msgid "InvenTree Instance Name"
msgstr "Inventree Instantie Naam"
-#: common/models.py:511
+#: common/models.py:611
msgid "String descriptor for the server instance"
msgstr "String-beschrijving voor de server instantie"
-#: common/models.py:515
+#: common/models.py:615
msgid "Use instance name"
msgstr "Gebruik de instantie naam"
-#: common/models.py:516
+#: common/models.py:616
msgid "Use the instance name in the title-bar"
msgstr "Gebruik de naam van de instantie in de titelbalk"
-#: common/models.py:522 company/models.py:100 company/models.py:101
+#: common/models.py:622 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr "Bedrijfsnaam"
-#: common/models.py:523
+#: common/models.py:623
msgid "Internal company name"
msgstr "Interne bedrijfsnaam"
-#: common/models.py:528
+#: common/models.py:628
msgid "Base URL"
msgstr "Basis URL"
-#: common/models.py:529
+#: common/models.py:629
msgid "Base URL for server instance"
msgstr "Basis URL voor serverinstantie"
-#: common/models.py:535
+#: common/models.py:635
msgid "Default Currency"
msgstr "Standaard valuta"
-#: common/models.py:536
+#: common/models.py:636
msgid "Default currency"
msgstr "Standaard valuta"
-#: common/models.py:542
+#: common/models.py:642
msgid "Download from URL"
msgstr "Download van URL"
-#: common/models.py:543
+#: common/models.py:643
msgid "Allow download of remote images and files from external URL"
msgstr "Download van afbeeldingen en bestanden vanaf een externe URL toestaan"
-#: common/models.py:549
+#: common/models.py:649
msgid "Barcode Support"
msgstr "Barcode ondersteuning"
-#: common/models.py:550
+#: common/models.py:650
msgid "Enable barcode scanner support"
msgstr "Barcodescanner ondersteuning inschakelen"
-#: common/models.py:556
+#: common/models.py:656
msgid "IPN Regex"
msgstr "IPN Regex"
-#: common/models.py:557
+#: common/models.py:657
msgid "Regular expression pattern for matching Part IPN"
msgstr "Reguliere expressiepatroon voor het corresponderen van deel IPN"
-#: common/models.py:561
+#: common/models.py:661
msgid "Allow Duplicate IPN"
msgstr "Dubbele IPN toestaan"
-#: common/models.py:562
+#: common/models.py:662
msgid "Allow multiple parts to share the same IPN"
msgstr "Toestaan dat meerdere onderdelen dezelfde IPN gebruiken"
-#: common/models.py:568
+#: common/models.py:668
msgid "Allow Editing IPN"
msgstr "Bewerken IPN toestaan"
-#: common/models.py:569
+#: common/models.py:669
msgid "Allow changing the IPN value while editing a part"
msgstr "Sta het wijzigen van de IPN toe tijdens het bewerken van een onderdeel"
-#: common/models.py:575
+#: common/models.py:675
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:576
+#: common/models.py:676
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:582
+#: common/models.py:682
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:583
+#: common/models.py:683
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:589
+#: common/models.py:689
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:590
+#: common/models.py:690
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:596
+#: common/models.py:696
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:597
+#: common/models.py:697
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:603 part/models.py:2256 report/models.py:187
-#: stock/forms.py:224 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:351
+#: common/models.py:703 part/models.py:2429 report/models.py:187
+#: templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:367
msgid "Template"
msgstr ""
-#: common/models.py:604
+#: common/models.py:704
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:610 part/models.py:806
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:363
+#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954
+#: templates/js/translated/table_filters.js:162
+#: templates/js/translated/table_filters.js:379
msgid "Assembly"
msgstr ""
-#: common/models.py:611
+#: common/models.py:711
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:617 part/models.py:812
-#: templates/js/translated/table_filters.js:367
+#: common/models.py:717 part/models.py:894
+#: templates/js/translated/table_filters.js:383
msgid "Component"
msgstr ""
-#: common/models.py:618
+#: common/models.py:718
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:624 part/models.py:823
+#: common/models.py:724 part/models.py:905
msgid "Purchaseable"
msgstr ""
-#: common/models.py:625
+#: common/models.py:725
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:631 part/models.py:828
-#: templates/js/translated/table_filters.js:375
+#: common/models.py:731 part/models.py:910
+#: templates/js/translated/table_filters.js:391
msgid "Salable"
msgstr ""
-#: common/models.py:632
+#: common/models.py:732
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:638 part/models.py:818
+#: common/models.py:738 part/models.py:900
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:379
+#: templates/js/translated/table_filters.js:94
+#: templates/js/translated/table_filters.js:395
msgid "Trackable"
msgstr ""
-#: common/models.py:639
+#: common/models.py:739
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:645 part/models.py:838
-#: part/templates/part/part_base.html:66
+#: common/models.py:745 part/models.py:920
+#: part/templates/part/part_base.html:144
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:646
+#: common/models.py:746
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:652
+#: common/models.py:752
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:653
+#: common/models.py:753
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:659
+#: common/models.py:759
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:660
+#: common/models.py:760
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:671
+#: common/models.py:771
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:672
+#: common/models.py:772
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:678
+#: common/models.py:778
msgid "Show related parts"
msgstr ""
-#: common/models.py:679
+#: common/models.py:779
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:685
+#: common/models.py:785
msgid "Create initial stock"
msgstr ""
-#: common/models.py:686
+#: common/models.py:786
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:692
+#: common/models.py:792
msgid "Internal Prices"
msgstr "Interne prijzen"
-#: common/models.py:693
+#: common/models.py:793
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:699
+#: common/models.py:799
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:700
+#: common/models.py:800
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:706 templates/stats.html:25
+#: common/models.py:806
+msgid "Part Name Display Format"
+msgstr ""
+
+#: common/models.py:807
+msgid "Format to display the part name"
+msgstr ""
+
+#: common/models.py:814
+#, fuzzy
+#| msgid "Test Reports"
+msgid "Enable Reports"
+msgstr "Testrapport"
+
+#: common/models.py:815
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:821 templates/stats.html:25
msgid "Debug Mode"
msgstr "Foutopsporingsmodus"
-#: common/models.py:707
+#: common/models.py:822
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:713
+#: common/models.py:828
msgid "Page Size"
msgstr "Paginagrootte"
-#: common/models.py:714
+#: common/models.py:829
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:724
+#: common/models.py:839
msgid "Test Reports"
msgstr "Testrapport"
-#: common/models.py:725
+#: common/models.py:840
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:731
+#: common/models.py:846
msgid "Stock Expiry"
msgstr "Verlopen voorraad"
-#: common/models.py:732
+#: common/models.py:847
msgid "Enable stock expiry functionality"
msgstr "Verlopen voorraad functionaliteit inschakelen"
-#: common/models.py:738
+#: common/models.py:853
msgid "Sell Expired Stock"
msgstr "Verkoop verlopen voorraad"
-#: common/models.py:739
+#: common/models.py:854
msgid "Allow sale of expired stock"
msgstr "Verkoop verlopen voorraad toestaan"
-#: common/models.py:745
+#: common/models.py:860
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:746
+#: common/models.py:861
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:748
+#: common/models.py:863
msgid "days"
msgstr "dagen"
-#: common/models.py:753
+#: common/models.py:868
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:754
+#: common/models.py:869
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:760
+#: common/models.py:875
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:761
+#: common/models.py:876
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:767
+#: common/models.py:882
msgid "Group by Part"
msgstr ""
-#: common/models.py:768
+#: common/models.py:883
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:774
+#: common/models.py:889
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:775
+#: common/models.py:890
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:780
+#: common/models.py:895
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:781
+#: common/models.py:896
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:785
+#: common/models.py:900
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:786
+#: common/models.py:901
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:791
+#: common/models.py:906
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:792
+#: common/models.py:907
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:798
-msgid "Enable build"
-msgstr ""
-
-#: common/models.py:799
-msgid "Enable build functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:804
-msgid "Enable buy"
-msgstr ""
-
-#: common/models.py:805
-msgid "Enable buy functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:810
-msgid "Enable sell"
-msgstr ""
-
-#: common/models.py:811
-msgid "Enable sell functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:816
-msgid "Enable stock"
-msgstr ""
-
-#: common/models.py:817
-msgid "Enable stock functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:822
-msgid "Enable SO"
-msgstr ""
-
-#: common/models.py:823
-msgid "Enable SO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:828
-msgid "Enable PO"
-msgstr ""
-
-#: common/models.py:829
-msgid "Enable PO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:836
+#: common/models.py:913
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:837
-msgid "Enable password forgot function on the login-pages"
+#: common/models.py:914
+msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:842
+#: common/models.py:919
msgid "Enable registration"
msgstr ""
-#: common/models.py:843
-msgid "Enable self-registration for users on the login-pages"
+#: common/models.py:920
+msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:848
+#: common/models.py:925
msgid "Enable SSO"
msgstr ""
-#: common/models.py:849
-msgid "Enable SSO on the login-pages"
+#: common/models.py:926
+msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:854
-msgid "E-Mail required"
+#: common/models.py:931
+msgid "Email required"
msgstr ""
-#: common/models.py:855
+#: common/models.py:932
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:860
+#: common/models.py:937
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:861
+#: common/models.py:938
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:943
msgid "Mail twice"
msgstr ""
-#: common/models.py:867
+#: common/models.py:944
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:872
+#: common/models.py:949
msgid "Password twice"
msgstr ""
-#: common/models.py:873
+#: common/models.py:950
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:898
-msgid "Show starred parts"
+#: common/models.py:955
+msgid "Group on signup"
msgstr ""
-#: common/models.py:899
-msgid "Show starred parts on the homepage"
+#: common/models.py:956
+msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:904
-msgid "Show latest parts"
-msgstr ""
-
-#: common/models.py:905
-msgid "Show latest parts on the homepage"
-msgstr ""
-
-#: common/models.py:910
-msgid "Recent Part Count"
-msgstr ""
-
-#: common/models.py:911
-msgid "Number of recent parts to display on index page"
-msgstr ""
-
-#: common/models.py:917
-msgid "Show unvalidated BOMs"
-msgstr ""
-
-#: common/models.py:918
-msgid "Show BOMs that await validation on the homepage"
-msgstr ""
-
-#: common/models.py:923
-msgid "Show recent stock changes"
-msgstr ""
-
-#: common/models.py:924
-msgid "Show recently changed stock items on the homepage"
-msgstr ""
-
-#: common/models.py:929
-msgid "Recent Stock Count"
-msgstr ""
-
-#: common/models.py:930
-msgid "Number of recent stock items to display on index page"
-msgstr ""
-
-#: common/models.py:935
-msgid "Show low stock"
-msgstr ""
-
-#: common/models.py:936
-msgid "Show low stock items on the homepage"
-msgstr ""
-
-#: common/models.py:941
-msgid "Show depleted stock"
-msgstr ""
-
-#: common/models.py:942
-msgid "Show depleted stock items on the homepage"
-msgstr ""
-
-#: common/models.py:947
-msgid "Show needed stock"
-msgstr ""
-
-#: common/models.py:948
-msgid "Show stock items needed for builds on the homepage"
-msgstr ""
-
-#: common/models.py:953
-msgid "Show expired stock"
-msgstr ""
-
-#: common/models.py:954
-msgid "Show expired stock items on the homepage"
-msgstr ""
-
-#: common/models.py:959
-msgid "Show stale stock"
-msgstr ""
-
-#: common/models.py:960
-msgid "Show stale stock items on the homepage"
-msgstr ""
-
-#: common/models.py:965
-msgid "Show pending builds"
-msgstr ""
-
-#: common/models.py:966
-msgid "Show pending builds on the homepage"
-msgstr ""
-
-#: common/models.py:971
-msgid "Show overdue builds"
-msgstr ""
-
-#: common/models.py:972
-msgid "Show overdue builds on the homepage"
-msgstr ""
-
-#: common/models.py:977
-msgid "Show outstanding POs"
-msgstr ""
-
-#: common/models.py:978
-msgid "Show outstanding POs on the homepage"
-msgstr ""
-
-#: common/models.py:983
-msgid "Show overdue POs"
-msgstr ""
-
-#: common/models.py:984
-msgid "Show overdue POs on the homepage"
-msgstr ""
-
-#: common/models.py:989
-msgid "Show outstanding SOs"
-msgstr ""
-
-#: common/models.py:990
-msgid "Show outstanding SOs on the homepage"
-msgstr ""
-
-#: common/models.py:995
-msgid "Show overdue SOs"
-msgstr ""
-
-#: common/models.py:996
-msgid "Show overdue SOs on the homepage"
+#: common/models.py:1001
+msgid "Show subscribed parts"
msgstr ""
#: common/models.py:1002
+msgid "Show subscribed parts on the homepage"
+msgstr ""
+
+#: common/models.py:1007
+msgid "Show subscribed categories"
+msgstr ""
+
+#: common/models.py:1008
+msgid "Show subscribed part categories on the homepage"
+msgstr ""
+
+#: common/models.py:1013
+msgid "Show latest parts"
+msgstr ""
+
+#: common/models.py:1014
+msgid "Show latest parts on the homepage"
+msgstr ""
+
+#: common/models.py:1019
+msgid "Recent Part Count"
+msgstr ""
+
+#: common/models.py:1020
+msgid "Number of recent parts to display on index page"
+msgstr ""
+
+#: common/models.py:1026
+msgid "Show unvalidated BOMs"
+msgstr ""
+
+#: common/models.py:1027
+msgid "Show BOMs that await validation on the homepage"
+msgstr ""
+
+#: common/models.py:1032
+msgid "Show recent stock changes"
+msgstr ""
+
+#: common/models.py:1033
+msgid "Show recently changed stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1038
+msgid "Recent Stock Count"
+msgstr ""
+
+#: common/models.py:1039
+msgid "Number of recent stock items to display on index page"
+msgstr ""
+
+#: common/models.py:1044
+msgid "Show low stock"
+msgstr ""
+
+#: common/models.py:1045
+msgid "Show low stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1050
+msgid "Show depleted stock"
+msgstr ""
+
+#: common/models.py:1051
+msgid "Show depleted stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1056
+msgid "Show needed stock"
+msgstr ""
+
+#: common/models.py:1057
+msgid "Show stock items needed for builds on the homepage"
+msgstr ""
+
+#: common/models.py:1062
+msgid "Show expired stock"
+msgstr ""
+
+#: common/models.py:1063
+msgid "Show expired stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1068
+msgid "Show stale stock"
+msgstr ""
+
+#: common/models.py:1069
+msgid "Show stale stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1074
+msgid "Show pending builds"
+msgstr ""
+
+#: common/models.py:1075
+msgid "Show pending builds on the homepage"
+msgstr ""
+
+#: common/models.py:1080
+msgid "Show overdue builds"
+msgstr ""
+
+#: common/models.py:1081
+msgid "Show overdue builds on the homepage"
+msgstr ""
+
+#: common/models.py:1086
+msgid "Show outstanding POs"
+msgstr ""
+
+#: common/models.py:1087
+msgid "Show outstanding POs on the homepage"
+msgstr ""
+
+#: common/models.py:1092
+msgid "Show overdue POs"
+msgstr ""
+
+#: common/models.py:1093
+msgid "Show overdue POs on the homepage"
+msgstr ""
+
+#: common/models.py:1098
+msgid "Show outstanding SOs"
+msgstr ""
+
+#: common/models.py:1099
+msgid "Show outstanding SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Show overdue SOs"
+msgstr ""
+
+#: common/models.py:1105
+msgid "Show overdue SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1111
msgid "Inline label display"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1112
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1118
msgid "Inline report display"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1119
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1125
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1126
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:1023
+#: common/models.py:1132
+msgid "Search Show Stock"
+msgstr ""
+
+#: common/models.py:1133
+msgid "Display stock levels in search preview window"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Hide Inactive Parts"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Hide inactive parts in search preview window"
+msgstr ""
+
+#: common/models.py:1146
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1024
+#: common/models.py:1147
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1153
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1154
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1088 company/forms.py:43
+#: common/models.py:1160
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1161
+msgid "InvenTree navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1226 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1095 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1369
+#: common/models.py:1233 company/serializers.py:264
+#: company/templates/company/supplier_part.html:256
+#: templates/js/translated/part.js:1508
msgid "Price"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1234
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1189
-msgid "Default"
-msgstr ""
-
-#: common/templates/common/edit_setting.html:11
-msgid "Current value"
-msgstr ""
-
-#: common/views.py:33
-msgid "Change Setting"
-msgstr ""
-
-#: common/views.py:119
-msgid "Supplied value is not allowed"
-msgstr ""
-
-#: common/views.py:128
-msgid "Supplied value must be a boolean"
-msgstr ""
-
-#: common/views.py:138
-msgid "Change User Setting"
-msgstr ""
-
-#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42
-#: order/templates/order/po_navbar.html:19
-#: order/templates/order/po_navbar.html:22
-#: order/templates/order/purchase_order_detail.html:27 order/views.py:289
-#: part/templates/part/bom_upload/upload_file.html:65
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
-#: part/views.py:882
+#: common/views.py:93 order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:289
+#: part/templates/part/bom_upload/upload_file.html:51
+#: part/templates/part/import_wizard/part_upload.html:46 part/views.py:281
+#: part/views.py:923
msgid "Upload File"
msgstr ""
-#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
+#: common/views.py:94 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
-#: part/views.py:883
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:282
+#: part/views.py:924
msgid "Match Fields"
msgstr ""
-#: common/views.py:215
+#: common/views.py:95
msgid "Match Items"
msgstr ""
-#: common/views.py:560
+#: common/views.py:440
msgid "Fields matching failed"
msgstr ""
-#: common/views.py:615
+#: common/views.py:495
msgid "Parts imported"
msgstr ""
-#: common/views.py:637 order/templates/order/order_wizard/match_fields.html:27
+#: common/views.py:517 order/templates/order/order_wizard/match_fields.html:27
#: order/templates/order/order_wizard/match_parts.html:19
-#: order/templates/order/order_wizard/po_upload.html:40
+#: order/templates/order/order_wizard/po_upload.html:46
#: part/templates/part/bom_upload/match_fields.html:27
#: part/templates/part/bom_upload/match_parts.html:19
-#: part/templates/part/bom_upload/upload_file.html:63
+#: part/templates/part/bom_upload/upload_file.html:49
#: part/templates/part/import_wizard/match_fields.html:27
#: part/templates/part/import_wizard/match_references.html:19
-#: part/templates/part/import_wizard/part_upload.html:43
+#: part/templates/part/import_wizard/part_upload.html:44
msgid "Previous Step"
msgstr ""
@@ -2321,6 +2252,7 @@ msgid "Contact phone number"
msgstr ""
#: company/models.py:125 company/templates/company/company_base.html:102
+#: templates/InvenTree/settings/user.html:46
msgid "Email"
msgstr ""
@@ -2337,10 +2269,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:131 company/models.py:348 company/models.py:564
-#: order/models.py:160 part/models.py:715
+#: order/models.py:163 part/models.py:797
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:536
-#: templates/js/translated/company.js:825 templates/js/translated/part.js:983
+#: templates/js/translated/company.js:825 templates/js/translated/part.js:984
msgid "Link"
msgstr ""
@@ -2348,7 +2280,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:725
+#: company/models.py:139 part/models.py:807
msgid "Image"
msgstr ""
@@ -2376,8 +2308,8 @@ msgstr ""
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:152 company/serializers.py:264
-#: company/templates/company/company_base.html:76 stock/serializers.py:158
+#: company/models.py:152 company/serializers.py:270
+#: company/templates/company/company_base.html:76 stock/serializers.py:172
msgid "Currency"
msgstr ""
@@ -2385,8 +2317,8 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:454
-#: stock/templates/stock/item_base.html:237
+#: company/models.py:320 company/models.py:535 stock/models.py:484
+#: stock/templates/stock/item_base.html:224
msgid "Base Part"
msgstr ""
@@ -2395,28 +2327,28 @@ msgid "Select part"
msgstr ""
#: company/models.py:335 company/templates/company/company_base.html:116
-#: company/templates/company/manufacturer_part.html:89
-#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:247 stock/templates/stock/item_base.html:366
+#: company/templates/company/manufacturer_part.html:93
+#: company/templates/company/supplier_part.html:104
+#: stock/templates/stock/item_base.html:353
#: templates/js/translated/company.js:332
#: templates/js/translated/company.js:513
-#: templates/js/translated/company.js:796 templates/js/translated/part.js:227
+#: templates/js/translated/company.js:796 templates/js/translated/part.js:228
msgid "Manufacturer"
msgstr ""
-#: company/models.py:336 templates/js/translated/part.js:228
+#: company/models.py:336 templates/js/translated/part.js:229
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:342 company/templates/company/manufacturer_part.html:93
-#: company/templates/company/supplier_part.html:106 part/bom.py:171
-#: part/bom.py:248 templates/js/translated/company.js:529
-#: templates/js/translated/company.js:814 templates/js/translated/order.js:851
-#: templates/js/translated/part.js:238
+#: company/models.py:342 company/templates/company/manufacturer_part.html:97
+#: company/templates/company/supplier_part.html:112
+#: templates/js/translated/company.js:529
+#: templates/js/translated/company.js:814 templates/js/translated/order.js:852
+#: templates/js/translated/part.js:239
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:239
+#: company/models.py:343 templates/js/translated/part.js:240
msgid "Manufacturer Part Number"
msgstr ""
@@ -2431,7 +2363,7 @@ msgstr ""
#: company/models.py:409 company/models.py:558
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:376
+#: stock/templates/stock/item_base.html:363
msgid "Manufacturer Part"
msgstr ""
@@ -2440,10 +2372,9 @@ msgid "Parameter name"
msgstr ""
#: company/models.py:422
-#: report/templates/report/inventree_test_report_base.html:90
-#: stock/models.py:1816 templates/InvenTree/settings/header.html:8
-#: templates/js/translated/company.js:643 templates/js/translated/part.js:623
-#: templates/js/translated/stock.js:555
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:1867 templates/js/translated/company.js:643
+#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848
msgid "Value"
msgstr ""
@@ -2451,8 +2382,9 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:800 part/models.py:2224
-#: templates/js/translated/company.js:649 templates/js/translated/part.js:629
+#: company/models.py:429 part/models.py:882 part/models.py:2397
+#: part/templates/part/detail.html:59 templates/js/translated/company.js:649
+#: templates/js/translated/part.js:650
msgid "Units"
msgstr ""
@@ -2465,27 +2397,27 @@ msgid "Linked manufacturer part must reference the same base part"
msgstr ""
#: company/models.py:545 company/templates/company/company_base.html:121
-#: company/templates/company/supplier_part.html:88 order/models.py:260
-#: order/templates/order/order_base.html:92
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:292 stock/templates/stock/item_base.html:383
+#: company/templates/company/supplier_part.html:94 order/models.py:263
+#: order/templates/order/order_base.html:108
+#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219
+#: part/bom.py:247 stock/templates/stock/item_base.html:370
#: templates/js/translated/company.js:336
-#: templates/js/translated/company.js:770 templates/js/translated/order.js:659
-#: templates/js/translated/part.js:208
+#: templates/js/translated/company.js:770 templates/js/translated/order.js:660
+#: templates/js/translated/part.js:209
msgid "Supplier"
msgstr ""
-#: company/models.py:546 templates/js/translated/part.js:209
+#: company/models.py:546 templates/js/translated/part.js:210
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:92
-#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838
-#: templates/js/translated/part.js:219
+#: company/models.py:551 company/templates/company/supplier_part.html:98
+#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:839
+#: templates/js/translated/part.js:220
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:220
+#: company/models.py:552 templates/js/translated/part.js:221
msgid "Supplier stock keeping unit"
msgstr ""
@@ -2501,23 +2433,23 @@ msgstr ""
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:120
-#: part/models.py:2389 report/templates/report/inventree_po_report.html:93
+#: company/models.py:576 company/templates/company/supplier_part.html:126
+#: part/models.py:2588 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:113
-#: stock/models.py:478 stock/templates/stock/item_base.html:324
-#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036
+#: company/models.py:582 company/templates/company/supplier_part.html:119
+#: stock/models.py:507 stock/templates/stock/item_base.html:311
+#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336
msgid "Packaging"
msgstr ""
@@ -2525,7 +2457,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1605
+#: company/models.py:584 part/models.py:1750
msgid "multiple"
msgstr ""
@@ -2533,46 +2465,42 @@ msgstr ""
msgid "Order multiple"
msgstr ""
-#: company/serializers.py:68
+#: company/serializers.py:70
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:69
+#: company/serializers.py:71
msgid "Currency Code"
msgstr ""
-#: company/templates/company/company_base.html:9
-#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321
+#: company/templates/company/company_base.html:8
+#: company/templates/company/company_base.html:12
+#: templates/InvenTree/search.html:182 templates/js/translated/company.js:321
msgid "Company"
msgstr ""
-#: company/templates/company/company_base.html:25
-#: part/templates/part/part_thumb.html:21
-msgid "Upload new image"
-msgstr ""
-
-#: company/templates/company/company_base.html:27
-#: part/templates/part/part_thumb.html:23
-msgid "Download image from URL"
-msgstr ""
-
-#: company/templates/company/company_base.html:46
-#: templates/js/translated/order.js:120
+#: company/templates/company/company_base.html:22
+#: templates/js/translated/order.js:121
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:51
+#: company/templates/company/company_base.html:27
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:56
-#: company/templates/company/company_base.html:153
+#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:148
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:64
-msgid "Company Details"
+#: company/templates/company/company_base.html:48
+#: part/templates/part/part_thumb.html:12
+msgid "Upload new image"
+msgstr ""
+
+#: company/templates/company/company_base.html:51
+#: part/templates/part/part_thumb.html:14
+msgid "Download image from URL"
msgstr ""
#: company/templates/company/company_base.html:81
@@ -2583,145 +2511,133 @@ msgstr ""
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:126 order/models.py:558
-#: order/templates/order/sales_order_base.html:99 stock/models.py:496
-#: stock/models.py:497 stock/templates/stock/item_base.html:276
-#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038
-#: templates/js/translated/stock.js:1587
+#: company/templates/company/company_base.html:126 order/models.py:567
+#: order/templates/order/sales_order_base.html:114 stock/models.py:525
+#: stock/models.py:526 stock/templates/stock/item_base.html:263
+#: templates/js/translated/company.js:328 templates/js/translated/order.js:1051
+#: templates/js/translated/stock.js:1972
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:199
-#: part/templates/part/part_base.html:424
+#: company/templates/company/company_base.html:194
+#: part/templates/part/part_base.html:342
msgid "Upload Image"
msgstr ""
-#: company/templates/company/detail.html:14
-#: company/templates/company/manufacturer_part_navbar.html:18
-#: templates/InvenTree/search.html:150
+#: company/templates/company/detail.html:15 templates/InvenTree/search.html:124
msgid "Supplier Parts"
msgstr ""
-#: company/templates/company/detail.html:22
+#: company/templates/company/detail.html:19
#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr ""
-#: company/templates/company/detail.html:23
-#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289
+#: company/templates/company/detail.html:20
+#: company/templates/company/manufacturer_part.html:112
+#: part/templates/part/detail.html:466
msgid "New Supplier Part"
msgstr ""
-#: company/templates/company/detail.html:27
-#: company/templates/company/detail.html:67
-#: company/templates/company/manufacturer_part.html:112
-#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/category.html:135 part/templates/part/detail.html:292
-#: part/templates/part/detail.html:315
+#: company/templates/company/detail.html:32
+#: company/templates/company/detail.html:79
+#: company/templates/company/manufacturer_part.html:121
+#: company/templates/company/manufacturer_part.html:150
+#: part/templates/part/category.html:160 part/templates/part/detail.html:475
+#: part/templates/part/detail.html:503
msgid "Options"
msgstr ""
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72
-#: part/templates/part/category.html:140
+#: company/templates/company/detail.html:37
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:166
msgid "Order parts"
msgstr ""
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:42
+#: company/templates/company/detail.html:89
msgid "Delete parts"
msgstr ""
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:43
+#: company/templates/company/detail.html:90
msgid "Delete Parts"
msgstr ""
-#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135
+#: company/templates/company/detail.html:62 templates/InvenTree/search.html:109
msgid "Manufacturer Parts"
msgstr ""
-#: company/templates/company/detail.html:62
+#: company/templates/company/detail.html:66
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:63 part/templates/part/detail.html:312
+#: company/templates/company/detail.html:67 part/templates/part/detail.html:493
msgid "New Manufacturer Part"
msgstr ""
-#: company/templates/company/detail.html:93
+#: company/templates/company/detail.html:107
msgid "Supplier Stock"
msgstr ""
-#: company/templates/company/detail.html:102
-#: company/templates/company/navbar.html:46
-#: company/templates/company/navbar.html:49
+#: company/templates/company/detail.html:117
+#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
-#: order/templates/order/purchase_orders.html:13
-#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82
-#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260
-#: templates/InvenTree/search.html:229
-#: templates/InvenTree/settings/navbar.html:119
-#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44
+#: order/templates/order/purchase_orders.html:12
+#: part/templates/part/detail.html:171 templates/InvenTree/index.html:252
+#: templates/InvenTree/search.html:203 templates/navbar.html:45
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
-#: company/templates/company/detail.html:108
-#: order/templates/order/purchase_orders.html:20
+#: company/templates/company/detail.html:121
+#: order/templates/order/purchase_orders.html:17
msgid "Create new purchase order"
msgstr ""
-#: company/templates/company/detail.html:109
-#: order/templates/order/purchase_orders.html:21
+#: company/templates/company/detail.html:122
+#: order/templates/order/purchase_orders.html:18
msgid "New Purchase Order"
msgstr ""
-#: company/templates/company/detail.html:124
-#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58
+#: company/templates/company/detail.html:143
+#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
-#: order/templates/order/sales_orders.html:13
-#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91
-#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291
-#: templates/InvenTree/search.html:249
-#: templates/InvenTree/settings/navbar.html:125
-#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55
+#: order/templates/order/sales_orders.html:15
+#: part/templates/part/detail.html:194 templates/InvenTree/index.html:283
+#: templates/InvenTree/search.html:223 templates/navbar.html:56
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
-#: company/templates/company/detail.html:130
+#: company/templates/company/detail.html:147
#: order/templates/order/sales_orders.html:20
msgid "Create new sales order"
msgstr ""
-#: company/templates/company/detail.html:131
+#: company/templates/company/detail.html:148
#: order/templates/order/sales_orders.html:21
msgid "New Sales Order"
msgstr ""
-#: company/templates/company/detail.html:147
-#: company/templates/company/navbar.html:61
-#: company/templates/company/navbar.html:64
-#: templates/js/translated/build.js:622
+#: company/templates/company/detail.html:168
+#: templates/js/translated/build.js:999
msgid "Assigned Stock"
msgstr ""
-#: company/templates/company/detail.html:165
+#: company/templates/company/detail.html:184
msgid "Company Notes"
msgstr ""
-#: company/templates/company/detail.html:364
-#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:357
+#: company/templates/company/detail.html:383
+#: company/templates/company/manufacturer_part.html:209
+#: part/templates/part/detail.html:546
msgid "Delete Supplier Parts?"
msgstr ""
-#: company/templates/company/detail.html:365
-#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:358
+#: company/templates/company/detail.html:384
+#: company/templates/company/manufacturer_part.html:210
+#: part/templates/part/detail.html:547
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2729,204 +2645,174 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:40
-#: company/templates/company/supplier_part.html:40
-#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116
+#: company/templates/company/manufacturer_part.html:14 company/views.py:55
+#: part/templates/part/prices.html:167 templates/InvenTree/search.html:184
+#: templates/navbar.html:44
+msgid "Manufacturers"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:35
+#: company/templates/company/supplier_part.html:34
+#: company/templates/company/supplier_part.html:159
+#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:40
#: templates/js/translated/company.js:561
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:49
+#: company/templates/company/manufacturer_part.html:44
#: templates/js/translated/company.js:562
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:61
-msgid "Manufacturer Part Details"
-msgstr ""
-
-#: company/templates/company/manufacturer_part.html:66
-#: company/templates/company/supplier_part.html:65
+#: company/templates/company/manufacturer_part.html:70
+#: company/templates/company/supplier_part.html:71
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/manufacturer_part_navbar.html:21
-#: company/views.py:49 part/templates/part/navbar.html:75
-#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163
-#: templates/InvenTree/search.html:220 templates/navbar.html:41
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: part/templates/part/prices.html:163 templates/InvenTree/search.html:194
+#: templates/navbar.html:43
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: part/templates/part/detail.html:294
+#: company/templates/company/manufacturer_part.html:123
+#: part/templates/part/detail.html:477
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: company/templates/company/manufacturer_part.html:138
-#: company/templates/company/manufacturer_part.html:239
-#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/translated/company.js:424
-#: templates/js/translated/helpers.js:31 users/models.py:199
+#: company/templates/company/manufacturer_part.html:123
+#: company/templates/company/manufacturer_part.html:152
+#: company/templates/company/manufacturer_part.html:248
+#: part/templates/part/detail.html:351 part/templates/part/detail.html:477
+#: part/templates/part/detail.html:505 templates/js/translated/company.js:424
+#: templates/js/translated/helpers.js:31 users/models.py:204
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:127
-#: company/templates/company/manufacturer_part_navbar.html:11
-#: company/templates/company/manufacturer_part_navbar.html:14
-#: part/templates/part/category_navbar.html:38
-#: part/templates/part/category_navbar.html:41
-#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20
-#: part/templates/part/navbar.html:23
+#: company/templates/company/manufacturer_part.html:137
+#: part/templates/part/detail.html:277
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:133
-#: part/templates/part/detail.html:162
-#: templates/InvenTree/settings/category.html:26
-#: templates/InvenTree/settings/part.html:63
+#: company/templates/company/manufacturer_part.html:141
+#: part/templates/part/detail.html:282
+#: templates/InvenTree/settings/category.html:12
+#: templates/InvenTree/settings/part.html:65
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:138
+#: company/templates/company/manufacturer_part.html:152
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:805
+#: company/templates/company/manufacturer_part.html:185
+#: part/templates/part/detail.html:983
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:224
+#: company/templates/company/manufacturer_part.html:233
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:236
+#: company/templates/company/manufacturer_part.html:245
msgid "Delete Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part_navbar.html:26
-msgid "Manufacturer Part Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:29
-#: company/templates/company/navbar.html:39
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/navbar.html:38 stock/api.py:52
-#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182
-#: templates/InvenTree/settings/navbar.html:107
-#: templates/InvenTree/settings/navbar.html:109
-#: templates/js/translated/part.js:540 templates/js/translated/part.js:769
-#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182
-#: templates/js/translated/stock.js:829 templates/navbar.html:32
-msgid "Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:33
-msgid "Manufacturer Part Orders"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:36
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr ""
-
-#: company/templates/company/navbar.html:17
-#: company/templates/company/navbar.html:20
-msgid "Manufactured Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:26
-#: company/templates/company/navbar.html:29
-msgid "Supplied Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35
-#: stock/templates/stock/location.html:119
-#: stock/templates/stock/location.html:134
-#: stock/templates/stock/location.html:148
-#: stock/templates/stock/location_navbar.html:18
-#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486
-#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
-msgid "Stock Items"
-msgstr ""
-
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:463
-#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993
+#: company/templates/company/supplier_part.html:24 stock/models.py:492
+#: stock/templates/stock/item_base.html:375
+#: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44
+#: company/templates/company/supplier_part.html:38
#: templates/js/translated/company.js:859
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48
+#: company/templates/company/supplier_part.html:42
#: templates/js/translated/company.js:860
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:60
-msgid "Supplier Part Details"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:131
+#: company/templates/company/supplier_part.html:138
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:140
+#: company/templates/company/supplier_part.html:141
+#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147
+#, fuzzy
+#| msgid "Create new stock location"
+msgid "Create new stock item"
+msgstr "Maak nieuwe voorraadlocatie"
+
+#: company/templates/company/supplier_part.html:142
+#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148
+#: templates/js/translated/stock.js:324
+msgid "New Stock Item"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:155
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:147
-#: part/templates/part/detail.html:56
+#: company/templates/company/supplier_part.html:160
+#: part/templates/part/detail.html:175
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:158
-#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7
+#: company/templates/company/supplier_part.html:179
+#: part/templates/part/prices.html:7
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:164
-#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:271 part/views.py:1730
+#: company/templates/company/supplier_part.html:184
+#: company/templates/company/supplier_part.html:290
+#: part/templates/part/prices.html:271 part/views.py:1782
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:185
+#: company/templates/company/supplier_part.html:210
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:1792
+#: company/templates/company/supplier_part.html:224 part/views.py:1844
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:1778
+#: company/templates/company/supplier_part.html:238 part/views.py:1830
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
+#: company/templates/company/supplier_part.html:263
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:239
+#: company/templates/company/supplier_part.html:264
msgid "Delete price break"
msgstr ""
+#: company/templates/company/supplier_part_navbar.html:15
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426
+#: templates/js/translated/part.js:561 templates/js/translated/part.js:786
+#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479
+#: templates/js/translated/stock.js:1132 templates/navbar.html:26
+msgid "Stock"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:22
+msgid "Orders"
+msgstr ""
+
#: company/templates/company/supplier_part_navbar.html:26
msgid "Supplier Part Pricing"
msgstr ""
@@ -2939,17 +2825,12 @@ msgstr ""
msgid "New Supplier"
msgstr ""
-#: company/views.py:55 part/templates/part/prices.html:167
-#: templates/InvenTree/search.html:210 templates/navbar.html:42
-msgid "Manufacturers"
-msgstr ""
-
#: company/views.py:56
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:240
-#: templates/navbar.html:53
+#: company/views.py:61 templates/InvenTree/search.html:214
+#: templates/navbar.html:55
msgid "Customers"
msgstr ""
@@ -2965,24 +2846,24 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:608
+#: company/views.py:129 part/views.py:649
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:640
+#: company/views.py:158 part/views.py:681
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:647
+#: company/views.py:165 part/views.py:688
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:656
+#: company/views.py:174 part/views.py:697
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:57 report/api.py:201
+#: label/api.py:57 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -2994,7 +2875,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:167
+#: label/models.py:127
msgid "Label"
msgstr ""
@@ -3039,7 +2920,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:259 label/models.py:319 label/models.py:366
-#: report/models.py:322 report/models.py:457 report/models.py:495
+#: report/models.py:322 report/models.py:459 report/models.py:497
msgid "Filters"
msgstr ""
@@ -3051,240 +2932,236 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:250
-msgid "Matching purchase order does not exist"
-msgstr ""
-
-#: order/forms.py:27 order/templates/order/order_base.html:50
+#: order/forms.py:26 order/templates/order/order_base.html:52
msgid "Place order"
msgstr ""
-#: order/forms.py:38 order/templates/order/order_base.html:57
+#: order/forms.py:37 order/templates/order/order_base.html:59
msgid "Mark order as complete"
msgstr ""
-#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:64
+#: order/forms.py:48 order/forms.py:59 order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
msgid "Cancel order"
msgstr ""
-#: order/forms.py:71 order/templates/order/sales_order_base.html:61
+#: order/forms.py:70
msgid "Ship order"
msgstr ""
-#: order/forms.py:97
+#: order/forms.py:98
msgid "Enter stock item serial numbers"
msgstr ""
-#: order/forms.py:103
+#: order/forms.py:104
msgid "Enter quantity of stock items"
msgstr ""
-#: order/models.py:158
+#: order/models.py:161
msgid "Order description"
msgstr ""
-#: order/models.py:160
+#: order/models.py:163
msgid "Link to external page"
msgstr ""
-#: order/models.py:168
+#: order/models.py:171
msgid "Created By"
msgstr ""
-#: order/models.py:175
+#: order/models.py:178
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:180
+#: order/models.py:183
msgid "Order notes"
msgstr ""
-#: order/models.py:247 order/models.py:548
+#: order/models.py:250 order/models.py:557
msgid "Order reference"
msgstr ""
-#: order/models.py:252 order/models.py:563
+#: order/models.py:255 order/models.py:572
msgid "Purchase order status"
msgstr ""
-#: order/models.py:261
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/translated/order.js:668
+#: order/models.py:267 order/templates/order/order_base.html:114
+#: templates/js/translated/order.js:669
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:264
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:271
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:276
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:277
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:282
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:283
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:289
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:318
+#: order/models.py:321
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:428
+#: order/models.py:431
msgid "Quantity must be an integer"
msgstr ""
-#: order/models.py:432
+#: order/models.py:435
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:559
+#: order/models.py:568
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer Reference "
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:570
+#: order/models.py:579
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:573 templates/js/translated/order.js:1079
+#: order/models.py:582 templates/js/translated/order.js:1092
msgid "Shipment Date"
msgstr ""
-#: order/models.py:580
+#: order/models.py:589
msgid "shipped by"
msgstr ""
-#: order/models.py:624
+#: order/models.py:633
msgid "SalesOrder cannot be shipped as it is not currently pending"
msgstr ""
-#: order/models.py:721
+#: order/models.py:730
msgid "Item quantity"
msgstr ""
-#: order/models.py:727
+#: order/models.py:736
msgid "Line item reference"
msgstr ""
-#: order/models.py:729
+#: order/models.py:738
msgid "Line item notes"
msgstr ""
-#: order/models.py:759 order/models.py:847
-#: templates/js/translated/order.js:1131
+#: order/models.py:768 order/models.py:856
+#: templates/js/translated/order.js:1144
msgid "Order"
msgstr ""
-#: order/models.py:760 order/templates/order/order_base.html:9
-#: order/templates/order/order_base.html:24
+#: order/models.py:769 order/templates/order/order_base.html:9
+#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:338
-#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970
-#: templates/js/translated/stock.js:1568
+#: stock/templates/stock/item_base.html:325
+#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1270
+#: templates/js/translated/stock.js:1953
msgid "Purchase Order"
msgstr ""
-#: order/models.py:781
+#: order/models.py:790
msgid "Supplier part"
msgstr ""
-#: order/models.py:788 order/templates/order/order_base.html:131
-#: order/templates/order/sales_order_base.html:138
-#: templates/js/translated/order.js:428 templates/js/translated/order.js:919
+#: order/models.py:797 order/templates/order/order_base.html:147
+#: order/templates/order/sales_order_base.html:154
+#: templates/js/translated/order.js:429 templates/js/translated/order.js:932
msgid "Received"
msgstr ""
-#: order/models.py:789
+#: order/models.py:798
msgid "Number of items received"
msgstr ""
-#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588
-#: stock/serializers.py:150 stock/templates/stock/item_base.html:345
-#: templates/js/translated/stock.js:1024
+#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619
+#: stock/serializers.py:163 stock/templates/stock/item_base.html:332
+#: templates/js/translated/stock.js:1324
msgid "Purchase Price"
msgstr ""
-#: order/models.py:797
+#: order/models.py:806
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:805
+#: order/models.py:814
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:857 part/templates/part/part_pricing.html:112
+#: order/models.py:866 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:116 part/templates/part/prices.html:284
msgid "Sale Price"
msgstr ""
-#: order/models.py:858
+#: order/models.py:867
msgid "Unit sale price"
msgstr ""
-#: order/models.py:937 order/models.py:939
+#: order/models.py:946 order/models.py:948
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:943
+#: order/models.py:952
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:945
+#: order/models.py:954
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:948
+#: order/models.py:957
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:952
+#: order/models.py:961
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:958
+#: order/models.py:967
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:966
+#: order/models.py:975
msgid "Line"
msgstr ""
-#: order/models.py:978
+#: order/models.py:987
msgid "Item"
msgstr ""
-#: order/models.py:979
+#: order/models.py:988
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:982
+#: order/models.py:991
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3300,7 +3177,7 @@ msgstr ""
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:218 order/serializers.py:285
+#: order/serializers.py:218 order/serializers.py:286
msgid "Select destination location for received items"
msgstr ""
@@ -3312,72 +3189,76 @@ msgstr ""
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:259
+#: order/serializers.py:260
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:297
+#: order/serializers.py:298
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:314
+#: order/serializers.py:315
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:325
+#: order/serializers.py:326
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:569
+#: order/serializers.py:568
msgid "Sale price currency"
msgstr ""
#: order/templates/order/delete_attachment.html:5
#: stock/templates/stock/attachment_delete.html:5
-#: templates/attachment_delete.html:5
msgid "Are you sure you want to delete this attachment?"
msgstr ""
-#: order/templates/order/order_base.html:39
-#: order/templates/order/sales_order_base.html:50
-msgid "Print"
-msgstr ""
+#: order/templates/order/order_base.html:33
+#, fuzzy
+#| msgid "Received against purchase order"
+msgid "Print purchase order report"
+msgstr "Ontvangen tegen inkoopopdracht"
-#: order/templates/order/order_base.html:42
-#: order/templates/order/sales_order_base.html:53
+#: order/templates/order/order_base.html:35
+#: order/templates/order/sales_order_base.html:45
msgid "Export order to file"
msgstr ""
-#: order/templates/order/order_base.html:46
-#: order/templates/order/sales_order_base.html:57
-msgid "Edit order information"
-msgstr ""
+#: order/templates/order/order_base.html:41
+#: order/templates/order/sales_order_base.html:54
+#, fuzzy
+#| msgid "Order Parts"
+msgid "Order actions"
+msgstr "Bestel onderdelen"
-#: order/templates/order/order_base.html:54
+#: order/templates/order/order_base.html:45
+#: order/templates/order/sales_order_base.html:58
+#, fuzzy
+#| msgid "Edit Notes"
+msgid "Edit order"
+msgstr "Notities Bewerken"
+
+#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
-#: order/templates/order/order_base.html:72
-#: order/templates/order/po_navbar.html:12
-msgid "Purchase Order Details"
-msgstr ""
-
-#: order/templates/order/order_base.html:77
-#: order/templates/order/sales_order_base.html:84
+#: order/templates/order/order_base.html:93
+#: order/templates/order/sales_order_base.html:98
msgid "Order Reference"
msgstr ""
-#: order/templates/order/order_base.html:82
-#: order/templates/order/sales_order_base.html:89
+#: order/templates/order/order_base.html:98
+#: order/templates/order/sales_order_base.html:103
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:117
+#: order/templates/order/order_base.html:133
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:185
+#: order/templates/order/order_base.html:203
msgid "Edit Purchase Order"
msgstr ""
@@ -3453,7 +3334,8 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/build.js:869 templates/js/translated/order.js:376
+#: templates/js/translated/build.js:240 templates/js/translated/build.js:1251
+#: templates/js/translated/order.js:377
msgid "Remove row"
msgstr ""
@@ -3475,19 +3357,19 @@ msgstr ""
msgid "Select Supplier Part"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:11
+#: order/templates/order/order_wizard/po_upload.html:16
msgid "Upload File for Purchase Order"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:18
-#: part/templates/part/bom_upload/upload_file.html:34
+#: order/templates/order/order_wizard/po_upload.html:24
+#: part/templates/part/bom_upload/upload_file.html:20
#: part/templates/part/import_wizard/ajax_part_upload.html:10
-#: part/templates/part/import_wizard/part_upload.html:21
+#: part/templates/part/import_wizard/part_upload.html:22
#, python-format
msgid "Step %(step)s of %(count)s"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/order_wizard/po_upload.html:54
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
@@ -3530,7 +3412,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084
+#: templates/js/translated/order.js:695 templates/js/translated/order.js:1097
msgid "Items"
msgstr ""
@@ -3548,30 +3430,14 @@ msgstr ""
msgid "Select a purchase order for %(name)s"
msgstr ""
-#: order/templates/order/po_attachments.html:12
-#: order/templates/order/po_navbar.html:32
-#: order/templates/order/purchase_order_detail.html:56
-msgid "Purchase Order Attachments"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:26
-msgid "Received Stock Items"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:29
-#: order/templates/order/po_received_items.html:12
-#: order/templates/order/purchase_order_detail.html:47
-msgid "Received Items"
-msgstr ""
-
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:24
-#: order/templates/order/purchase_order_detail.html:212
+#: order/templates/order/purchase_order_detail.html:27
+#: order/templates/order/purchase_order_detail.html:216
#: order/templates/order/sales_order_detail.html:23
-#: order/templates/order/sales_order_detail.html:177
+#: order/templates/order/sales_order_detail.html:191
msgid "Add Line Item"
msgstr ""
@@ -3583,34 +3449,45 @@ msgstr ""
msgid "Receive Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
-#: order/templates/order/sales_order_detail.html:54
+#: order/templates/order/purchase_order_detail.html:50
+msgid "Received Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:76
+#: order/templates/order/sales_order_detail.html:68
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_orders.html:24
-#: order/templates/order/sales_orders.html:24
+#: order/templates/order/purchase_orders.html:30
+#: order/templates/order/sales_orders.html:33
msgid "Print Order Reports"
msgstr ""
-#: order/templates/order/sales_order_base.html:16
+#: order/templates/order/sales_order_base.html:43
+msgid "Print sales order report"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:47
+#, fuzzy
+#| msgid "Print actions"
+msgid "Print packing list"
+msgstr "Afdruk acties"
+
+#: order/templates/order/sales_order_base.html:66
+#: order/templates/order/sales_order_base.html:67 order/views.py:222
+msgid "Ship Order"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:86
msgid "This Sales Order has not been fully allocated"
msgstr ""
-#: order/templates/order/sales_order_base.html:70
-msgid "Packing List"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:79
-msgid "Sales Order Details"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:105
-#: templates/js/translated/order.js:1051
+#: order/templates/order/sales_order_base.html:121
+#: templates/js/translated/order.js:1064
msgid "Customer Reference"
msgstr ""
-#: order/templates/order/sales_order_base.html:183
+#: order/templates/order/sales_order_base.html:194
msgid "Edit Sales Order"
msgstr ""
@@ -3625,7 +3502,7 @@ msgstr ""
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -3653,18 +3530,6 @@ msgstr ""
msgid "Allocate stock items by serial number"
msgstr ""
-#: order/templates/order/so_navbar.html:12
-msgid "Sales Order Line Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:15
-msgid "Order Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:26
-msgid "Sales Order Attachments"
-msgstr ""
-
#: order/views.py:103
msgid "Cancel Order"
msgstr ""
@@ -3705,10 +3570,6 @@ msgstr ""
msgid "Purchase order completed"
msgstr ""
-#: order/views.py:222
-msgid "Ship Order"
-msgstr ""
-
#: order/views.py:238
msgid "Confirm order shipment"
msgstr ""
@@ -3776,40 +3637,28 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7
-#: part/templates/part/category.html:108 part/templates/part/category.html:122
-#: part/templates/part/category_navbar.html:21
-#: part/templates/part/category_navbar.html:24
-#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97
-#: templates/js/translated/part.js:1165 templates/navbar.html:29
-#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
-msgid "Parts"
-msgstr ""
-
-#: part/api.py:700
+#: part/api.py:731
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:704
+#: part/api.py:735
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:719
+#: part/api.py:750
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773
+#: part/api.py:781 part/api.py:785 part/api.py:800 part/api.py:804
msgid "This field is required"
msgstr ""
-#: part/bom.py:133 part/models.py:76 part/models.py:734
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:290
+#: part/bom.py:125 part/models.py:81 part/models.py:816
+#: part/templates/part/category.html:90 part/templates/part/detail.html:104
msgid "Default Location"
msgstr "Standaard locatie"
-#: part/bom.py:134 part/templates/part/part_base.html:156
+#: part/bom.py:126 part/templates/part/part_base.html:167
msgid "Available Stock"
msgstr ""
@@ -3869,7 +3718,7 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:96 part/models.py:2254
+#: part/forms.py:96 part/models.py:2427
msgid "Parent Part"
msgstr ""
@@ -3901,456 +3750,467 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:226
+#: part/forms.py:214
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:230
+#: part/forms.py:218
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:250
+#: part/forms.py:238
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:77
+#: part/models.py:82
msgid "Default location for parts in this category"
msgstr "Standaard locatie voor onderdelen in deze categorie"
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords"
msgstr ""
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:90 part/models.py:2300
+#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:91 part/templates/part/category.html:32
-#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
-#: templates/stats.html:84 users/models.py:40
+#: part/models.py:96 part/templates/part/category.html:117
+#: templates/InvenTree/search.html:101 templates/stats.html:84
+#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:384
+#: part/models.py:358 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:13 part/templates/part/category.html:122
+#: part/templates/part/category.html:142 templates/InvenTree/index.html:85
+#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304
+#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89
+#: users/models.py:41
+msgid "Parts"
+msgstr ""
+
+#: part/models.py:450
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:436 part/models.py:448
+#: part/models.py:502 part/models.py:514
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:545
+#: part/models.py:611
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:549
+#: part/models.py:615
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:554
+#: part/models.py:620
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:633
+#: part/models.py:715
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:658
+#: part/models.py:740
msgid "Part name"
msgstr ""
-#: part/models.py:665
+#: part/models.py:747
msgid "Is Template"
msgstr ""
-#: part/models.py:666
+#: part/models.py:748
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:676
+#: part/models.py:758
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:677
+#: part/models.py:759
msgid "Variant Of"
msgstr ""
-#: part/models.py:683
+#: part/models.py:765
msgid "Part description"
msgstr ""
-#: part/models.py:688 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:259
+#: part/models.py:770 part/templates/part/category.html:97
+#: part/templates/part/detail.html:73
msgid "Keywords"
msgstr ""
-#: part/models.py:689
+#: part/models.py:771
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:696 part/models.py:2299
-#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:169
-#: templates/js/translated/part.js:927
+#: part/models.py:778 part/models.py:2223 part/models.py:2472
+#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15
+#: templates/InvenTree/settings/settings.html:163
+#: templates/js/translated/part.js:928
msgid "Category"
msgstr ""
-#: part/models.py:697
+#: part/models.py:779
msgid "Part category"
msgstr ""
-#: part/models.py:702 part/templates/part/part_base.html:235
-#: templates/js/translated/part.js:528 templates/js/translated/part.js:760
+#: part/models.py:784 part/templates/part/detail.html:45
+#: templates/js/translated/part.js:549
msgid "IPN"
msgstr ""
-#: part/models.py:703
+#: part/models.py:785
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:709
+#: part/models.py:791
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:710 part/templates/part/part_base.html:252
-#: report/models.py:200 templates/js/translated/part.js:532
+#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200
+#: templates/js/translated/part.js:553
msgid "Revision"
msgstr ""
-#: part/models.py:732
+#: part/models.py:814
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:779 part/templates/part/part_base.html:297
+#: part/models.py:861 part/templates/part/detail.html:113
msgid "Default Supplier"
msgstr ""
-#: part/models.py:780
+#: part/models.py:862
msgid "Default supplier part"
msgstr ""
-#: part/models.py:787
+#: part/models.py:869
msgid "Default Expiry"
msgstr ""
-#: part/models.py:788
+#: part/models.py:870
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:793
+#: part/models.py:875 part/templates/part/part_base.html:178
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:794
+#: part/models.py:876
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:801
+#: part/models.py:883
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:807
+#: part/models.py:889
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:813
+#: part/models.py:895
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:819
+#: part/models.py:901
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:824
+#: part/models.py:906
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:911
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:833 templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:82
-#: templates/js/translated/table_filters.js:268
-#: templates/js/translated/table_filters.js:346
+#: part/models.py:915 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:362
msgid "Active"
msgstr ""
-#: part/models.py:834
+#: part/models.py:916
msgid "Is this part active?"
msgstr ""
-#: part/models.py:839
+#: part/models.py:921
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:844
+#: part/models.py:926
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "BOM checksum"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:850
+#: part/models.py:932
msgid "BOM checked by"
msgstr ""
-#: part/models.py:852
+#: part/models.py:934
msgid "BOM checked date"
msgstr ""
-#: part/models.py:856
+#: part/models.py:938
msgid "Creation User"
msgstr ""
-#: part/models.py:1605
+#: part/models.py:1750
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2100
+#: part/models.py:2273
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2117
+#: part/models.py:2290
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2137 templates/js/translated/part.js:1216
-#: templates/js/translated/stock.js:535
+#: part/models.py:2310 templates/js/translated/part.js:1355
+#: templates/js/translated/stock.js:828
msgid "Test Name"
msgstr ""
-#: part/models.py:2138
+#: part/models.py:2311
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2143
+#: part/models.py:2316
msgid "Test Description"
msgstr ""
-#: part/models.py:2144
+#: part/models.py:2317
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2149 templates/js/translated/part.js:1225
-#: templates/js/translated/table_filters.js:254
+#: part/models.py:2322 templates/js/translated/part.js:1364
+#: templates/js/translated/table_filters.js:270
msgid "Required"
msgstr ""
-#: part/models.py:2150
+#: part/models.py:2323
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2155 templates/js/translated/part.js:1233
+#: part/models.py:2328 templates/js/translated/part.js:1372
msgid "Requires Value"
msgstr ""
-#: part/models.py:2156
+#: part/models.py:2329
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2161 templates/js/translated/part.js:1240
+#: part/models.py:2334 templates/js/translated/part.js:1379
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2162
+#: part/models.py:2335
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2173
+#: part/models.py:2346
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2209
+#: part/models.py:2382
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2217
+#: part/models.py:2390
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2224
+#: part/models.py:2397
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2256 part/models.py:2305 part/models.py:2306
-#: templates/InvenTree/settings/settings.html:164
+#: part/models.py:2429 part/models.py:2478 part/models.py:2479
+#: templates/InvenTree/settings/settings.html:158
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Data"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2310 templates/InvenTree/settings/settings.html:173
+#: part/models.py:2483 templates/InvenTree/settings/settings.html:167
msgid "Default Value"
msgstr ""
-#: part/models.py:2311
+#: part/models.py:2484
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2561
msgid "Select parent part"
msgstr ""
-#: part/models.py:2370
+#: part/models.py:2569
msgid "Sub part"
msgstr ""
-#: part/models.py:2371
+#: part/models.py:2570
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2377
+#: part/models.py:2576
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2379 templates/js/translated/bom.js:275
-#: templates/js/translated/bom.js:335
+#: part/models.py:2578 templates/js/translated/bom.js:452
+#: templates/js/translated/bom.js:526
+#: templates/js/translated/table_filters.js:86
msgid "Optional"
msgstr ""
-#: part/models.py:2379
+#: part/models.py:2578
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2382
+#: part/models.py:2581
msgid "Overage"
msgstr ""
-#: part/models.py:2383
+#: part/models.py:2582
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2585
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2588
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "Checksum"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2395 templates/js/translated/bom.js:352
-#: templates/js/translated/bom.js:359
+#: part/models.py:2594 templates/js/translated/bom.js:543
+#: templates/js/translated/bom.js:550
#: templates/js/translated/table_filters.js:68
+#: templates/js/translated/table_filters.js:82
msgid "Inherited"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2595
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2401 templates/js/translated/bom.js:344
+#: part/models.py:2600 templates/js/translated/bom.js:535
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2402
+#: part/models.py:2601
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2487 stock/models.py:341
+#: part/models.py:2686 stock/models.py:371
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2496 part/models.py:2498
+#: part/models.py:2695 part/models.py:2697
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2620
+#: part/models.py:2826
+msgid "BOM Item Substitute"
+msgstr ""
+
+#: part/models.py:2848
+msgid "Substitute part cannot be the same as the master part"
+msgstr ""
+
+#: part/models.py:2860
+#, fuzzy
+#| msgid "Parent Build"
+msgid "Parent BOM item"
+msgstr "Bovenliggende bouw"
+
+#: part/models.py:2868
+msgid "Substitute part"
+msgstr ""
+
+#: part/models.py:2879
msgid "Part 1"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Part 2"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2656
+#: part/models.py:2915
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
+#: part/tasks.py:53
+#, fuzzy
+#| msgid "No stock location set"
+msgid "Low stock notification"
+msgstr "Geen voorraadlocatie ingesteld"
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr "U heeft geen toestemming om de stuklijst te bewerken."
-#: part/templates/part/bom.html:14
+#: part/templates/part/bom.html:15
#, python-format
msgid "The BOM for %(part)s has changed, and must be validated.
"
msgstr ""
-#: part/templates/part/bom.html:16
+#: part/templates/part/bom.html:17
#, python-format
msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s"
msgstr ""
-#: part/templates/part/bom.html:20
+#: part/templates/part/bom.html:21
#, python-format
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:27
-msgid "Remove selected BOM items"
-msgstr ""
-
-#: part/templates/part/bom.html:30
-msgid "Import BOM data"
-msgstr ""
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:383
+#, fuzzy
+#| msgid "Build actions"
+msgid "BOM actions"
+msgstr "Build acties"
#: part/templates/part/bom.html:34
-msgid "Copy BOM from parent part"
-msgstr ""
-
-#: part/templates/part/bom.html:38
-msgid "New BOM Item"
-msgstr "Nieuw stuklijstitem"
-
-#: part/templates/part/bom.html:41
-msgid "Finish Editing"
-msgstr ""
-
-#: part/templates/part/bom.html:46
-msgid "Edit BOM"
-msgstr "Bewerk stuklijst"
-
-#: part/templates/part/bom.html:50
-msgid "Validate Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:56 part/views.py:1220
-msgid "Export Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:59
-msgid "Print BOM Report"
-msgstr ""
+#, fuzzy
+#| msgid "Delete Item"
+msgid "Delete Items"
+msgstr "Verwijder item"
#: part/templates/part/bom_duplicate.html:13
msgid "This part already has a Bill of Materials"
@@ -4360,28 +4220,23 @@ msgstr ""
msgid "Select Part"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:13
-#: part/templates/part/bom_upload/upload_file.html:16
-msgid "Return To BOM"
-msgstr ""
-
-#: part/templates/part/bom_upload/upload_file.html:27
+#: part/templates/part/bom_upload/upload_file.html:12
msgid "Upload Bill of Materials"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:46
+#: part/templates/part/bom_upload/upload_file.html:32
msgid "Requirements for BOM upload"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "The BOM file must contain the required named columns as provided in the "
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "BOM Upload Template"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:49
+#: part/templates/part/bom_upload/upload_file.html:35
msgid "Each part must already exist in the database"
msgstr ""
@@ -4394,93 +4249,119 @@ msgstr ""
msgid "This will validate each line in the BOM."
msgstr ""
-#: part/templates/part/category.html:33
-msgid "All parts"
-msgstr ""
+#: part/templates/part/category.html:24 part/templates/part/category.html:28
+#, fuzzy
+#| msgid "Default location for parts in this category"
+msgid "You are subscribed to notifications for this category"
+msgstr "Standaard locatie voor onderdelen in deze categorie"
+
+#: part/templates/part/category.html:32
+#, fuzzy
+#| msgid "Default location for parts in this category"
+msgid "Subscribe to notifications for this category"
+msgstr "Standaard locatie voor onderdelen in deze categorie"
#: part/templates/part/category.html:38
+#, fuzzy
+#| msgid "Printing Actions"
+msgid "Category Actions"
+msgstr "Afdrukacties"
+
+#: part/templates/part/category.html:43
+#, fuzzy
+#| msgid "Edit location"
+msgid "Edit category"
+msgstr "Bewerk locatie"
+
+#: part/templates/part/category.html:44
+#, fuzzy
+#| msgid "Select Category"
+msgid "Edit Category"
+msgstr "Categorie selecteren"
+
+#: part/templates/part/category.html:48
+#, fuzzy
+#| msgid "Select Category"
+msgid "Delete category"
+msgstr "Categorie selecteren"
+
+#: part/templates/part/category.html:49
+#, fuzzy
+#| msgid "Select Category"
+msgid "Delete Category"
+msgstr "Categorie selecteren"
+
+#: part/templates/part/category.html:57
msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:44
-msgid "Edit part category"
+#: part/templates/part/category.html:58
+#, fuzzy
+#| msgid "Select Category"
+msgid "New Category"
+msgstr "Categorie selecteren"
+
+#: part/templates/part/category.html:67
+msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:49
-msgid "Delete part category"
-msgstr ""
-
-#: part/templates/part/category.html:59 part/templates/part/category.html:98
-msgid "Category Details"
-msgstr ""
-
-#: part/templates/part/category.html:64
+#: part/templates/part/category.html:79
msgid "Category Path"
msgstr ""
-#: part/templates/part/category.html:69
+#: part/templates/part/category.html:84
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:175
-#: part/templates/part/category_navbar.html:14
-#: part/templates/part/category_navbar.html:17
+#: part/templates/part/category.html:103 part/templates/part/category.html:194
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:93
+#: part/templates/part/category.html:108
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:126
+#: part/templates/part/category.html:145
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:142
+#: part/templates/part/category.html:146 part/templates/part/category.html:170
msgid "Export"
msgstr ""
-#: part/templates/part/category.html:130
+#: part/templates/part/category.html:149
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 templates/js/translated/bom.js:39
+#: part/templates/part/category.html:150 templates/js/translated/bom.js:40
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:141
+#: part/templates/part/category.html:168
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:142
+#: part/templates/part/category.html:170
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:146
-msgid "View list display"
-msgstr ""
-
-#: part/templates/part/category.html:149
-msgid "View grid display"
-msgstr ""
-
-#: part/templates/part/category.html:165
+#: part/templates/part/category.html:184
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:254
+#: part/templates/part/category.html:261
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:281
+#: part/templates/part/category.html:288
msgid "Create Part"
msgstr ""
@@ -4519,12 +4400,7 @@ msgstr ""
msgid "If this category is deleted, these parts will be moved to the top-level category Teile"
msgstr ""
-#: part/templates/part/category_navbar.html:29
-#: part/templates/part/category_navbar.html:32
-msgid "Import Parts"
-msgstr ""
-
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365
msgid "Duplicate Part"
msgstr ""
@@ -4549,311 +4425,323 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)"
msgstr ""
#: part/templates/part/detail.html:16
+#, fuzzy
+#| msgid "Stock Details"
+msgid "Part Details"
+msgstr "Voorraadgegevens"
+
+#: part/templates/part/detail.html:66
+msgid "Minimum stock level"
+msgstr ""
+
+#: part/templates/part/detail.html:97
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/detail.html:124
msgid "Part Stock"
msgstr ""
-#: part/templates/part/detail.html:21
+#: part/templates/part/detail.html:136
#, python-format
msgid "Showing stock for all variants of %(full_name)s"
msgstr ""
-#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99
+#: part/templates/part/detail.html:146
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:36
+#: part/templates/part/detail.html:151
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:77
-msgid "New sales order"
-msgstr ""
-
-#: part/templates/part/detail.html:77
-msgid "New Order"
-msgstr ""
-
-#: part/templates/part/detail.html:90
+#: part/templates/part/detail.html:208
msgid "Sales Order Allocations"
msgstr "Toewijzingen verkoopopdracht"
-#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27
+#: part/templates/part/detail.html:249
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:137
+#: part/templates/part/detail.html:253
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:138
+#: part/templates/part/detail.html:254
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:161
+#: part/templates/part/detail.html:281
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107
-#: part/templates/part/navbar.html:110
+#: part/templates/part/detail.html:315
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:188
+#: part/templates/part/detail.html:319 part/templates/part/detail.html:320
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43
-#: part/templates/part/navbar.html:46
+#: part/templates/part/detail.html:366
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:237
+#: part/templates/part/detail.html:371
+#, fuzzy
+#| msgid "Print actions"
+msgid "Export actions"
+msgstr "Afdruk acties"
+
+#: part/templates/part/detail.html:375
+#, fuzzy
+#| msgid "Edit BOM"
+msgid "Export BOM"
+msgstr "Bewerk stuklijst"
+
+#: part/templates/part/detail.html:377
+msgid "Print BOM Report"
+msgstr ""
+
+#: part/templates/part/detail.html:387
+msgid "Upload BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:389 templates/js/translated/part.js:266
+msgid "Copy BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:391 part/views.py:820
+msgid "Validate BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:396
+msgid "New BOM Item"
+msgstr "Nieuw stuklijstitem"
+
+#: part/templates/part/detail.html:397
+#, fuzzy
+#| msgid "New BOM Item"
+msgid "Add BOM Item"
+msgstr "Nieuw stuklijstitem"
+
+#: part/templates/part/detail.html:410
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:253
+#: part/templates/part/detail.html:427
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:260
-msgid "Start New Build"
-msgstr ""
-
-#: part/templates/part/detail.html:274
+#: part/templates/part/detail.html:452
msgid "Build Order Allocations"
msgstr "Toewijzingen bouwopdracht"
-#: part/templates/part/detail.html:283
+#: part/templates/part/detail.html:462
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:305
+#: part/templates/part/detail.html:489
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:317
+#: part/templates/part/detail.html:505
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:502
+#: part/templates/part/detail.html:686
msgid "Delete selected BOM items?"
msgstr ""
-#: part/templates/part/detail.html:503
+#: part/templates/part/detail.html:687
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:554
+#: part/templates/part/detail.html:738
msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:699
+#: part/templates/part/detail.html:876
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:755
+#: part/templates/part/detail.html:933
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:907
+#: part/templates/part/detail.html:1085
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:919
+#: part/templates/part/detail.html:1097
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:931
+#: part/templates/part/detail.html:1109
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1020
+#: part/templates/part/detail.html:1198
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
#: part/templates/part/import_wizard/ajax_part_upload.html:29
-#: part/templates/part/import_wizard/part_upload.html:51
+#: part/templates/part/import_wizard/part_upload.html:52
msgid "Unsuffitient privileges."
msgstr ""
-#: part/templates/part/import_wizard/part_upload.html:14
+#: part/templates/part/import_wizard/part_upload.html:15
msgid "Import Parts from File"
msgstr ""
-#: part/templates/part/navbar.html:30
-msgid "Variants"
-msgstr ""
-
-#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/navbar.html:70
-msgid "Prices"
-msgstr ""
-
-#: part/templates/part/navbar.html:102
-msgid "Test Templates"
-msgstr ""
-
#: part/templates/part/part_app_base.html:12
msgid "Part List"
msgstr ""
+#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31
+msgid "You are subscribed to notifications for this part"
+msgstr ""
+
#: part/templates/part/part_base.html:35
-msgid "Part is a template part (variants can be made from this part)"
+msgid "Subscribe to notifications for this part"
msgstr ""
-#: part/templates/part/part_base.html:38
-msgid "Part can be assembled from other parts"
-msgstr ""
-
-#: part/templates/part/part_base.html:41
-msgid "Part can be used in assemblies"
-msgstr ""
-
-#: part/templates/part/part_base.html:44
-msgid "Part stock is tracked by serial number"
-msgstr ""
-
-#: part/templates/part/part_base.html:47
-msgid "Part can be purchased from external suppliers"
-msgstr ""
-
-#: part/templates/part/part_base.html:50
-msgid "Part can be sold to customers"
-msgstr ""
-
-#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504
-#: templates/js/translated/company.js:761 templates/js/translated/part.js:443
-#: templates/js/translated/part.js:520
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:73
-msgid "Star this part"
-msgstr ""
-
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:75
-#: stock/templates/stock/location.html:51
+#: part/templates/part/part_base.html:43
+#: stock/templates/stock/item_base.html:28
+#: stock/templates/stock/location.html:29
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:82
-#: stock/templates/stock/item_base.html:77
-#: stock/templates/stock/location.html:53 templates/qr_button.html:1
+#: part/templates/part/part_base.html:45
+#: stock/templates/stock/item_base.html:32
+#: stock/templates/stock/location.html:31 templates/qr_button.html:1
msgid "Show QR Code"
msgstr "QR-code weergeven"
-#: part/templates/part/part_base.html:83
-#: stock/templates/stock/item_base.html:93
-#: stock/templates/stock/location.html:54
+#: part/templates/part/part_base.html:46
+#: stock/templates/stock/item_base.html:48
+#: stock/templates/stock/location.html:32
msgid "Print Label"
msgstr "Label afdrukken"
-#: part/templates/part/part_base.html:89
+#: part/templates/part/part_base.html:51
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:95
-#: stock/templates/stock/item_base.html:142
-#: stock/templates/stock/location.html:62
+#: part/templates/part/part_base.html:56
+#: stock/templates/stock/item_base.html:103
+#: stock/templates/stock/location.html:40
msgid "Stock actions"
msgstr "Voorraad acties"
-#: part/templates/part/part_base.html:102
+#: part/templates/part/part_base.html:63
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:108
+#: part/templates/part/part_base.html:69
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:125
+#: part/templates/part/part_base.html:84
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:128
+#: part/templates/part/part_base.html:87
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:131
+#: part/templates/part/part_base.html:90
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:134
+#: part/templates/part/part_base.html:93
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:146
+#: part/templates/part/part_base.html:109
+msgid "Part is a template part (variants can be made from this part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:113
+msgid "Part can be assembled from other parts"
+msgstr ""
+
+#: part/templates/part/part_base.html:117
+msgid "Part can be used in assemblies"
+msgstr ""
+
+#: part/templates/part/part_base.html:121
+msgid "Part stock is tracked by serial number"
+msgstr ""
+
+#: part/templates/part/part_base.html:125
+msgid "Part can be purchased from external suppliers"
+msgstr ""
+
+#: part/templates/part/part_base.html:129
+msgid "Part can be sold to customers"
+msgstr ""
+
+#: part/templates/part/part_base.html:135
+#: part/templates/part/part_base.html:143
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:136
+#: templates/js/translated/company.js:504
+#: templates/js/translated/company.js:761
+#: templates/js/translated/model_renderers.js:175
+#: templates/js/translated/part.js:464 templates/js/translated/part.js:541
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:155
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:161
-#: templates/js/translated/model_renderers.js:169
-#: templates/js/translated/order.js:1503
-#: templates/js/translated/table_filters.js:166
+#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524
+#: templates/js/translated/table_filters.js:182
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960
+#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961
msgid "On Order"
msgstr ""
-#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:181
+#: part/templates/part/part_base.html:199
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:188
+#: part/templates/part/part_base.html:206
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373
+#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776
-#: templates/js/translated/part.js:964
+#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793
+#: templates/js/translated/part.js:965
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:223
-#: part/templates/part/part_base.html:531
-#: part/templates/part/part_base.html:557
-msgid "Show Part Details"
-msgstr ""
-
-#: part/templates/part/part_base.html:283
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144
+#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:445
+#: part/templates/part/part_base.html:363
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:526
-#: part/templates/part/part_base.html:551
-msgid "Hide Part Details"
-msgstr ""
-
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4877,7 +4765,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
-#: templates/js/translated/bom.js:327
+#: templates/js/translated/bom.js:518
msgid "No supplier pricing available"
msgstr ""
@@ -4911,13 +4799,14 @@ msgstr ""
msgid "No pricing information is available for this part."
msgstr ""
-#: part/templates/part/part_thumb.html:20
+#: part/templates/part/part_thumb.html:11
msgid "Select from existing images"
msgstr ""
#: part/templates/part/partial_delete.html:9
#, python-format
-msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
+msgid ""
+"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
"
Disable the \"Active\" part attribute and re-try.\n"
" "
msgstr ""
@@ -4980,7 +4869,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321
+#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512
msgid "Supplier Cost"
msgstr ""
@@ -5002,7 +4891,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:215 part/views.py:1801
+#: part/templates/part/prices.html:215 part/views.py:1853
msgid "Add Internal Price Break"
msgstr ""
@@ -5022,13 +4911,13 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297
-#: templates/js/translated/model_renderers.js:167
-#: templates/js/translated/part.js:766 templates/js/translated/part.js:968
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474
+#: templates/js/translated/part.js:428 templates/js/translated/part.js:783
+#: templates/js/translated/part.js:969
msgid "No Stock"
msgstr ""
-#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166
+#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158
msgid "Low Stock"
msgstr ""
@@ -5041,135 +4930,140 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:106
+#: part/templatetags/inventree_extras.py:113
msgid "Unknown database"
msgstr ""
-#: part/views.py:94
+#: part/views.py:95
msgid "Add Related Part"
msgstr ""
-#: part/views.py:149
+#: part/views.py:150
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:160
+#: part/views.py:161
msgid "Set Part Category"
msgstr ""
-#: part/views.py:210
+#: part/views.py:211
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:270
+#: part/views.py:283
msgid "Match References"
msgstr ""
-#: part/views.py:526
+#: part/views.py:567
msgid "None"
msgstr ""
-#: part/views.py:585
+#: part/views.py:626
msgid "Part QR Code"
msgstr ""
-#: part/views.py:687
+#: part/views.py:728
msgid "Select Part Image"
msgstr ""
-#: part/views.py:713
+#: part/views.py:754
msgid "Updated part image"
msgstr ""
-#: part/views.py:716
+#: part/views.py:757
msgid "Part image not found"
msgstr ""
-#: part/views.py:728
+#: part/views.py:769
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:758
+#: part/views.py:799
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:779
-msgid "Validate BOM"
-msgstr ""
-
-#: part/views.py:800
+#: part/views.py:841
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:811
+#: part/views.py:852
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:884
+#: part/views.py:925
msgid "Match Parts"
msgstr ""
-#: part/views.py:1272
+#: part/views.py:1261
+msgid "Export Bill of Materials"
+msgstr ""
+
+#: part/views.py:1313
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1279
+#: part/views.py:1320
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1288
+#: part/views.py:1329
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1437
+#: part/views.py:1478
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1447
+#: part/views.py:1488
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1454
+#: part/views.py:1495
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1502 templates/js/translated/part.js:308
+#: part/views.py:1554 templates/js/translated/part.js:309
msgid "Edit Part Category"
msgstr ""
-#: part/views.py:1540
+#: part/views.py:1592
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1546
+#: part/views.py:1598
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1555
+#: part/views.py:1607
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1656
+#: part/views.py:1708
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1712
+#: part/views.py:1764
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:1734
+#: part/views.py:1786
msgid "Added new price break"
msgstr ""
-#: part/views.py:1810
+#: part/views.py:1862
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:1818
+#: part/views.py:1870
msgid "Delete Internal Price Break"
msgstr ""
+#: report/api.py:234 report/api.py:278
+#, python-brace-format
+msgid "Template file '{filename}' is missing or does not exist"
+msgstr ""
+
#: report/models.py:182
msgid "Template name"
msgstr ""
@@ -5206,51 +5100,51 @@ msgstr ""
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:380
+#: report/models.py:382
msgid "Build Filters"
msgstr ""
-#: report/models.py:381
+#: report/models.py:383
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:423
+#: report/models.py:425
msgid "Part Filters"
msgstr ""
-#: report/models.py:424
+#: report/models.py:426
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:458
+#: report/models.py:460
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:496
+#: report/models.py:498
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:546
+#: report/models.py:548
msgid "Snippet"
msgstr ""
-#: report/models.py:547
+#: report/models.py:549
msgid "Report snippet file"
msgstr ""
-#: report/models.py:551
+#: report/models.py:553
msgid "Snippet file description"
msgstr ""
-#: report/models.py:586
+#: report/models.py:588
msgid "Asset"
msgstr ""
-#: report/models.py:587
+#: report/models.py:589
msgid "Report asset file"
msgstr ""
-#: report/models.py:590
+#: report/models.py:592
msgid "Asset file description"
msgstr ""
@@ -5267,543 +5161,588 @@ msgstr ""
msgid "Stock Item Test Report"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:83
+#: report/templates/report/inventree_test_report_base.html:79
+#: stock/models.py:530 stock/templates/stock/item_base.html:238
+#: templates/js/translated/build.js:233 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1013
+#: templates/js/translated/model_renderers.js:95
+#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355
+msgid "Serial Number"
+msgstr "Serienummer"
+
+#: report/templates/report/inventree_test_report_base.html:88
msgid "Test Results"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:1804
+#: report/templates/report/inventree_test_report_base.html:93
+#: stock/models.py:1855
msgid "Test"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:89
-#: stock/models.py:1810
+#: report/templates/report/inventree_test_report_base.html:94
+#: stock/models.py:1861
msgid "Result"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502
+#: report/templates/report/inventree_test_report_base.html:97
+#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887
msgid "Date"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:103
+#: report/templates/report/inventree_test_report_base.html:108
msgid "Pass"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:105
+#: report/templates/report/inventree_test_report_base.html:110
msgid "Fail"
msgstr ""
-#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556
-#: stock/templates/stock/item_base.html:395
-#: templates/js/translated/stock.js:946
+#: report/templates/report/inventree_test_report_base.html:123
+msgid "Installed Items"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:137
+#: templates/js/translated/stock.js:2147
+msgid "Serial"
+msgstr ""
+
+#: stock/api.py:422
+msgid "Quantity is required"
+msgstr ""
+
+#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587
+#: stock/templates/stock/item_base.html:382
+#: templates/js/translated/stock.js:1246
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:308
+#: stock/forms.py:92 stock/forms.py:266
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:83
+#: stock/forms.py:95
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:134
+#: stock/forms.py:150
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:138 stock/forms.py:282
+#: stock/forms.py:154 stock/forms.py:238
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:168 stock/forms.py:224
-msgid "Select test report template"
-msgstr ""
-
-#: stock/forms.py:240
+#: stock/forms.py:194
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:270
+#: stock/forms.py:224
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:280
+#: stock/forms.py:236
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm removal of installed stock items"
msgstr ""
-#: stock/models.py:57 stock/models.py:593
+#: stock/models.py:60 stock/models.py:624
+#: stock/templates/stock/item_base.html:422
msgid "Owner"
msgstr ""
-#: stock/models.py:58 stock/models.py:594
+#: stock/models.py:61 stock/models.py:625
msgid "Select Owner"
msgstr ""
-#: stock/models.py:322
+#: stock/models.py:352
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:358
+#: stock/models.py:388
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:368 stock/models.py:377
+#: stock/models.py:398 stock/models.py:407
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:369
+#: stock/models.py:399
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:391
+#: stock/models.py:421
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:397
+#: stock/models.py:427
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:404
+#: stock/models.py:434
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:446
+#: stock/models.py:476
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:455
+#: stock/models.py:485
msgid "Base part"
msgstr ""
-#: stock/models.py:464
+#: stock/models.py:493
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8
+#: stock/models.py:498 stock/templates/stock/location.html:12
+#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Voorraadlocatie"
-#: stock/models.py:472
+#: stock/models.py:501
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:479
+#: stock/models.py:508
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:484 stock/templates/stock/item_base.html:284
+#: stock/models.py:513 stock/templates/stock/item_base.html:271
msgid "Installed In"
msgstr ""
-#: stock/models.py:487
+#: stock/models.py:516
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:503
+#: stock/models.py:532
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:515
+#: stock/models.py:546
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:519
+#: stock/models.py:550
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:528
+#: stock/models.py:559
msgid "Source Build"
msgstr ""
-#: stock/models.py:530
+#: stock/models.py:561
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:541
+#: stock/models.py:572
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:544
+#: stock/models.py:575
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:550
+#: stock/models.py:581
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:557
+#: stock/models.py:588
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:580 stock/templates/stock/item.html:99
-#: stock/templates/stock/navbar.html:54
+#: stock/models.py:611 stock/templates/stock/item.html:111
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:589
+#: stock/models.py:620
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:599
+#: stock/models.py:630
msgid "Scheduled for deletion"
msgstr ""
-#: stock/models.py:600
+#: stock/models.py:631
msgid "This StockItem will be deleted by the background worker"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1094
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1069
+#: stock/models.py:1100
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1075
+#: stock/models.py:1106
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1078
+#: stock/models.py:1109
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1081
+#: stock/models.py:1112
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1088
+#: stock/models.py:1119
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1246
+#: stock/models.py:1277
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:1724
+#: stock/models.py:1775
msgid "Entry notes"
msgstr ""
-#: stock/models.py:1781
+#: stock/models.py:1832
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:1787
+#: stock/models.py:1838
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:1805
+#: stock/models.py:1856
msgid "Test name"
msgstr ""
-#: stock/models.py:1811 templates/js/translated/table_filters.js:244
+#: stock/models.py:1862 templates/js/translated/table_filters.js:260
msgid "Test result"
msgstr ""
-#: stock/models.py:1817
+#: stock/models.py:1868
msgid "Test output value"
msgstr ""
-#: stock/models.py:1824
+#: stock/models.py:1875
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:1830
+#: stock/models.py:1881
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:424
-msgid "StockItem primary key value"
+#: stock/serializers.py:166
+#, fuzzy
+#| msgid "Source stock item"
+msgid "Purchase price of this stock item"
+msgstr "Bron voorraadartikel"
+
+#: stock/serializers.py:173
+msgid "Purchase currency of this stock item"
msgstr ""
-#: stock/serializers.py:452
-msgid "Stock transaction notes"
+#: stock/serializers.py:287
+#, fuzzy
+#| msgid "Number of items to build"
+msgid "Enter number of stock items to serialize"
+msgstr "Aantal items om te maken"
+
+#: stock/serializers.py:302
+#, python-brace-format
+msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:462
-msgid "A list of stock items must be provided"
-msgstr ""
+#: stock/serializers.py:308
+#, fuzzy
+#| msgid "Enter serial numbers for build outputs"
+msgid "Enter serial numbers for new items"
+msgstr "Voer serienummers in voor build-outputs"
-#: stock/serializers.py:554
+#: stock/serializers.py:319 stock/serializers.py:687
msgid "Destination stock location"
msgstr ""
-#: stock/templates/stock/item.html:17
+#: stock/serializers.py:326
+msgid "Optional note field"
+msgstr ""
+
+#: stock/serializers.py:339
+msgid "Serial numbers cannot be assigned to this part"
+msgstr ""
+
+#: stock/serializers.py:557
+msgid "StockItem primary key value"
+msgstr ""
+
+#: stock/serializers.py:585
+msgid "Stock transaction notes"
+msgstr ""
+
+#: stock/serializers.py:595
+msgid "A list of stock items must be provided"
+msgstr ""
+
+#: stock/templates/stock/item.html:18
msgid "Stock Tracking Information"
msgstr ""
-#: stock/templates/stock/item.html:30
+#: stock/templates/stock/item.html:29
msgid "New Entry"
msgstr ""
-#: stock/templates/stock/item.html:43
+#: stock/templates/stock/item.html:48
msgid "Child Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:50
+#: stock/templates/stock/item.html:55
msgid "This stock item does not have any child items"
msgstr ""
-#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19
-#: stock/templates/stock/navbar.html:22
+#: stock/templates/stock/item.html:64
msgid "Test Data"
msgstr ""
-#: stock/templates/stock/item.html:66
-msgid "Delete Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:70
-msgid "Add Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95
+#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50
msgid "Test Report"
msgstr ""
-#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27
+#: stock/templates/stock/item.html:72
+msgid "Delete Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:76
+msgid "Add Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:133
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:125 stock/views.py:511
+#: stock/templates/stock/item.html:137 stock/views.py:515
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326
+#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:346
+#: stock/templates/stock/item.html:363
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:360
+#: stock/templates/stock/item.html:377
msgid "Delete Test Result"
msgstr ""
-#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:399
-#: templates/js/translated/table_filters.js:225
-msgid "Expired"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:401
-#: templates/js/translated/table_filters.js:231
-msgid "Stale"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:80
-#: templates/js/translated/barcode.js:331
-#: templates/js/translated/barcode.js:336
+#: stock/templates/stock/item_base.html:35
+#: templates/js/translated/barcode.js:330
+#: templates/js/translated/barcode.js:335
msgid "Unlink Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/item_base.html:37
msgid "Link Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31
+#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24
msgid "Scan to Location"
msgstr "Scan naar locatie"
-#: stock/templates/stock/item_base.html:91
+#: stock/templates/stock/item_base.html:46
msgid "Printing actions"
msgstr ""
-#: stock/templates/stock/item_base.html:104
+#: stock/templates/stock/item_base.html:65
msgid "Stock adjustment actions"
msgstr ""
-#: stock/templates/stock/item_base.html:108
-#: stock/templates/stock/location.html:69 templates/stock_table.html:57
+#: stock/templates/stock/item_base.html:69
+#: stock/templates/stock/location.html:47 templates/stock_table.html:50
msgid "Count stock"
msgstr "Voorraad tellen"
-#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55
+#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48
msgid "Add stock"
msgstr ""
-#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56
+#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49
msgid "Remove stock"
msgstr ""
-#: stock/templates/stock/item_base.html:117
+#: stock/templates/stock/item_base.html:78
msgid "Serialize stock"
msgstr ""
-#: stock/templates/stock/item_base.html:121
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/location.html:53
msgid "Transfer stock"
msgstr "Voorraad overzetten"
-#: stock/templates/stock/item_base.html:124
+#: stock/templates/stock/item_base.html:85
msgid "Assign to customer"
msgstr ""
-#: stock/templates/stock/item_base.html:127
+#: stock/templates/stock/item_base.html:88
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install"
msgstr ""
-#: stock/templates/stock/item_base.html:145
+#: stock/templates/stock/item_base.html:106
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:109
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:150
+#: stock/templates/stock/item_base.html:111
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:153
+#: stock/templates/stock/item_base.html:114
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:173
+#: stock/templates/stock/item_base.html:136
+#: stock/templates/stock/item_base.html:386
+#: templates/js/translated/table_filters.js:241
+msgid "Expired"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/table_filters.js:247
+msgid "Stale"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:161
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:180
+#: stock/templates/stock/item_base.html:168
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:181
+#: stock/templates/stock/item_base.html:169
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:194
+#: stock/templates/stock/item_base.html:182
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:202
+#: stock/templates/stock/item_base.html:190
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:210
+#: stock/templates/stock/item_base.html:198
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:216
+#: stock/templates/stock/item_base.html:204
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:220
+#: stock/templates/stock/item_base.html:208
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:224
+#: stock/templates/stock/item_base.html:212
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:232
-msgid "Stock Item Details"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:241
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:260
+#: stock/templates/stock/item_base.html:247
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:303
-#: templates/js/translated/build.js:658
+#: stock/templates/stock/item_base.html:290
+#: templates/js/translated/build.js:1035
msgid "No location set"
msgstr "Geen Locatie ingesteld"
-#: stock/templates/stock/item_base.html:310
+#: stock/templates/stock/item_base.html:297
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:352
+#: stock/templates/stock/item_base.html:339
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:370
+#: stock/templates/stock/item_base.html:357
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:399
+#: stock/templates/stock/item_base.html:386
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:401
+#: stock/templates/stock/item_base.html:388
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:408
-#: templates/js/translated/stock.js:959
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1259
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:413
+#: stock/templates/stock/item_base.html:400
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:417
+#: stock/templates/stock/item_base.html:404
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:428
+#: stock/templates/stock/item_base.html:415
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:516
-msgid "Save"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:528
+#: stock/templates/stock/item_base.html:504
msgid "Edit Stock Status"
msgstr ""
@@ -5857,106 +5796,70 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:20
-msgid "You are not in the list of owners of this location. This stock location cannot be edited."
-msgstr "U staat niet in de lijst van eigenaars van deze locatie. Deze voorraadlocatie kan niet worden bewerkt."
-
-#: stock/templates/stock/location.html:37
-msgid "All stock items"
-msgstr "Alle voorraadartikelen"
-
-#: stock/templates/stock/location.html:42
-msgid "Create new stock location"
-msgstr "Maak nieuwe voorraadlocatie"
-
-#: stock/templates/stock/location.html:55
+#: stock/templates/stock/location.html:33
msgid "Check-in Items"
msgstr ""
-#: stock/templates/stock/location.html:83
+#: stock/templates/stock/location.html:61
msgid "Location actions"
msgstr "Locatie acties"
-#: stock/templates/stock/location.html:85
+#: stock/templates/stock/location.html:63
msgid "Edit location"
msgstr "Bewerk locatie"
-#: stock/templates/stock/location.html:87
+#: stock/templates/stock/location.html:65
msgid "Delete location"
msgstr "Verwijder locatie"
-#: stock/templates/stock/location.html:99
-msgid "Location Details"
-msgstr "Locatiegegevens"
+#: stock/templates/stock/location.html:75
+msgid "Create new stock location"
+msgstr "Maak nieuwe voorraadlocatie"
-#: stock/templates/stock/location.html:104
-msgid "Location Path"
-msgstr ""
+#: stock/templates/stock/location.html:76
+msgid "New Location"
+msgstr "Nieuwe locatie"
-#: stock/templates/stock/location.html:109
-msgid "Location Description"
-msgstr "Locatieomschrijving"
+#: stock/templates/stock/location.html:86
+#, fuzzy
+#| msgid "No stock location set"
+msgid "Top level stock location"
+msgstr "Geen voorraadlocatie ingesteld"
-#: stock/templates/stock/location.html:114
-#: stock/templates/stock/location.html:155
-#: stock/templates/stock/location_navbar.html:11
-#: stock/templates/stock/location_navbar.html:14
+#: stock/templates/stock/location.html:95
+msgid "You are not in the list of owners of this location. This stock location cannot be edited."
+msgstr "U staat niet in de lijst van eigenaars van deze locatie. Deze voorraadlocatie kan niet worden bewerkt."
+
+#: stock/templates/stock/location.html:113
+#: stock/templates/stock/location.html:160
msgid "Sublocations"
msgstr "Sublocaties"
-#: stock/templates/stock/location.html:124
-msgid "Stock Details"
-msgstr "Voorraadgegevens"
+#: stock/templates/stock/location.html:118
+#: stock/templates/stock/location.html:132
+#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158
+#: templates/js/translated/stock.js:1871 templates/stats.html:93
+#: templates/stats.html:102 users/models.py:43
+msgid "Stock Items"
+msgstr ""
-#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196
+#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170
#: templates/stats.html:97 users/models.py:42
msgid "Stock Locations"
msgstr "Voorraadlocaties"
-#: stock/templates/stock/location.html:162 templates/stock_table.html:37
+#: stock/templates/stock/location.html:167 templates/stock_table.html:30
msgid "Printing Actions"
msgstr "Afdrukacties"
-#: stock/templates/stock/location.html:166 templates/stock_table.html:41
+#: stock/templates/stock/location.html:171 templates/stock_table.html:34
msgid "Print labels"
msgstr "Labels afdrukken"
-#: stock/templates/stock/location.html:250
-msgid "New Location"
-msgstr "Nieuwe locatie"
-
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
-msgstr "Maak nieuwe locatie"
-
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: stock/templates/stock/navbar.html:11
-msgid "Stock Item Tracking"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:14
-msgid "History"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:30
-msgid "Installed Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:38
-msgid "Child Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:41
-msgid "Children"
-msgstr ""
-
-#: stock/templates/stock/stock_adjust.html:43
-msgid "Remove item"
-msgstr ""
-
#: stock/templates/stock/stock_app_base.html:16
msgid "Loading..."
msgstr ""
@@ -5965,7 +5868,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912
msgid "Convert Stock Item"
msgstr ""
@@ -5986,104 +5889,100 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:158
+#: stock/views.py:162
msgid "Edit Stock Location"
msgstr "Bewerk voorraadlocatie"
-#: stock/views.py:265 stock/views.py:888 stock/views.py:1010
-#: stock/views.py:1375
+#: stock/views.py:269 stock/views.py:891 stock/views.py:1017
+#: stock/views.py:1299
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:280
+#: stock/views.py:284
msgid "Stock Location QR code"
msgstr "QR-code voor voorraadlocatie"
-#: stock/views.py:299
+#: stock/views.py:303
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:308
+#: stock/views.py:312
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:332
+#: stock/views.py:336
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:345
msgid "Specify a valid location"
msgstr "Specificeer een geldige locatie"
-#: stock/views.py:352
+#: stock/views.py:356
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:363
+#: stock/views.py:367
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:380
+#: stock/views.py:384
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:485
+#: stock/views.py:489
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:660
+#: stock/views.py:663
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:757 templates/js/translated/stock.js:321
+#: stock/views.py:760 templates/js/translated/stock.js:618
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:768
+#: stock/views.py:771
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:790
+#: stock/views.py:793 templates/js/translated/stock.js:288
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:936
+#: stock/views.py:943
msgid "Create new Stock Location"
msgstr "Maak nieuwe voorraadlocatie"
-#: stock/views.py:1027
-msgid "Serialize Stock"
-msgstr ""
-
-#: stock/views.py:1120
+#: stock/views.py:1044
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1262
+#: stock/views.py:1186 templates/js/translated/stock.js:268
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1344
+#: stock/views.py:1268
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1444
+#: stock/views.py:1368
msgid "Delete Stock Location"
msgstr "Verwijder voorraadlocatie"
-#: stock/views.py:1457
+#: stock/views.py:1381
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1468
+#: stock/views.py:1392
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1475
+#: stock/views.py:1399
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1484
+#: stock/views.py:1408
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6107,63 +6006,67 @@ msgstr ""
msgid "Index"
msgstr ""
-#: templates/InvenTree/index.html:105
-msgid "Starred Parts"
+#: templates/InvenTree/index.html:88
+msgid "Subscribed Parts"
msgstr ""
-#: templates/InvenTree/index.html:115
+#: templates/InvenTree/index.html:98
+msgid "Subscribed Categories"
+msgstr ""
+
+#: templates/InvenTree/index.html:108
msgid "Latest Parts"
msgstr ""
-#: templates/InvenTree/index.html:126
+#: templates/InvenTree/index.html:119
msgid "BOM Waiting Validation"
msgstr ""
-#: templates/InvenTree/index.html:153
+#: templates/InvenTree/index.html:145
msgid "Recently Updated"
msgstr ""
-#: templates/InvenTree/index.html:176
+#: templates/InvenTree/index.html:168
msgid "Depleted Stock"
msgstr ""
-#: templates/InvenTree/index.html:199
+#: templates/InvenTree/index.html:191
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:202
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:232
+#: templates/InvenTree/index.html:224
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:243
+#: templates/InvenTree/index.html:235
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:263
+#: templates/InvenTree/index.html:255
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:274
+#: templates/InvenTree/index.html:266
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:294
+#: templates/InvenTree/index.html:286
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:305
+#: templates/InvenTree/index.html:297
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14
+#: templates/InvenTree/search.html:8
msgid "Search Results"
msgstr ""
-#: templates/InvenTree/search.html:24
+#: templates/InvenTree/search.html:22
msgid "Enter a search query"
msgstr ""
@@ -6183,23 +6086,23 @@ msgstr ""
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:23
+#: templates/InvenTree/settings/currencies.html:19
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:27
+#: templates/InvenTree/settings/currencies.html:24
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:37
+#: templates/InvenTree/settings/currencies.html:38
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:43
+#: templates/InvenTree/settings/currencies.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:48
+#: templates/InvenTree/settings/currencies.html:49
msgid "Update Now"
msgstr ""
@@ -6207,147 +6110,78 @@ msgstr ""
msgid "Server Settings"
msgstr ""
-#: templates/InvenTree/settings/header.html:7
-msgid "Setting"
-msgstr ""
-
#: templates/InvenTree/settings/login.html:9
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:12
-#: templates/InvenTree/settings/user_settings.html:9
-msgid "User Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:15
-#: templates/InvenTree/settings/navbar.html:17
-msgid "Account"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:21
-#: templates/InvenTree/settings/navbar.html:23
-msgid "Home Page"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29
-#: templates/js/translated/tables.js:375 templates/search_form.html:6
-#: templates/search_form.html:8
-msgid "Search"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:33
-#: templates/InvenTree/settings/navbar.html:35
-msgid "Labels"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:39
-#: templates/InvenTree/settings/navbar.html:41
-msgid "Reports"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:45
-#: templates/InvenTree/settings/navbar.html:47
-msgid "Forms"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:52
-#: templates/InvenTree/settings/navbar.html:54
-#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90
-msgid "Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:62
-msgid "InvenTree Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:65
-#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87
-msgid "Login"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:77
-#: templates/InvenTree/settings/navbar.html:79
-msgid "Barcodes"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85
-msgid "Currencies"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91
-msgid "Reporting"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103
-msgid "Categories"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:7
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:12
-msgid "Part Options"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:43
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:47
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:59
+#: templates/InvenTree/settings/part.html:61
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/po.html:9
+#: templates/InvenTree/settings/po.html:7
msgid "Purchase Order Settings"
msgstr ""
-#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:29
+#: templates/InvenTree/settings/setting.html:28
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:41
+#: templates/InvenTree/settings/setting.html:39
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:154
+#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93
+msgid "Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+#, fuzzy
+#| msgid "Edit location"
+msgid "Edit Global Setting"
+msgstr "Bewerk locatie"
+
+#: templates/InvenTree/settings/settings.html:65
+#, fuzzy
+#| msgid "Edit User Information"
+msgid "Edit User Setting"
+msgstr "Gebruikersgegevens bewerken"
+
+#: templates/InvenTree/settings/settings.html:148
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:176
-#: templates/InvenTree/settings/settings.html:275
+#: templates/InvenTree/settings/settings.html:170
+#: templates/InvenTree/settings/settings.html:269
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:177
-#: templates/InvenTree/settings/settings.html:276
+#: templates/InvenTree/settings/settings.html:171
+#: templates/InvenTree/settings/settings.html:270
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:255
+#: templates/InvenTree/settings/settings.html:249
msgid "No part parameter templates found"
msgstr ""
@@ -6363,134 +6197,158 @@ msgstr ""
msgid "Account Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:19
+#: templates/InvenTree/settings/user.html:18
#: templates/js/translated/helpers.js:26
msgid "Edit"
msgstr ""
-#: templates/InvenTree/settings/user.html:21
+#: templates/InvenTree/settings/user.html:20
#: templates/account/password_reset_from_key.html:4
#: templates/account/password_reset_from_key.html:7
msgid "Change Password"
msgstr ""
-#: templates/InvenTree/settings/user.html:28
+#: templates/InvenTree/settings/user.html:31
msgid "Username"
msgstr ""
-#: templates/InvenTree/settings/user.html:32
+#: templates/InvenTree/settings/user.html:35
msgid "First Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:36
+#: templates/InvenTree/settings/user.html:39
msgid "Last Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:42
-msgid "E-Mail"
+#: templates/InvenTree/settings/user.html:54
+msgid "The following email addresses are associated with your account:"
msgstr ""
-#: templates/InvenTree/settings/user.html:47
-msgid "The following e-mail addresses are associated with your account:"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:61
+#: templates/InvenTree/settings/user.html:74
msgid "Verified"
msgstr ""
-#: templates/InvenTree/settings/user.html:63
+#: templates/InvenTree/settings/user.html:76
msgid "Unverified"
msgstr ""
-#: templates/InvenTree/settings/user.html:65
+#: templates/InvenTree/settings/user.html:78
msgid "Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:71
+#: templates/InvenTree/settings/user.html:84
msgid "Make Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:72
+#: templates/InvenTree/settings/user.html:85
msgid "Re-send Verification"
msgstr ""
-#: templates/InvenTree/settings/user.html:73
-#: templates/InvenTree/settings/user.html:130
+#: templates/InvenTree/settings/user.html:86
+#: templates/InvenTree/settings/user.html:153
msgid "Remove"
msgstr ""
-#: templates/InvenTree/settings/user.html:80
+#: templates/InvenTree/settings/user.html:93
msgid "Warning:"
msgstr ""
-#: templates/InvenTree/settings/user.html:81
-msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc."
+#: templates/InvenTree/settings/user.html:94
+msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc."
msgstr ""
-#: templates/InvenTree/settings/user.html:88
-msgid "Add E-mail Address"
+#: templates/InvenTree/settings/user.html:101
+msgid "Add Email Address"
msgstr ""
-#: templates/InvenTree/settings/user.html:93
-msgid "Add E-mail"
+#: templates/InvenTree/settings/user.html:111
+msgid "Enter e-mail address"
msgstr ""
-#: templates/InvenTree/settings/user.html:100
+#: templates/InvenTree/settings/user.html:113
+msgid "Add Email"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:123
msgid "Social Accounts"
msgstr ""
-#: templates/InvenTree/settings/user.html:105
+#: templates/InvenTree/settings/user.html:128
msgid "You can sign in to your account using any of the following third party accounts:"
msgstr ""
-#: templates/InvenTree/settings/user.html:138
-msgid "You currently have no social network accounts connected to this account."
+#: templates/InvenTree/settings/user.html:162
+msgid "There are no social network accounts connected to your InvenTree account"
msgstr ""
-#: templates/InvenTree/settings/user.html:142
+#: templates/InvenTree/settings/user.html:167
msgid "Add a 3rd Party Account"
msgstr ""
-#: templates/InvenTree/settings/user.html:153
-msgid "Theme Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:174
-msgid "Set Theme"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:181
+#: templates/InvenTree/settings/user.html:177
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:200
+#: templates/InvenTree/settings/user.html:186
+#, fuzzy
+#| msgid "Select Category"
+msgid "Select language"
+msgstr "Categorie selecteren"
+
+#: templates/InvenTree/settings/user.html:202
#, python-format
msgid "%(lang_translated)s%% translated"
msgstr ""
-#: templates/InvenTree/settings/user.html:202
+#: templates/InvenTree/settings/user.html:204
msgid "No translations available"
msgstr ""
-#: templates/InvenTree/settings/user.html:209
+#: templates/InvenTree/settings/user.html:211
msgid "Set Language"
msgstr ""
-#: templates/InvenTree/settings/user.html:214
-msgid "Help the translation efforts!"
+#: templates/InvenTree/settings/user.html:213
+msgid "Some languages are not complete"
msgstr ""
#: templates/InvenTree/settings/user.html:215
+msgid "Show only sufficent"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:217
+msgid "Show them too"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:224
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:225
#, python-format
msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
msgstr ""
-#: templates/InvenTree/settings/user.html:223
-msgid "Do you really want to remove the selected e-mail address?"
+#: templates/InvenTree/settings/user.html:233
+msgid "Do you really want to remove the selected email address?"
msgstr ""
-#: templates/InvenTree/settings/user_forms.html:9
-msgid "Form Settings"
+#: templates/InvenTree/settings/user_display.html:9
+msgid "Display Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:25
+msgid "Theme Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:35
+#, fuzzy
+#| msgid "Select Category"
+msgid "Select theme"
+msgstr "Categorie selecteren"
+
+#: templates/InvenTree/settings/user_display.html:46
+msgid "Set Theme"
msgstr ""
#: templates/InvenTree/settings/user_homepage.html:9
@@ -6505,124 +6363,141 @@ msgstr ""
msgid "Search Settings"
msgstr ""
-#: templates/about.html:13
+#: templates/InvenTree/settings/user_settings.html:9
+msgid "User Settings"
+msgstr ""
+
+#: templates/about.html:10
msgid "InvenTree Version Information"
msgstr ""
-#: templates/about.html:22
+#: templates/about.html:11 templates/about.html:105
+#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:964 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
+msgid "Close"
+msgstr ""
+
+#: templates/about.html:20
msgid "InvenTree Version"
msgstr ""
-#: templates/about.html:27
+#: templates/about.html:25
msgid "Development Version"
msgstr ""
-#: templates/about.html:30
+#: templates/about.html:28
msgid "Up to Date"
msgstr ""
-#: templates/about.html:32
+#: templates/about.html:30
msgid "Update Available"
msgstr ""
-#: templates/about.html:42
+#: templates/about.html:40
msgid "Commit Hash"
msgstr ""
-#: templates/about.html:49
+#: templates/about.html:47
msgid "Commit Date"
msgstr ""
-#: templates/about.html:55
+#: templates/about.html:53
msgid "InvenTree Documentation"
msgstr ""
-#: templates/about.html:60
+#: templates/about.html:58
msgid "API Version"
msgstr ""
-#: templates/about.html:65
+#: templates/about.html:63
msgid "Python Version"
msgstr ""
-#: templates/about.html:70
+#: templates/about.html:68
msgid "Django Version"
msgstr ""
-#: templates/about.html:75
+#: templates/about.html:73
msgid "View Code on GitHub"
msgstr ""
-#: templates/about.html:80
+#: templates/about.html:78
msgid "Credits"
msgstr ""
-#: templates/about.html:85
+#: templates/about.html:83
msgid "Mobile App"
msgstr ""
-#: templates/about.html:90
+#: templates/about.html:88
msgid "Submit Bug Report"
msgstr ""
-#: templates/about.html:97 templates/clip.html:4
+#: templates/about.html:95 templates/clip.html:4
msgid "copy to clipboard"
msgstr ""
-#: templates/about.html:97
+#: templates/about.html:95
msgid "copy version information"
msgstr ""
-#: templates/about.html:107 templates/js/translated/modals.js:50
-#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678
-#: templates/js/translated/modals.js:982 templates/modals.html:29
-#: templates/modals.html:54
-msgid "Close"
-msgstr ""
-
#: templates/account/email_confirm.html:6
#: templates/account/email_confirm.html:10
-msgid "Confirm E-mail Address"
+msgid "Confirm Email Address"
msgstr ""
#: templates/account/email_confirm.html:16
#, python-format
-msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s."
+msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
#: templates/account/email_confirm.html:27
#, python-format
-msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request."
+msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:5 templates/account/login.html:14
-#: templates/account/login.html:36
+#: templates/account/login.html:6 templates/account/login.html:16
+#: templates/account/login.html:39
msgid "Sign In"
msgstr ""
-#: templates/account/login.html:19
+#: templates/account/login.html:21
#, python-format
-msgid "Please sign in with one\n"
+msgid ""
+"Please sign in with one\n"
"of your existing third party accounts or sign up\n"
"for a account and sign in below:"
msgstr ""
-#: templates/account/login.html:23
+#: templates/account/login.html:25
#, python-format
-msgid "If you have not created an account yet, then please\n"
+msgid ""
+"If you have not created an account yet, then please\n"
"sign up first."
msgstr ""
-#: templates/account/login.html:38
+#: templates/account/login.html:42
msgid "Forgot Password?"
msgstr ""
-#: templates/account/login.html:45
+#: templates/account/login.html:47
+#, fuzzy
+#| msgid "InvenTree Instance Name"
+msgid "InvenTree demo instance"
+msgstr "Inventree Instantie Naam"
+
+#: templates/account/login.html:47
+msgid "Click here for login details"
+msgstr ""
+
+#: templates/account/login.html:55
msgid "or use SSO"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
-#: templates/account/logout.html:17
+#: templates/account/logout.html:20
msgid "Sign Out"
msgstr ""
@@ -6630,13 +6505,17 @@ msgstr ""
msgid "Are you sure you want to sign out?"
msgstr ""
+#: templates/account/logout.html:19
+msgid "Back to Site"
+msgstr ""
+
#: templates/account/password_reset.html:5
#: templates/account/password_reset.html:12
msgid "Password Reset"
msgstr ""
#: templates/account/password_reset.html:18
-msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it."
+msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it."
msgstr ""
#: templates/account/password_reset.html:23
@@ -6656,11 +6535,13 @@ msgstr ""
msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
msgstr ""
-#: templates/account/password_reset_from_key.html:17
-msgid "change password"
-msgstr ""
+#: templates/account/password_reset_from_key.html:18
+#, fuzzy
+#| msgid "Enter password"
+msgid "Change password"
+msgstr "Voer wachtwoord in"
-#: templates/account/password_reset_from_key.html:20
+#: templates/account/password_reset_from_key.html:22
msgid "Your password is now changed."
msgstr ""
@@ -6677,6 +6558,89 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/admin_button.html:2
+msgid "View in administration panel"
+msgstr ""
+
+#: templates/base.html:96
+msgid "Server Restart Required"
+msgstr ""
+
+#: templates/base.html:99
+msgid "A configuration option has been changed which requires a server restart"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Contact your system administrator for further information"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:7
+#, fuzzy
+#| msgid "User responsible for this build order"
+msgid "Stock is required for the following build order"
+msgstr "Gebruiker verantwoordelijk voor deze bouwopdracht"
+
+#: templates/email/build_order_required_stock.html:8
+#, python-format
+msgid "Build order %(build)s - building %(quantity)s x %(part)s"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:10
+msgid "Click on the following link to view this build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:14
+#, fuzzy
+#| msgid "Allow sale of expired stock"
+msgid "The following parts are low on required stock"
+msgstr "Verkoop verlopen voorraad toestaan"
+
+#: templates/email/build_order_required_stock.html:18
+#: templates/js/translated/bom.js:989
+#, fuzzy
+#| msgid "Build Quantity"
+msgid "Required Quantity"
+msgstr "Bouwkwaliteit"
+
+#: templates/email/build_order_required_stock.html:19
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129
+#: templates/js/translated/build.js:1749
+msgid "Available"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:38
+#: templates/email/low_stock_notification.html:31
+msgid "You are receiving this email because you are subscribed to notifications for this part "
+msgstr ""
+
+#: templates/email/email.html:35
+#, fuzzy
+#| msgid "InvenTree Instance Name"
+msgid "InvenTree version"
+msgstr "Inventree Instantie Naam"
+
+#: templates/email/low_stock_notification.html:7
+#, python-format
+msgid " The available stock for %(part)s has fallen below the configured minimum level"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:9
+msgid "Click on the following link to view this part"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:17
+#, fuzzy
+#| msgid "Count stock"
+msgid "Total Stock"
+msgstr "Voorraad tellen"
+
+#: templates/email/low_stock_notification.html:19
+#, fuzzy
+#| msgid "Build Quantity"
+msgid "Minimum Quantity"
+msgstr "Bouwkwaliteit"
+
#: templates/image_download.html:8
msgid "Specify URL for downloading image"
msgstr ""
@@ -6693,138 +6657,59 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/report.js:47 templates/js/translated/report.js:67
-msgid "items selected"
-msgstr ""
-
-#: templates/js/report.js:55 templates/js/translated/report.js:75
-msgid "Select Report Template"
-msgstr ""
-
-#: templates/js/report.js:70 templates/js/translated/report.js:90
-msgid "Select Test Report Template"
-msgstr ""
-
-#: templates/js/report.js:98 templates/js/translated/label.js:29
-#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/report.js:99 templates/js/translated/report.js:119
-msgid "Stock item(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:116 templates/js/report.js:169
-#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331 templates/js/translated/report.js:136
-#: templates/js/translated/report.js:189 templates/js/translated/report.js:243
-#: templates/js/translated/report.js:297 templates/js/translated/report.js:351
-msgid "No Reports Found"
-msgstr ""
-
-#: templates/js/report.js:117 templates/js/translated/report.js:137
-msgid "No report templates found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/report.js:152 templates/js/translated/report.js:172
-msgid "Select Builds"
-msgstr ""
-
-#: templates/js/report.js:153 templates/js/translated/report.js:173
-msgid "Build(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:170 templates/js/translated/report.js:190
-msgid "No report templates found which match selected build(s)"
-msgstr ""
-
-#: templates/js/report.js:205 templates/js/translated/build.js:948
-#: templates/js/translated/label.js:134 templates/js/translated/report.js:225
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/report.js:206 templates/js/translated/report.js:226
-msgid "Part(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:224 templates/js/translated/report.js:244
-msgid "No report templates found which match selected part(s)"
-msgstr ""
-
-#: templates/js/report.js:259 templates/js/translated/report.js:279
-msgid "Select Purchase Orders"
-msgstr ""
-
-#: templates/js/report.js:260 templates/js/translated/report.js:280
-msgid "Purchase Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/report.js:278 templates/js/report.js:332
-#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
-msgid "No report templates found which match selected orders"
-msgstr ""
-
-#: templates/js/report.js:313 templates/js/translated/report.js:333
-msgid "Select Sales Orders"
-msgstr ""
-
-#: templates/js/report.js:314 templates/js/translated/report.js:334
-msgid "Sales Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053
+#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035
msgid "No response from the InvenTree server"
msgstr ""
-#: templates/js/translated/api.js:181
+#: templates/js/translated/api.js:191
msgid "Error 400: Bad request"
msgstr ""
-#: templates/js/translated/api.js:182
+#: templates/js/translated/api.js:192
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063
+#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055
msgid "The requested resource could not be located on the server"
msgstr ""
-#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060
msgid "Connection timeout while requesting data from server"
msgstr ""
-#: templates/js/translated/api.js:205
+#: templates/js/translated/api.js:215
msgid "Unhandled Error Code"
msgstr ""
-#: templates/js/translated/api.js:206
+#: templates/js/translated/api.js:216
msgid "Error code"
msgstr ""
@@ -6832,292 +6717,385 @@ msgstr ""
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:91
+#: templates/js/translated/attachment.js:95
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:104
+#: templates/js/translated/attachment.js:108
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:115
msgid "Delete attachment"
msgstr ""
-#: templates/js/translated/barcode.js:30
+#: templates/js/translated/barcode.js:29
msgid "Scan barcode data here using wedge scanner"
msgstr ""
-#: templates/js/translated/barcode.js:32
+#: templates/js/translated/barcode.js:31
msgid "Enter barcode data"
msgstr ""
-#: templates/js/translated/barcode.js:36
+#: templates/js/translated/barcode.js:35
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:54
+#: templates/js/translated/barcode.js:53
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:55
+#: templates/js/translated/barcode.js:54
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:93
+#: templates/js/translated/barcode.js:92
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:114
+#: templates/js/translated/barcode.js:113
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:141
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/barcode.js:140
+#: templates/js/translated/modals.js:1024
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:234
+#: templates/js/translated/barcode.js:233
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:281 templates/navbar.html:65
+#: templates/js/translated/barcode.js:280 templates/navbar.html:69
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:292
+#: templates/js/translated/barcode.js:291
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:310
+#: templates/js/translated/barcode.js:309
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:333
+#: templates/js/translated/barcode.js:332
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:339
+#: templates/js/translated/barcode.js:338
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273
+#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:440
+#: templates/js/translated/barcode.js:439
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:444
-#: templates/js/translated/barcode.js:571
+#: templates/js/translated/barcode.js:443
+#: templates/js/translated/barcode.js:573
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:486
-#: templates/js/translated/barcode.js:610
+#: templates/js/translated/barcode.js:485
+#: templates/js/translated/barcode.js:612
msgid "Error transferring stock"
msgstr ""
-#: templates/js/translated/barcode.js:505
+#: templates/js/translated/barcode.js:507
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:509
+#: templates/js/translated/barcode.js:511
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:516
+#: templates/js/translated/barcode.js:518
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:523
+#: templates/js/translated/barcode.js:525
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:566
+#: templates/js/translated/barcode.js:568
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:629
+#: templates/js/translated/barcode.js:633
msgid "Barcode does not match a valid location"
msgstr ""
-#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495
+#: templates/js/translated/bom.js:184
+msgid "Remove substitute part"
+msgstr ""
+
+#: templates/js/translated/bom.js:226
+msgid "Select and add a new variant item using the input below"
+msgstr ""
+
+#: templates/js/translated/bom.js:237
+#, fuzzy
+#| msgid "Are you sure you wish to cancel this build?"
+msgid "Are you sure you wish to remove this substitute part link?"
+msgstr "Weet je zeker dat je de bouw wilt annuleren?"
+
+#: templates/js/translated/bom.js:243
+msgid "Remove Substitute Part"
+msgstr ""
+
+#: templates/js/translated/bom.js:282
+msgid "Add Substitute"
+msgstr ""
+
+#: templates/js/translated/bom.js:283
+msgid "Edit BOM Item Substitutes"
+msgstr ""
+
+#: templates/js/translated/bom.js:402
+msgid "Substitutes Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111
+msgid "Variant stock allowed"
+msgstr ""
+
+#: templates/js/translated/bom.js:411
msgid "Open subassembly"
msgstr ""
-#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744
-#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522
-msgid "Available"
+#: templates/js/translated/bom.js:483
+msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:307
+#: templates/js/translated/bom.js:498
msgid "Purchase Price Range"
msgstr ""
-#: templates/js/translated/bom.js:314
+#: templates/js/translated/bom.js:505
msgid "Purchase Price Average"
msgstr ""
-#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449
+#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798
-#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285
+#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183
+#: templates/js/translated/order.js:1298
msgid "Actions"
msgstr ""
-#: templates/js/translated/bom.js:423
+#: templates/js/translated/bom.js:614
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:425
+#: templates/js/translated/bom.js:616
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590
+#: templates/js/translated/bom.js:618
+msgid "Edit substitute parts"
+msgstr ""
+
+#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575
+#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:1593
+#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/build.js:71
-msgid "Edit Build Order"
-msgstr ""
+#: templates/js/translated/bom.js:772
+#, fuzzy
+#| msgid "Are you sure you wish to cancel this build?"
+msgid "Are you sure you want to delete this BOM item?"
+msgstr "Weet je zeker dat je de bouw wilt annuleren?"
-#: templates/js/translated/build.js:105
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/translated/build.js:138
-msgid "Allocate stock items to this build output"
-msgstr ""
-
-#: templates/js/translated/build.js:146
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/translated/build.js:155
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:164
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:265
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356
-#: templates/js/translated/order.js:1292
-msgid "Edit stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357
-#: templates/js/translated/order.js:1293
-msgid "Delete stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:695
-msgid "Edit Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:705
-msgid "Remove Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:718
+#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095
msgid "Required Part"
msgstr ""
-#: templates/js/translated/build.js:739
+#: templates/js/translated/bom.js:994
+#, fuzzy
+#| msgid "Split from parent item"
+msgid "Inherited from parent BOM"
+msgstr "Splits van bovenliggend item"
+
+#: templates/js/translated/build.js:78
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:112
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:133
+msgid "Allocate stock items to this build output"
+msgstr ""
+
+#: templates/js/translated/build.js:144
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:153
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:161
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:184
+#, fuzzy
+#| msgid "Are you sure you wish to cancel this build?"
+msgid "Are you sure you wish to unallocate stock items from this build?"
+msgstr "Weet je zeker dat je de bouw wilt annuleren?"
+
+#: templates/js/translated/build.js:202
+#, fuzzy
+#| msgid "Unallocate Stock"
+msgid "Unallocate Stock Items"
+msgstr "Niet toegewezen voorraad"
+
+#: templates/js/translated/build.js:220
+#, fuzzy
+#| msgid "Delete Build"
+msgid "Select Build Outputs"
+msgstr "Verwijder bouw"
+
+#: templates/js/translated/build.js:221
+msgid "At least one build output must be selected"
+msgstr ""
+
+#: templates/js/translated/build.js:275
+msgid "Output"
+msgstr ""
+
+#: templates/js/translated/build.js:291
+#, fuzzy
+#| msgid "Complete Build"
+msgid "Complete Build Outputs"
+msgstr "Voltooi Build"
+
+#: templates/js/translated/build.js:386
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:603
+#, fuzzy
+#| msgid "No build output specified"
+msgid "No active build outputs found"
+msgstr "Geen bouwuitvoer opgegeven"
+
+#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760
+#: templates/js/translated/order.js:1305
+msgid "Edit stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761
+#: templates/js/translated/order.js:1306
+msgid "Delete stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1072
+msgid "Edit Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1082
+msgid "Remove Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1107
+msgid "Substitute parts available"
+msgstr ""
+
+#: templates/js/translated/build.js:1124
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:749 templates/js/translated/build.js:975
-#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514
+#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360
+#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553
-#: templates/js/translated/order.js:1567
+#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557
-#: templates/stock_table.html:59
+#: templates/js/translated/build.js:1194 templates/stock_table.html:52
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560
+#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:880
+#: templates/js/translated/build.js:1262
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:949
+#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134
+#: templates/js/translated/report.js:225
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/translated/build.js:1334
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:963
+#: templates/js/translated/build.js:1348
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:992
+#: templates/js/translated/build.js:1377
msgid "Confirm stock allocation"
msgstr "Bevestig de voorraadtoewijzing"
-#: templates/js/translated/build.js:993
+#: templates/js/translated/build.js:1378
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:1004
+#: templates/js/translated/build.js:1389
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:1048
+#: templates/js/translated/build.js:1451
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:1172
+#: templates/js/translated/build.js:1576
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856
-#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762
-#: templates/js/translated/stock.js:1456
+#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873
+#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064
+#: templates/js/translated/stock.js:1841
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:1209
+#: templates/js/translated/build.js:1613
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675
+#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:1282
+#: templates/js/translated/build.js:1686
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:1333
+#: templates/js/translated/build.js:1737
msgid "No parts allocated for"
msgstr ""
@@ -7137,7 +7115,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:164 templates/js/translated/order.js:89
+#: templates/js/translated/company.js:164 templates/js/translated/order.js:90
msgid "Add Supplier"
msgstr ""
@@ -7186,34 +7164,34 @@ msgid "No manufacturer parts found"
msgstr ""
#: templates/js/translated/company.js:496
-#: templates/js/translated/company.js:753 templates/js/translated/part.js:427
-#: templates/js/translated/part.js:512
+#: templates/js/translated/company.js:753 templates/js/translated/part.js:448
+#: templates/js/translated/part.js:533
msgid "Template part"
msgstr ""
#: templates/js/translated/company.js:500
-#: templates/js/translated/company.js:757 templates/js/translated/part.js:431
-#: templates/js/translated/part.js:516
+#: templates/js/translated/company.js:757 templates/js/translated/part.js:452
+#: templates/js/translated/part.js:537
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:627 templates/js/translated/part.js:604
+#: templates/js/translated/company.js:627 templates/js/translated/part.js:625
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:664 templates/js/translated/part.js:646
+#: templates/js/translated/company.js:664 templates/js/translated/part.js:667
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:665 templates/js/translated/part.js:647
+#: templates/js/translated/company.js:665 templates/js/translated/part.js:668
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:684 templates/js/translated/part.js:664
+#: templates/js/translated/company.js:684 templates/js/translated/part.js:685
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:695 templates/js/translated/part.js:676
+#: templates/js/translated/company.js:695 templates/js/translated/part.js:697
msgid "Delete Parameter"
msgstr ""
@@ -7222,12 +7200,12 @@ msgid "No supplier parts found"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:407
+#: templates/js/translated/filters.js:420
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:408
+#: templates/js/translated/filters.js:421
msgid "false"
msgstr ""
@@ -7235,57 +7213,63 @@ msgstr ""
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:284
+#: templates/js/translated/filters.js:286
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:286
+#: templates/js/translated/filters.js:290
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:289
+#: templates/js/translated/filters.js:293
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:317
+#: templates/js/translated/filters.js:329
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336
-#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360
+#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364
+#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:324
+#: templates/js/translated/forms.js:351
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:337
+#: templates/js/translated/forms.js:366
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:349
+#: templates/js/translated/forms.js:380
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:361
+#: templates/js/translated/forms.js:394
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:968 templates/modals.html:21
-#: templates/modals.html:47
+#: templates/js/translated/forms.js:679
+#, fuzzy
+#| msgid "Must be a valid number"
+msgid "Enter a valid number"
+msgstr "Moet een geldig nummer zijn"
+
+#: templates/js/translated/forms.js:1071 templates/modals.html:19
+#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1323
+#: templates/js/translated/forms.js:1457
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1525
+#: templates/js/translated/forms.js:1661
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:1742
+#: templates/js/translated/forms.js:1878
msgid "Clear input"
msgstr ""
@@ -7297,6 +7281,11 @@ msgstr ""
msgid "NO"
msgstr ""
+#: templates/js/translated/label.js:29 templates/js/translated/report.js:118
+#: templates/js/translated/stock.js:594
+msgid "Select Stock Items"
+msgstr ""
+
#: templates/js/translated/label.js:30
msgid "Stock item(s) must be selected before printing labels"
msgstr ""
@@ -7342,62 +7331,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119
+#: templates/js/translated/modals.js:593
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981
-#: templates/modals.html:30 templates/modals.html:55
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963
+#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:117
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:397
+#: templates/js/translated/modals.js:380
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:556
+#: templates/js/translated/modals.js:539
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:592
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:649
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:945
+#: templates/js/translated/modals.js:927
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/modals.js:1024
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1057
+#: templates/js/translated/modals.js:1039
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1058
+#: templates/js/translated/modals.js:1040
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1081
+#: templates/js/translated/modals.js:1063
msgid "Error requesting form data"
msgstr ""
@@ -7405,35 +7394,35 @@ msgstr ""
msgid "Company ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:90
+#: templates/js/translated/model_renderers.js:77
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:125
+#: templates/js/translated/model_renderers.js:130
msgid "Location ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:142
+#: templates/js/translated/model_renderers.js:147
msgid "Build ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:177
+#: templates/js/translated/model_renderers.js:182
msgid "Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:231
+#: templates/js/translated/model_renderers.js:236
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:251
+#: templates/js/translated/model_renderers.js:256
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:288
+#: templates/js/translated/model_renderers.js:293
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:317
+#: templates/js/translated/model_renderers.js:322
msgid "Supplier Part ID"
msgstr ""
@@ -7445,565 +7434,702 @@ msgstr ""
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:207
+#: templates/js/translated/order.js:208
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96
+#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393
msgid "Format"
msgstr ""
-#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97
+#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394
msgid "Select file format"
msgstr ""
-#: templates/js/translated/order.js:299
+#: templates/js/translated/order.js:300
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:300
+#: templates/js/translated/order.js:301
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:325
+#: templates/js/translated/order.js:326
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343
+#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:426
+#: templates/js/translated/order.js:427
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:428
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:429
+#: templates/js/translated/order.js:430
msgid "Receive"
msgstr ""
-#: templates/js/translated/order.js:448
+#: templates/js/translated/order.js:449
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:449
+#: templates/js/translated/order.js:450
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:626
+#: templates/js/translated/order.js:627
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028
+#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602
+#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613
+#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:800
+#: templates/js/translated/order.js:801
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432
+#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457
-#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554
+#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470
+#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464
-msgid "Total price"
-msgstr ""
+#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486
+#, fuzzy
+#| msgid "Internal Prices"
+msgid "Total Price"
+msgstr "Interne prijzen"
-#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573
+#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:963
+#: templates/js/translated/order.js:976
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:967
+#: templates/js/translated/order.js:980
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1004
+#: templates/js/translated/order.js:1017
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1055
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1120
+#: templates/js/translated/order.js:1133
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:1213
+#: templates/js/translated/order.js:1226
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1231
+#: templates/js/translated/order.js:1244
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1273
+#: templates/js/translated/order.js:1286
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:1514
+#: templates/js/translated/order.js:1535
msgid "Fulfilled"
msgstr ""
-#: templates/js/translated/order.js:1557
+#: templates/js/translated/order.js:1579
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1585
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725
+#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1596
msgid "Delete line item "
msgstr ""
-#: templates/js/translated/order.js:1673
+#: templates/js/translated/order.js:1719
msgid "Allocate Stock Item"
msgstr ""
-#: templates/js/translated/order.js:1733
+#: templates/js/translated/order.js:1779
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1747
+#: templates/js/translated/order.js:1793
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/part.js:49
+#: templates/js/translated/part.js:50
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:53
+#: templates/js/translated/part.js:54
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:57
+#: templates/js/translated/part.js:58
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:61
+#: templates/js/translated/part.js:62
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:75
+#: templates/js/translated/part.js:76
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:164
+#: templates/js/translated/part.js:165
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:165
+#: templates/js/translated/part.js:166
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:172
+#: templates/js/translated/part.js:173
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:173
+#: templates/js/translated/part.js:174
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:180
+#: templates/js/translated/part.js:181
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:191
+#: templates/js/translated/part.js:192
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:192
+#: templates/js/translated/part.js:193
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:201
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:202
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:257
+#: templates/js/translated/part.js:258
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:258
+#: templates/js/translated/part.js:259
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:265
-msgid "Copy BOM"
-msgstr ""
-
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:267
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:273
+#: templates/js/translated/part.js:274
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:274
+#: templates/js/translated/part.js:275
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:287
+#: templates/js/translated/part.js:288
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:331
+#: templates/js/translated/part.js:332
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:419 templates/js/translated/part.js:504
+#: templates/js/translated/part.js:334
+msgid "Part edited"
+msgstr ""
+
+#: templates/js/translated/part.js:402
+msgid "You are subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:404
+msgid "You have subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:409
+msgid "Subscribe to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:411
+msgid "You have unsubscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:440 templates/js/translated/part.js:525
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:423 templates/js/translated/part.js:508
+#: templates/js/translated/part.js:444 templates/js/translated/part.js:529
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:435
-msgid "Starred part"
+#: templates/js/translated/part.js:456
+msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:439
+#: templates/js/translated/part.js:460
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:554
+#: templates/js/translated/part.js:575
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005
+#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:932
+#: templates/js/translated/part.js:933
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:955
-#: templates/js/translated/table_filters.js:359
+#: templates/js/translated/part.js:956
+#: templates/js/translated/table_filters.js:375
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480
+#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200
+#: templates/js/translated/stock.js:1802
+msgid "Display as list"
+msgstr ""
+
+#: templates/js/translated/part.js:1044
+msgid "Display as grid"
+msgstr ""
+
+#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821
+msgid "Display as tree"
+msgstr ""
+
+#: templates/js/translated/part.js:1283
+msgid "Subscribed category"
+msgstr ""
+
+#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1202
+#: templates/js/translated/part.js:1341
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493
+#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494
+#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1260
+#: templates/js/translated/part.js:1399
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1282
+#: templates/js/translated/part.js:1421
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1296
+#: templates/js/translated/part.js:1435
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1321
+#: templates/js/translated/part.js:1460
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1376
+#: templates/js/translated/part.js:1515
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1377
+#: templates/js/translated/part.js:1516
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1478
+#: templates/js/translated/part.js:1617
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1497
+#: templates/js/translated/part.js:1636
msgid "Single Price Difference"
msgstr ""
-#: templates/js/translated/stock.js:63
+#: templates/js/translated/report.js:67
+msgid "items selected"
+msgstr ""
+
+#: templates/js/translated/report.js:75
+msgid "Select Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:90
+msgid "Select Test Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:119
+msgid "Stock item(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:136 templates/js/translated/report.js:189
+#: templates/js/translated/report.js:243 templates/js/translated/report.js:297
+#: templates/js/translated/report.js:351
+msgid "No Reports Found"
+msgstr ""
+
+#: templates/js/translated/report.js:137
+msgid "No report templates found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:172
+msgid "Select Builds"
+msgstr ""
+
+#: templates/js/translated/report.js:173
+msgid "Build(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:190
+msgid "No report templates found which match selected build(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:226
+msgid "Part(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:244
+msgid "No report templates found which match selected part(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:279
+msgid "Select Purchase Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:280
+msgid "Purchase Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
+msgid "No report templates found which match selected orders"
+msgstr ""
+
+#: templates/js/translated/report.js:333
+msgid "Select Sales Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:334
+msgid "Sales Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/stock.js:70
+#, fuzzy
+#| msgid "Stock Item"
+msgid "Serialize Stock Item"
+msgstr "Voorraadartikel"
+
+#: templates/js/translated/stock.js:90
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:126
+#, fuzzy
+#| msgid "Stock Location"
+msgid "New Stock Location"
+msgstr "Voorraadlocatie"
+
+#: templates/js/translated/stock.js:189
+#, fuzzy
+#| msgid "Enter quantity for build output"
+msgid "Enter initial quantity for this stock item"
+msgstr "Voer hoeveelheid in voor build-output"
+
+#: templates/js/translated/stock.js:195
+#, fuzzy
+#| msgid "Enter serial numbers for build outputs"
+msgid "Enter serial numbers for new stock (or leave blank)"
+msgstr "Voer serienummers in voor build-outputs"
+
+#: templates/js/translated/stock.js:338
+#, fuzzy
+#| msgid "Create new stock location"
+msgid "Created new stock item"
+msgstr "Maak nieuwe voorraadlocatie"
+
+#: templates/js/translated/stock.js:351
+#, fuzzy
+#| msgid "All stock items"
+msgid "Created multiple stock items"
+msgstr "Alle voorraadartikelen"
+
+#: templates/js/translated/stock.js:390
msgid "Export Stock"
msgstr ""
-#: templates/js/translated/stock.js:104
+#: templates/js/translated/stock.js:401
msgid "Include Sublocations"
msgstr ""
-#: templates/js/translated/stock.js:105
+#: templates/js/translated/stock.js:402
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:444
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:148
+#: templates/js/translated/stock.js:445
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:154
+#: templates/js/translated/stock.js:451
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:155
+#: templates/js/translated/stock.js:452
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:159
+#: templates/js/translated/stock.js:456
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:160
+#: templates/js/translated/stock.js:457
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:164
+#: templates/js/translated/stock.js:461
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:165 users/models.py:195
+#: templates/js/translated/stock.js:462 users/models.py:200
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:169 templates/stock_table.html:63
+#: templates/js/translated/stock.js:466 templates/stock_table.html:56
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:298
+#: templates/js/translated/stock.js:595
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:456
+#: templates/js/translated/stock.js:753
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:458
+#: templates/js/translated/stock.js:755
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:463
+#: templates/js/translated/stock.js:760
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:489
+#: templates/js/translated/stock.js:782
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:515
+#: templates/js/translated/stock.js:808
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:563
+#: templates/js/translated/stock.js:865
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:670
+#: templates/js/translated/stock.js:972
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:674
+#: templates/js/translated/stock.js:976
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:678
+#: templates/js/translated/stock.js:980
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:984
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:688
+#: templates/js/translated/stock.js:990
msgid "No stock location set"
msgstr "Geen voorraadlocatie ingesteld"
-#: templates/js/translated/stock.js:844
+#: templates/js/translated/stock.js:1148
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:849
+#: templates/js/translated/stock.js:1153
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:852
+#: templates/js/translated/stock.js:1156
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:856
+#: templates/js/translated/stock.js:1160
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:858
+#: templates/js/translated/stock.js:1162
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:1166
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:866
+#: templates/js/translated/stock.js:1170
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:873
+#: templates/js/translated/stock.js:1177
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:1179
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:877
+#: templates/js/translated/stock.js:1181
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:881
-#: templates/js/translated/table_filters.js:161
+#: templates/js/translated/stock.js:1185
+#: templates/js/translated/table_filters.js:177
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:935
+#: templates/js/translated/stock.js:1235
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1308
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1046
+#: templates/js/translated/stock.js:1346
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115
+#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415
msgid "items"
msgstr ""
-#: templates/js/translated/stock.js:1155
+#: templates/js/translated/stock.js:1455
msgid "batches"
msgstr ""
-#: templates/js/translated/stock.js:1182
+#: templates/js/translated/stock.js:1482
msgid "locations"
msgstr ""
-#: templates/js/translated/stock.js:1184
+#: templates/js/translated/stock.js:1484
msgid "Undefined location"
msgstr ""
-#: templates/js/translated/stock.js:1358
+#: templates/js/translated/stock.js:1658
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:1372
+#: templates/js/translated/stock.js:1672
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:1373
+#: templates/js/translated/stock.js:1673
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:1512
+#: templates/js/translated/stock.js:1897
msgid "Invalid date"
msgstr ""
-#: templates/js/translated/stock.js:1559
+#: templates/js/translated/stock.js:1919
+msgid "Details"
+msgstr ""
+
+#: templates/js/translated/stock.js:1944
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1578
+#: templates/js/translated/stock.js:1963
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1597
+#: templates/js/translated/stock.js:1982
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1615
+#: templates/js/translated/stock.js:2000
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1638
+#: templates/js/translated/stock.js:2023
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:1646
+#: templates/js/translated/stock.js:2031
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:1687
+#: templates/js/translated/stock.js:2072
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1688
+#: templates/js/translated/stock.js:2073
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:2124
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:1835
-msgid "Serial"
-msgstr ""
-
-#: templates/js/translated/stock.js:1863
+#: templates/js/translated/stock.js:2175
msgid "Uninstall Stock Item"
msgstr ""
@@ -8023,254 +8149,266 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:156
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:172
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:93
+#: templates/js/translated/table_filters.js:105
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:103
-#: templates/js/translated/table_filters.js:104
-#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:115
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:352
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:114
-#: templates/js/translated/table_filters.js:191
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:117
-#: templates/js/translated/table_filters.js:198
-msgid "Serial number GTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:118
-#: templates/js/translated/table_filters.js:199
-msgid "Serial number greater than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:121
-#: templates/js/translated/table_filters.js:202
-msgid "Serial number LTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:122
-#: templates/js/translated/table_filters.js:203
-msgid "Serial number less than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:125
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:195
-msgid "Serial number"
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:387
+msgid "Subscribed"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:212
-msgid "Batch code"
+#: templates/js/translated/table_filters.js:207
+msgid "Is Serialized"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:214
+msgid "Serial number GTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:134
+#: templates/js/translated/table_filters.js:215
+msgid "Serial number greater than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:137
+#: templates/js/translated/table_filters.js:218
+msgid "Serial number LTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:138
+#: templates/js/translated/table_filters.js:219
+msgid "Serial number less than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:141
-#: templates/js/translated/table_filters.js:326
-msgid "Active parts"
-msgstr ""
-
#: templates/js/translated/table_filters.js:142
-msgid "Show stock for active parts"
+#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:211
+msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:147
-msgid "Part is an assembly"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:151
-msgid "Is allocated"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:152
-msgid "Item has been allocated"
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:228
+msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:157
-msgid "Include stock in sublocations"
+#: templates/js/translated/table_filters.js:342
+msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:162
-msgid "Show stock items which are depleted"
+#: templates/js/translated/table_filters.js:158
+msgid "Show stock for active parts"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:163
+msgid "Part is an assembly"
msgstr ""
#: templates/js/translated/table_filters.js:167
+msgid "Is allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:168
+msgid "Item has been allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:173
+msgid "Include stock in sublocations"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:178
+msgid "Show stock items which are depleted"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:183
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:187
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:188
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:176
+#: templates/js/translated/table_filters.js:192
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:177
+#: templates/js/translated/table_filters.js:193
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:197
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:182
+#: templates/js/translated/table_filters.js:198
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:187
+#: templates/js/translated/table_filters.js:203
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:207
-#: templates/js/translated/table_filters.js:208
+#: templates/js/translated/table_filters.js:223
+#: templates/js/translated/table_filters.js:224
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/table_filters.js:232
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:233
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:242
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:248
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:279
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:291
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:307
+#: templates/js/translated/table_filters.js:324
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:296
-#: templates/js/translated/table_filters.js:313
+#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:329
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:337
+#: templates/js/translated/table_filters.js:353
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:341
+#: templates/js/translated/table_filters.js:357
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:342
+#: templates/js/translated/table_filters.js:358
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:347
+#: templates/js/translated/table_filters.js:363
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:355
+#: templates/js/translated/table_filters.js:371
msgid "Stock available"
msgstr ""
-#: templates/js/translated/table_filters.js:371
-msgid "Starred"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:383
+#: templates/js/translated/table_filters.js:399
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/tables.js:366
+#: templates/js/translated/tables.js:368
msgid "Loading data"
msgstr ""
-#: templates/js/translated/tables.js:369
+#: templates/js/translated/tables.js:371
msgid "rows per page"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "Showing"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "to"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "of"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "rows"
msgstr ""
-#: templates/js/translated/tables.js:378
+#: templates/js/translated/tables.js:377 templates/search_form.html:6
+#: templates/search_form.html:7
+msgid "Search"
+msgstr ""
+
+#: templates/js/translated/tables.js:380
msgid "No matching results"
msgstr ""
-#: templates/js/translated/tables.js:381
+#: templates/js/translated/tables.js:383
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/translated/tables.js:384
+#: templates/js/translated/tables.js:386
msgid "Refresh"
msgstr ""
-#: templates/js/translated/tables.js:387
+#: templates/js/translated/tables.js:389
msgid "Toggle"
msgstr ""
-#: templates/js/translated/tables.js:390
+#: templates/js/translated/tables.js:392
msgid "Columns"
msgstr ""
-#: templates/js/translated/tables.js:393
+#: templates/js/translated/tables.js:395
msgid "All"
msgstr ""
-#: templates/navbar.html:19
-msgid "Toggle navigation"
-msgstr ""
-
-#: templates/navbar.html:39
+#: templates/navbar.html:40
msgid "Buy"
msgstr "Inkoop"
-#: templates/navbar.html:51
+#: templates/navbar.html:52
msgid "Sell"
msgstr "Verkoop"
-#: templates/navbar.html:83 users/models.py:39
+#: templates/navbar.html:86 users/models.py:39
msgid "Admin"
msgstr ""
-#: templates/navbar.html:85
+#: templates/navbar.html:88
msgid "Logout"
msgstr ""
-#: templates/navbar.html:106
+#: templates/navbar.html:90
+msgid "Login"
+msgstr ""
+
+#: templates/navbar.html:111
msgid "About InvenTree"
msgstr ""
+#: templates/navbar_demo.html:5
+#, fuzzy
+#| msgid "InvenTree Instance Name"
+msgid "InvenTree demo mode"
+msgstr "Inventree Instantie Naam"
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -8283,6 +8421,10 @@ msgstr ""
msgid "Log in again"
msgstr ""
+#: templates/stats.html:9
+msgid "Server"
+msgstr ""
+
#: templates/stats.html:13
msgid "Instance Name"
msgstr ""
@@ -8336,54 +8478,50 @@ msgid "Export Stock Information"
msgstr ""
#: templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/stock_table.html:27
msgid "Barcode Actions"
msgstr ""
-#: templates/stock_table.html:43
+#: templates/stock_table.html:36
msgid "Print test reports"
msgstr ""
-#: templates/stock_table.html:50
+#: templates/stock_table.html:43
msgid "Stock Options"
msgstr ""
-#: templates/stock_table.html:55
+#: templates/stock_table.html:48
msgid "Add to selected stock items"
msgstr ""
-#: templates/stock_table.html:56
+#: templates/stock_table.html:49
msgid "Remove from selected stock items"
msgstr ""
-#: templates/stock_table.html:57
+#: templates/stock_table.html:50
msgid "Stocktake selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move stock"
msgstr ""
-#: templates/stock_table.html:59
+#: templates/stock_table.html:52
msgid "Order selected items"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change status"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change stock status"
msgstr ""
-#: templates/stock_table.html:63
+#: templates/stock_table.html:56
msgid "Delete selected items"
msgstr ""
@@ -8419,35 +8557,70 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:182
+#: users/models.py:187
msgid "Permission set"
msgstr ""
-#: users/models.py:190
+#: users/models.py:195
msgid "Group"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "View"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "Permission to view items"
msgstr ""
-#: users/models.py:195
+#: users/models.py:200
msgid "Permission to add items"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Change"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:199
+#: users/models.py:204
msgid "Permission to delete items"
msgstr ""
+#~ msgid "Build Order reference"
+#~ msgstr "Bouwopdracht referentie"
+
+#~ msgid "Order target date"
+#~ msgstr "Order streefdatum"
+
+#~ msgid "Confirm unallocation of stock"
+#~ msgstr "Bevestig het ongedaan maken van de toewijzing van voorraad"
+
+#~ msgid "Build output stock status"
+#~ msgstr "Build output voorraad status"
+
+#~ msgid "Confirm incomplete"
+#~ msgstr "Bevestig onvolledigheid"
+
+#~ msgid "Confirm completion with incomplete stock allocation"
+#~ msgstr "Bevestig voltooiing met onvolledige voorraadtoewijzing"
+
+#~ msgid "Confirm build completion"
+#~ msgstr "Bevestig build voltooiing"
+
+#~ msgid "Admin view"
+#~ msgstr "Beheerder weergave"
+
+#~ msgid "Progress"
+#~ msgstr "Voortgang"
+
+#~ msgid "Location Details"
+#~ msgstr "Locatiegegevens"
+
+#~ msgid "Location Description"
+#~ msgstr "Locatieomschrijving"
+
+#~ msgid "Create new location"
+#~ msgstr "Maak nieuwe locatie"
diff --git a/InvenTree/locale/no/LC_MESSAGES/django.mo b/InvenTree/locale/no/LC_MESSAGES/django.mo
new file mode 100644
index 0000000000..f4261a805f
Binary files /dev/null and b/InvenTree/locale/no/LC_MESSAGES/django.mo differ
diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po
index 4d8661bf32..5049e7f43c 100644
--- a/InvenTree/locale/no/LC_MESSAGES/django.po
+++ b/InvenTree/locale/no/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-11 06:21+0000\n"
+"POT-Creation-Date: 2021-11-22 22:08+0000\n"
"PO-Revision-Date: 2021-10-11 06:28\n"
"Last-Translator: \n"
"Language-Team: Norwegian\n"
@@ -33,260 +33,266 @@ msgstr "Ingen samsvarende handling funnet"
msgid "Enter date"
msgstr "Oppgi dato"
-#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123
-#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27
-#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71
-#: part/forms.py:108 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:564
+#: InvenTree/forms.py:120 build/forms.py:48 build/forms.py:69 build/forms.py:93
+#: order/forms.py:26 order/forms.py:37 order/forms.py:48 order/forms.py:59
+#: order/forms.py:70 part/forms.py:108 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:594
msgid "Confirm"
msgstr "Bekreft"
-#: InvenTree/forms.py:132
+#: InvenTree/forms.py:136
msgid "Confirm delete"
msgstr "Bekreft sletting"
-#: InvenTree/forms.py:133
+#: InvenTree/forms.py:137
msgid "Confirm item deletion"
msgstr ""
-#: InvenTree/forms.py:164
+#: InvenTree/forms.py:168
msgid "Enter password"
msgstr "Oppgi passord"
-#: InvenTree/forms.py:165
+#: InvenTree/forms.py:169
msgid "Enter new password"
msgstr "Oppgi nytt passord"
-#: InvenTree/forms.py:172
+#: InvenTree/forms.py:176
msgid "Confirm password"
msgstr "Bekreft passord"
-#: InvenTree/forms.py:173
+#: InvenTree/forms.py:177
msgid "Confirm new password"
msgstr "Bekreft nytt passord"
-#: InvenTree/forms.py:205
+#: InvenTree/forms.py:209
msgid "Select Category"
msgstr "Velg kategori"
-#: InvenTree/forms.py:226
-msgid "E-mail (again)"
-msgstr ""
-
#: InvenTree/forms.py:230
-msgid "E-mail address confirmation"
+msgid "Email (again)"
msgstr ""
-#: InvenTree/forms.py:250
+#: InvenTree/forms.py:234
+msgid "Email address confirmation"
+msgstr ""
+
+#: InvenTree/forms.py:254
msgid "You must type the same email each time."
msgstr ""
-#: InvenTree/helpers.py:401
+#: InvenTree/helpers.py:430
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr "Dupliser serie: {n}"
-#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437
-#: stock/views.py:1340
+#: InvenTree/helpers.py:437 order/models.py:318 order/models.py:440
+#: stock/views.py:1264
msgid "Invalid quantity provided"
msgstr "Ugyldig mengde oppgitt"
-#: InvenTree/helpers.py:411
+#: InvenTree/helpers.py:440
msgid "Empty serial number string"
msgstr "Tom serienummerstreng"
-#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:462 InvenTree/helpers.py:465 InvenTree/helpers.py:468
+#: InvenTree/helpers.py:493
#, python-brace-format
msgid "Invalid group: {g}"
msgstr "Ugyldig gruppe: {g}"
-#: InvenTree/helpers.py:469
+#: InvenTree/helpers.py:498
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr "Dupliser serie: {g}"
-#: InvenTree/helpers.py:477
+#: InvenTree/helpers.py:506
msgid "No serial numbers found"
msgstr "Ingen serienummer funnet"
-#: InvenTree/helpers.py:481
+#: InvenTree/helpers.py:510
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr "Antall unike serienummer ({s}) må samsvare mengde ({q})"
-#: InvenTree/models.py:66 stock/models.py:1823
+#: InvenTree/models.py:109 stock/models.py:1874
msgid "Attachment"
msgstr "Vedlegg"
-#: InvenTree/models.py:67
+#: InvenTree/models.py:110
msgid "Select file to attach"
msgstr "Velg fil å legge ved"
-#: InvenTree/models.py:69 templates/js/translated/attachment.js:87
+#: InvenTree/models.py:112 templates/js/translated/attachment.js:91
msgid "Comment"
msgstr "Kommenter"
-#: InvenTree/models.py:69
+#: InvenTree/models.py:112
msgid "File comment"
msgstr "Kommentar til fil"
-#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055
-#: common/models.py:1056 part/models.py:2055
-#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/translated/stock.js:1669
+#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185
+#: common/models.py:1186 part/models.py:2205 part/models.py:2225
+#: report/templates/report/inventree_test_report_base.html:96
+#: templates/js/translated/stock.js:2054
msgid "User"
msgstr "Bruker"
-#: InvenTree/models.py:79
+#: InvenTree/models.py:122
msgid "upload date"
msgstr "opplastet dato"
-#: InvenTree/models.py:99
+#: InvenTree/models.py:142
msgid "Filename must not be empty"
msgstr ""
-#: InvenTree/models.py:122
+#: InvenTree/models.py:165
msgid "Invalid attachment directory"
msgstr ""
-#: InvenTree/models.py:132
+#: InvenTree/models.py:175
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr ""
-#: InvenTree/models.py:135
+#: InvenTree/models.py:178
msgid "Filename missing extension"
msgstr ""
-#: InvenTree/models.py:142
+#: InvenTree/models.py:185
msgid "Attachment with this filename already exists"
msgstr ""
-#: InvenTree/models.py:149
+#: InvenTree/models.py:192
msgid "Error renaming file"
msgstr ""
-#: InvenTree/models.py:184
+#: InvenTree/models.py:227
msgid "Invalid choice"
msgstr "Ugyldig valg"
-#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415
-#: label/models.py:112 part/models.py:659 part/models.py:2216
-#: part/templates/part/part_base.html:241 report/models.py:181
-#: templates/js/translated/company.js:637 templates/js/translated/part.js:477
-#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141
-#: templates/js/translated/stock.js:1462
+#: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415
+#: label/models.py:112 part/models.py:741 part/models.py:2389
+#: part/templates/part/detail.html:25 report/models.py:181
+#: templates/js/translated/company.js:637 templates/js/translated/part.js:498
+#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272
+#: templates/js/translated/stock.js:1847
msgid "Name"
msgstr "Navn"
-#: InvenTree/models.py:207 build/models.py:189
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/manufacturer_part.html:76
-#: company/templates/company/supplier_part.html:75 label/models.py:119
-#: order/models.py:158 part/models.py:682
-#: part/templates/part/part_base.html:246
+#: InvenTree/models.py:250 build/models.py:207
+#: build/templates/build/detail.html:25 company/models.py:354
+#: company/models.py:570 company/templates/company/manufacturer_part.html:80
+#: company/templates/company/supplier_part.html:81 label/models.py:119
+#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30
#: part/templates/part/set_category.html:14 report/models.py:194
-#: report/models.py:551 report/models.py:590
+#: report/models.py:553 report/models.py:592
#: report/templates/report/inventree_build_order_base.html:118
-#: templates/InvenTree/settings/header.html:9
-#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217
-#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344
+#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214
+#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621
+#: templates/js/translated/company.js:344
#: templates/js/translated/company.js:547
-#: templates/js/translated/company.js:836 templates/js/translated/order.js:672
-#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056
-#: templates/js/translated/part.js:536 templates/js/translated/part.js:724
-#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153
-#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819
-#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519
+#: templates/js/translated/company.js:836 templates/js/translated/order.js:673
+#: templates/js/translated/order.js:833 templates/js/translated/order.js:1069
+#: templates/js/translated/part.js:557 templates/js/translated/part.js:745
+#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291
+#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121
+#: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904
msgid "Description"
msgstr "Beskrivelse"
-#: InvenTree/models.py:208
+#: InvenTree/models.py:251
msgid "Description (optional)"
msgstr "Beskrivelse (valgfritt)"
-#: InvenTree/models.py:216
+#: InvenTree/models.py:259
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:55 part/models.py:2475
+#: InvenTree/serializers.py:62 part/models.py:2674
msgid "Must be a valid number"
msgstr "Nummer må være gyldig"
-#: InvenTree/serializers.py:244
+#: InvenTree/serializers.py:251
msgid "Filename"
msgstr ""
-#: InvenTree/settings.py:529
+#: InvenTree/settings.py:663
msgid "German"
msgstr "Tysk"
-#: InvenTree/settings.py:530
+#: InvenTree/settings.py:664
msgid "Greek"
msgstr "Gresk"
-#: InvenTree/settings.py:531
+#: InvenTree/settings.py:665
msgid "English"
msgstr "Engelsk"
-#: InvenTree/settings.py:532
+#: InvenTree/settings.py:666
msgid "Spanish"
msgstr "Spansk"
-#: InvenTree/settings.py:533
+#: InvenTree/settings.py:667
+msgid "Spanish (Mexican)"
+msgstr ""
+
+#: InvenTree/settings.py:668
msgid "French"
msgstr "Fransk"
-#: InvenTree/settings.py:534
+#: InvenTree/settings.py:669
msgid "Hebrew"
msgstr "Hebraisk"
-#: InvenTree/settings.py:535
+#: InvenTree/settings.py:670
msgid "Italian"
msgstr "Italiensk"
-#: InvenTree/settings.py:536
+#: InvenTree/settings.py:671
msgid "Japanese"
msgstr "Japansk"
-#: InvenTree/settings.py:537
+#: InvenTree/settings.py:672
msgid "Korean"
msgstr "Koreansk"
-#: InvenTree/settings.py:538
+#: InvenTree/settings.py:673
msgid "Dutch"
msgstr "Nederlandsk"
-#: InvenTree/settings.py:539
+#: InvenTree/settings.py:674
msgid "Norwegian"
msgstr "Norsk"
-#: InvenTree/settings.py:540
+#: InvenTree/settings.py:675
msgid "Polish"
msgstr "Polsk"
-#: InvenTree/settings.py:541
+#: InvenTree/settings.py:676
+msgid "Portugese"
+msgstr ""
+
+#: InvenTree/settings.py:677
msgid "Russian"
msgstr "Russisk"
-#: InvenTree/settings.py:542
+#: InvenTree/settings.py:678
msgid "Swedish"
msgstr "Svensk"
-#: InvenTree/settings.py:543
+#: InvenTree/settings.py:679
msgid "Thai"
msgstr "Thailandsk"
-#: InvenTree/settings.py:544
+#: InvenTree/settings.py:680
msgid "Turkish"
msgstr "Tyrkisk"
-#: InvenTree/settings.py:545
+#: InvenTree/settings.py:681
msgid "Vietnamese"
msgstr "Vietnamesisk"
-#: InvenTree/settings.py:546
+#: InvenTree/settings.py:682
msgid "Chinese"
msgstr "Kinesisk"
@@ -302,196 +308,196 @@ msgstr ""
msgid "InvenTree system health checks failed"
msgstr ""
-#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145
-#: InvenTree/status_codes.py:314
+#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142
+#: InvenTree/status_codes.py:311
msgid "Pending"
msgstr ""
-#: InvenTree/status_codes.py:105
+#: InvenTree/status_codes.py:102
msgid "Placed"
msgstr ""
-#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317
+#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:314
msgid "Complete"
msgstr ""
-#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147
-#: InvenTree/status_codes.py:316
+#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144
+#: InvenTree/status_codes.py:313
msgid "Cancelled"
msgstr ""
-#: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148
-#: InvenTree/status_codes.py:190
+#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145
+#: InvenTree/status_codes.py:187
msgid "Lost"
msgstr ""
-#: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149
-#: InvenTree/status_codes.py:192
+#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146
+#: InvenTree/status_codes.py:189
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:146
-#: order/templates/order/sales_order_base.html:131
+#: InvenTree/status_codes.py:143
+#: order/templates/order/sales_order_base.html:147
msgid "Shipped"
msgstr ""
-#: InvenTree/status_codes.py:186
+#: InvenTree/status_codes.py:183
msgid "OK"
msgstr ""
-#: InvenTree/status_codes.py:187
+#: InvenTree/status_codes.py:184
msgid "Attention needed"
msgstr ""
-#: InvenTree/status_codes.py:188
+#: InvenTree/status_codes.py:185
msgid "Damaged"
msgstr ""
-#: InvenTree/status_codes.py:189
+#: InvenTree/status_codes.py:186
msgid "Destroyed"
msgstr ""
-#: InvenTree/status_codes.py:191
+#: InvenTree/status_codes.py:188
msgid "Rejected"
msgstr ""
-#: InvenTree/status_codes.py:272
+#: InvenTree/status_codes.py:269
msgid "Legacy stock tracking entry"
msgstr ""
-#: InvenTree/status_codes.py:274
+#: InvenTree/status_codes.py:271
msgid "Stock item created"
msgstr ""
-#: InvenTree/status_codes.py:276
+#: InvenTree/status_codes.py:273
msgid "Edited stock item"
msgstr ""
-#: InvenTree/status_codes.py:277
+#: InvenTree/status_codes.py:274
msgid "Assigned serial number"
msgstr ""
-#: InvenTree/status_codes.py:279
+#: InvenTree/status_codes.py:276
msgid "Stock counted"
msgstr ""
-#: InvenTree/status_codes.py:280
+#: InvenTree/status_codes.py:277
msgid "Stock manually added"
msgstr ""
-#: InvenTree/status_codes.py:281
+#: InvenTree/status_codes.py:278
msgid "Stock manually removed"
msgstr ""
-#: InvenTree/status_codes.py:283
+#: InvenTree/status_codes.py:280
msgid "Location changed"
msgstr ""
-#: InvenTree/status_codes.py:285
+#: InvenTree/status_codes.py:282
msgid "Installed into assembly"
msgstr ""
-#: InvenTree/status_codes.py:286
+#: InvenTree/status_codes.py:283
msgid "Removed from assembly"
msgstr ""
-#: InvenTree/status_codes.py:288
+#: InvenTree/status_codes.py:285
msgid "Installed component item"
msgstr ""
-#: InvenTree/status_codes.py:289
+#: InvenTree/status_codes.py:286
msgid "Removed component item"
msgstr ""
-#: InvenTree/status_codes.py:291
+#: InvenTree/status_codes.py:288
msgid "Split from parent item"
msgstr ""
-#: InvenTree/status_codes.py:292
+#: InvenTree/status_codes.py:289
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186
+#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202
msgid "Sent to customer"
msgstr ""
-#: InvenTree/status_codes.py:295
+#: InvenTree/status_codes.py:292
msgid "Returned from customer"
msgstr ""
-#: InvenTree/status_codes.py:297
+#: InvenTree/status_codes.py:294
msgid "Build order output created"
msgstr ""
-#: InvenTree/status_codes.py:298
+#: InvenTree/status_codes.py:295
msgid "Build order output completed"
msgstr ""
-#: InvenTree/status_codes.py:300
+#: InvenTree/status_codes.py:297
msgid "Received against purchase order"
msgstr ""
-#: InvenTree/status_codes.py:315
+#: InvenTree/status_codes.py:312
msgid "Production"
msgstr ""
-#: InvenTree/validators.py:22
+#: InvenTree/validators.py:23
msgid "Not a valid currency code"
msgstr ""
-#: InvenTree/validators.py:50
+#: InvenTree/validators.py:51
msgid "Invalid character in part name"
msgstr ""
-#: InvenTree/validators.py:63
+#: InvenTree/validators.py:64
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr ""
-#: InvenTree/validators.py:77 InvenTree/validators.py:91
-#: InvenTree/validators.py:105
+#: InvenTree/validators.py:78 InvenTree/validators.py:92
+#: InvenTree/validators.py:106
#, python-brace-format
msgid "Reference must match pattern {pattern}"
msgstr ""
-#: InvenTree/validators.py:113
+#: InvenTree/validators.py:114
#, python-brace-format
msgid "Illegal character in name ({x})"
msgstr ""
-#: InvenTree/validators.py:132 InvenTree/validators.py:148
+#: InvenTree/validators.py:133 InvenTree/validators.py:149
msgid "Overage value must not be negative"
msgstr ""
-#: InvenTree/validators.py:150
+#: InvenTree/validators.py:151
msgid "Overage must not exceed 100%"
msgstr ""
-#: InvenTree/validators.py:157
+#: InvenTree/validators.py:158
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:616
+#: InvenTree/views.py:536
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:665
+#: InvenTree/views.py:585
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:710
+#: InvenTree/views.py:630
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:954 templates/navbar.html:97
+#: InvenTree/views.py:863 templates/navbar.html:101
msgid "System Information"
msgstr ""
@@ -535,599 +541,566 @@ msgstr ""
msgid "Barcode associated with StockItem"
msgstr ""
-#: build/api.py:213
-msgid "Matching build order does not exist"
-msgstr ""
-
-#: build/forms.py:37
-msgid "Build Order reference"
-msgstr ""
-
-#: build/forms.py:38
-msgid "Order target date"
-msgstr ""
-
-#: build/forms.py:42 build/templates/build/build_base.html:146
-#: build/templates/build/detail.html:124
-#: order/templates/order/order_base.html:124
-#: order/templates/order/sales_order_base.html:124
-#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689
-#: templates/js/translated/order.js:1074
-msgid "Target Date"
-msgstr ""
-
-#: build/forms.py:43 build/models.py:279
-msgid "Target date for build completion. Build will be overdue after this date."
-msgstr ""
-
-#: build/forms.py:48 build/forms.py:90 build/models.py:1281
-#: build/templates/build/allocation_card.html:23
-#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:1087
-#: company/forms.py:42 company/templates/company/supplier_part.html:226
-#: order/forms.py:101 order/forms.py:123 order/models.py:720
-#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249
-#: part/forms.py:265 part/forms.py:281 part/models.py:2377
+#: build/forms.py:36 build/models.py:1283
+#: build/templates/build/build_base.html:124
+#: build/templates/build/detail.html:35 common/models.py:1225
+#: company/forms.py:42 company/templates/company/supplier_part.html:251
+#: order/forms.py:102 order/models.py:729 order/models.py:991
+#: order/templates/order/order_wizard/match_parts.html:30
+#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237
+#: part/forms.py:253 part/forms.py:269 part/models.py:2576
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030
+#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
-#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:140 stock/templates/stock/item_base.html:269
-#: stock/templates/stock/stock_adjust.html:18
-#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264
-#: templates/js/translated/build.js:314 templates/js/translated/build.js:638
-#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515
-#: templates/js/translated/model_renderers.js:74
-#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170
-#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444
-#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487
-#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654
-#: templates/js/translated/stock.js:1829
+#: report/templates/report/inventree_test_report_base.html:81
+#: report/templates/report/inventree_test_report_base.html:139
+#: stock/forms.py:156 stock/serializers.py:286
+#: stock/templates/stock/item_base.html:256
+#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441
+#: templates/js/translated/build.js:235 templates/js/translated/build.js:435
+#: templates/js/translated/build.js:629 templates/js/translated/build.js:639
+#: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362
+#: templates/js/translated/model_renderers.js:99
+#: templates/js/translated/order.js:870 templates/js/translated/order.js:1183
+#: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268
+#: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457
+#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626
+#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347
+#: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141
msgid "Quantity"
msgstr ""
-#: build/forms.py:49
-msgid "Number of items to build"
-msgstr ""
-
-#: build/forms.py:91
+#: build/forms.py:37
msgid "Enter quantity for build output"
msgstr ""
-#: build/forms.py:95 order/forms.py:95 stock/forms.py:83
+#: build/forms.py:41 order/forms.py:96 stock/forms.py:95
+#: stock/serializers.py:307 templates/js/translated/stock.js:194
+#: templates/js/translated/stock.js:348
msgid "Serial Numbers"
msgstr ""
-#: build/forms.py:97
+#: build/forms.py:43
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/forms.py:103
+#: build/forms.py:49
msgid "Confirm creation of build output"
msgstr ""
-#: build/forms.py:124
+#: build/forms.py:70
msgid "Confirm deletion of build output"
msgstr ""
-#: build/forms.py:145
-msgid "Confirm unallocation of stock"
-msgstr ""
-
-#: build/forms.py:174
+#: build/forms.py:94
msgid "Mark build as complete"
msgstr ""
-#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284
-#: stock/forms.py:280 stock/serializers.py:553
-#: stock/templates/stock/item_base.html:299
-#: stock/templates/stock/stock_adjust.html:17
-#: templates/js/translated/barcode.js:385
-#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299
-#: templates/js/translated/build.js:650 templates/js/translated/order.js:347
-#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263
-#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179
-#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921
-#: templates/js/translated/stock.js:1546
-msgid "Location"
-msgstr ""
-
-#: build/forms.py:199
-msgid "Location of completed parts"
-msgstr ""
-
-#: build/forms.py:203 build/templates/build/build_base.html:138
-#: build/templates/build/detail.html:62 order/models.py:563
-#: order/serializers.py:238 stock/templates/stock/item_base.html:422
-#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251
-#: templates/js/translated/order.js:430 templates/js/translated/order.js:676
-#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896
-#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845
-msgid "Status"
-msgstr ""
-
-#: build/forms.py:204
-msgid "Build output stock status"
-msgstr ""
-
-#: build/forms.py:211
-msgid "Confirm incomplete"
-msgstr ""
-
-#: build/forms.py:212
-msgid "Confirm completion with incomplete stock allocation"
-msgstr ""
-
-#: build/forms.py:215
-msgid "Confirm build completion"
-msgstr ""
-
-#: build/forms.py:240
+#: build/forms.py:107
msgid "Confirm cancel"
msgstr ""
-#: build/forms.py:240 build/views.py:65
+#: build/forms.py:107 build/views.py:65
msgid "Confirm build cancellation"
msgstr ""
-#: build/models.py:115
+#: build/models.py:133
msgid "Invalid choice for parent build"
msgstr ""
-#: build/models.py:119 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:73
+#: build/models.py:137 build/templates/build/build_base.html:9
+#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:276
+#: templates/js/translated/build.js:397
msgid "Build Order"
msgstr ""
-#: build/models.py:120 build/templates/build/index.html:8
-#: build/templates/build/index.html:15
-#: order/templates/order/sales_order_detail.html:34
-#: order/templates/order/so_navbar.html:19
-#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50
-#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229
-#: templates/InvenTree/search.html:171
-#: templates/InvenTree/settings/navbar.html:113
-#: templates/InvenTree/settings/navbar.html:115 users/models.py:44
+#: build/models.py:138 build/templates/build/build_base.html:13
+#: build/templates/build/index.html:8 build/templates/build/index.html:12
+#: order/templates/order/sales_order_detail.html:42
+#: templates/InvenTree/index.html:221 templates/InvenTree/search.html:145
+#: users/models.py:44
msgid "Build Orders"
msgstr ""
-#: build/models.py:180
+#: build/models.py:198
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:181 order/models.py:246 order/models.py:547
-#: order/models.py:727 part/models.py:2386
+#: build/models.py:199 order/models.py:249 order/models.py:556
+#: order/models.py:736 part/models.py:2585
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734
-#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863
-#: templates/js/translated/order.js:1438
+#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119
+#: templates/js/translated/order.js:864 templates/js/translated/order.js:1451
msgid "Reference"
msgstr ""
-#: build/models.py:192
+#: build/models.py:210
msgid "Brief description of the build"
msgstr ""
-#: build/models.py:201 build/templates/build/build_base.html:163
-#: build/templates/build/detail.html:80
+#: build/models.py:219 build/templates/build/build_base.html:156
+#: build/templates/build/detail.html:88
msgid "Parent Build"
msgstr ""
-#: build/models.py:202
+#: build/models.py:220
msgid "BuildOrder to which this build is allocated"
msgstr ""
-#: build/models.py:207 build/templates/build/build_base.html:128
-#: build/templates/build/detail.html:29 company/models.py:705
-#: order/models.py:780 order/models.py:851
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298
-#: part/models.py:2000 part/models.py:2016 part/models.py:2035
-#: part/models.py:2053 part/models.py:2132 part/models.py:2254
-#: part/models.py:2361 part/templates/part/detail.html:199
+#: build/models.py:225 build/templates/build/build_base.html:119
+#: build/templates/build/detail.html:30 company/models.py:705
+#: order/models.py:789 order/models.py:860
+#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357
+#: part/models.py:2151 part/models.py:2167 part/models.py:2186
+#: part/models.py:2203 part/models.py:2305 part/models.py:2427
+#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
-#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384
-#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611
-#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222
-#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488
-#: templates/js/translated/company.js:745 templates/js/translated/order.js:425
-#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422
-#: templates/js/translated/part.js:705 templates/js/translated/part.js:875
-#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776
-#: templates/js/translated/stock.js:1817
+#: templates/InvenTree/search.html:86
+#: templates/email/build_order_required_stock.html:17
+#: templates/email/low_stock_notification.html:16
+#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213
+#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620
+#: templates/js/translated/build.js:988 templates/js/translated/build.js:1359
+#: templates/js/translated/build.js:1626 templates/js/translated/company.js:488
+#: templates/js/translated/company.js:745 templates/js/translated/order.js:426
+#: templates/js/translated/order.js:818 templates/js/translated/order.js:1435
+#: templates/js/translated/part.js:726 templates/js/translated/part.js:892
+#: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:2129
msgid "Part"
msgstr ""
-#: build/models.py:215
+#: build/models.py:233
msgid "Select part to build"
msgstr ""
-#: build/models.py:220
+#: build/models.py:238
msgid "Sales Order Reference"
msgstr ""
-#: build/models.py:224
+#: build/models.py:242
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:229 templates/js/translated/build.js:962
+#: build/models.py:247 templates/js/translated/build.js:1347
msgid "Source Location"
msgstr ""
-#: build/models.py:233
+#: build/models.py:251
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr ""
-#: build/models.py:238
+#: build/models.py:256
msgid "Destination Location"
msgstr ""
-#: build/models.py:242
+#: build/models.py:260
msgid "Select location where the completed items will be stored"
msgstr ""
-#: build/models.py:246
+#: build/models.py:264
msgid "Build Quantity"
msgstr ""
-#: build/models.py:249
+#: build/models.py:267
msgid "Number of stock items to build"
msgstr ""
-#: build/models.py:253
+#: build/models.py:271
msgid "Completed items"
msgstr ""
-#: build/models.py:255
+#: build/models.py:273
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:259 part/templates/part/part_base.html:198
+#: build/models.py:277 part/templates/part/part_base.html:216
msgid "Build Status"
msgstr ""
-#: build/models.py:263
+#: build/models.py:281
msgid "Build status code"
msgstr ""
-#: build/models.py:267 stock/models.py:513
+#: build/models.py:285 stock/models.py:544
msgid "Batch Code"
msgstr ""
-#: build/models.py:271
+#: build/models.py:289
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:274 order/models.py:162 part/models.py:854
-#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069
+#: build/models.py:292 order/models.py:165 part/models.py:936
+#: part/templates/part/detail.html:86 templates/js/translated/order.js:1082
msgid "Creation Date"
msgstr ""
-#: build/models.py:278 order/models.py:569
+#: build/models.py:296 order/models.py:578
msgid "Target completion date"
msgstr ""
-#: build/models.py:282 order/models.py:288
-#: templates/js/translated/build.js:1293
+#: build/models.py:297
+msgid "Target date for build completion. Build will be overdue after this date."
+msgstr ""
+
+#: build/models.py:300 order/models.py:291
+#: templates/js/translated/build.js:1697
msgid "Completion Date"
msgstr ""
-#: build/models.py:288
+#: build/models.py:306
msgid "completed by"
msgstr ""
-#: build/models.py:296 templates/js/translated/build.js:1264
+#: build/models.py:314 templates/js/translated/build.js:1668
msgid "Issued by"
msgstr ""
-#: build/models.py:297
+#: build/models.py:315
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:305 build/templates/build/build_base.html:184
-#: build/templates/build/detail.html:108 order/models.py:176
-#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:145 part/models.py:858
+#: build/models.py:323 build/templates/build/build_base.html:177
+#: build/templates/build/detail.html:116 order/models.py:179
+#: order/templates/order/order_base.html:154
+#: order/templates/order/sales_order_base.html:161 part/models.py:940
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1680
msgid "Responsible"
msgstr ""
-#: build/models.py:306
+#: build/models.py:324
msgid "User responsible for this build order"
msgstr ""
-#: build/models.py:311 build/templates/build/detail.html:94
-#: company/templates/company/manufacturer_part.html:83
-#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:266 stock/models.py:507
-#: stock/templates/stock/item_base.html:359
+#: build/models.py:329 build/templates/build/detail.html:102
+#: company/templates/company/manufacturer_part.html:87
+#: company/templates/company/supplier_part.html:88
+#: part/templates/part/detail.html:80 stock/models.py:538
+#: stock/templates/stock/item_base.html:346
msgid "External Link"
msgstr ""
-#: build/models.py:312 part/models.py:716 stock/models.py:509
+#: build/models.py:330 part/models.py:798 stock/models.py:540
msgid "Link to external URL"
msgstr ""
-#: build/models.py:316 build/templates/build/navbar.html:52
-#: company/models.py:142 company/models.py:577
-#: company/templates/company/navbar.html:69
-#: company/templates/company/navbar.html:72 order/models.py:180
-#: order/models.py:729 order/templates/order/po_navbar.html:38
-#: order/templates/order/po_navbar.html:41
-#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:843
-#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120
-#: part/templates/part/navbar.html:123
+#: build/models.py:334 build/serializers.py:201 company/models.py:142
+#: company/models.py:577 order/models.py:183 order/models.py:738
+#: part/models.py:925 part/templates/part/detail.html:223
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579
-#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451
-#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59
-#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841
-#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540
-#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040
+#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610
+#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325
+#: stock/serializers.py:584 templates/js/translated/barcode.js:58
+#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841
+#: templates/js/translated/order.js:963 templates/js/translated/order.js:1561
+#: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340
msgid "Notes"
msgstr ""
-#: build/models.py:317
+#: build/models.py:335
msgid "Extra build notes"
msgstr ""
-#: build/models.py:714
+#: build/models.py:710
msgid "No build output specified"
msgstr ""
-#: build/models.py:717
+#: build/models.py:713
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:720
+#: build/models.py:716
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1102
+#: build/models.py:1108
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1111
+#: build/models.py:1117
#, python-brace-format
msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1121
+#: build/models.py:1127
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1127 order/models.py:955
+#: build/models.py:1133 order/models.py:964
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1133
+#: build/models.py:1139
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1191
+#: build/models.py:1193
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1251 stock/templates/stock/item_base.html:331
-#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195
-#: templates/navbar.html:35
+#: build/models.py:1253 stock/templates/stock/item_base.html:318
+#: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599
+#: templates/navbar.html:33
msgid "Build"
msgstr ""
-#: build/models.py:1252
+#: build/models.py:1254
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1268 build/serializers.py:151
+#: build/models.py:1270 build/serializers.py:328
#: stock/templates/stock/item_base.html:8
-#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:353
-#: stock/templates/stock/stock_adjust.html:16
-#: templates/js/translated/build.js:287 templates/js/translated/build.js:292
-#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148
-#: templates/js/translated/stock.js:1605
+#: stock/templates/stock/item_base.html:16
+#: stock/templates/stock/item_base.html:340
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:413
+#: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742
+#: templates/js/translated/order.js:1156 templates/js/translated/order.js:1161
+#: templates/js/translated/stock.js:1990
msgid "Stock Item"
msgstr ""
-#: build/models.py:1269
+#: build/models.py:1271
msgid "Source stock item"
msgstr ""
-#: build/models.py:1282
+#: build/models.py:1284
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1290
+#: build/models.py:1292
msgid "Install into"
msgstr ""
-#: build/models.py:1291
+#: build/models.py:1293
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:133 part/models.py:2501
-msgid "BOM Item"
-msgstr ""
-
-#: build/serializers.py:142
-msgid "bom_item.part must point to the same part as the build order"
-msgstr ""
-
-#: build/serializers.py:157
-msgid "Item must be in stock"
-msgstr ""
-
-#: build/serializers.py:171 order/models.py:313 order/serializers.py:231
-#: stock/models.py:351 stock/models.py:1072
-msgid "Quantity must be greater than zero"
-msgstr ""
-
-#: build/serializers.py:180
+#: build/serializers.py:137 build/serializers.py:357
msgid "Build Output"
msgstr ""
+#: build/serializers.py:146
+msgid "Build output does not match the parent build"
+msgstr ""
+
+#: build/serializers.py:150
+msgid "Output part does not match BuildOrder part"
+msgstr ""
+
+#: build/serializers.py:154
+msgid "This build output has already been completed"
+msgstr ""
+
+#: build/serializers.py:158
+msgid "This build output is not fully allocated"
+msgstr ""
+
+#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285
+#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686
+#: stock/templates/stock/item_base.html:286
+#: templates/js/translated/barcode.js:384
+#: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420
+#: templates/js/translated/build.js:1027 templates/js/translated/order.js:348
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1276
+#: templates/js/translated/order.js:1282 templates/js/translated/part.js:180
+#: templates/js/translated/stock.js:480 templates/js/translated/stock.js:1221
+#: templates/js/translated/stock.js:1931
+msgid "Location"
+msgstr ""
+
+#: build/serializers.py:191
+msgid "Location for completed build outputs"
+msgstr ""
+
+#: build/serializers.py:197 build/templates/build/build_base.html:129
+#: build/templates/build/detail.html:63 order/models.py:572
+#: order/serializers.py:238 stock/templates/stock/item_base.html:409
+#: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655
+#: templates/js/translated/order.js:431 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196
+#: templates/js/translated/stock.js:2008 templates/js/translated/stock.js:2157
+msgid "Status"
+msgstr ""
+
#: build/serializers.py:213
+msgid "A list of build outputs must be provided"
+msgstr ""
+
+#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700
+#: part/models.py:2859
+msgid "BOM Item"
+msgstr ""
+
+#: build/serializers.py:269
+msgid "Build output"
+msgstr ""
+
+#: build/serializers.py:278
+msgid "Build output must point to the same build"
+msgstr ""
+
+#: build/serializers.py:319
+msgid "bom_item.part must point to the same part as the build order"
+msgstr ""
+
+#: build/serializers.py:334
+msgid "Item must be in stock"
+msgstr ""
+
+#: build/serializers.py:348 order/models.py:316 order/serializers.py:231
+#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298
+msgid "Quantity must be greater than zero"
+msgstr ""
+
+#: build/serializers.py:390
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:219
+#: build/serializers.py:396
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:226
+#: build/serializers.py:403
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:254
+#: build/serializers.py:431
msgid "Allocation items must be provided"
msgstr ""
-#: build/templates/build/allocation_card.html:21
-#: build/templates/build/complete_output.html:46
-#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:501 stock/templates/stock/item_base.html:251
-#: templates/js/translated/build.js:636
-#: templates/js/translated/model_renderers.js:72
-#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342
-msgid "Serial Number"
+#: build/tasks.py:92
+msgid "Stock required for build order"
msgstr ""
-#: build/templates/build/build_base.html:18
+#: build/templates/build/build_base.html:39
+#: order/templates/order/order_base.html:28
+#: order/templates/order/sales_order_base.html:38
+msgid "Print actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:43
+msgid "Print build order report"
+msgstr ""
+
+#: build/templates/build/build_base.html:50
+msgid "Build actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:54
+msgid "Edit Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:56
+#: build/templates/build/build_base.html:207 build/views.py:56
+msgid "Cancel Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:59
+msgid "Delete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:64
+#: build/templates/build/build_base.html:65
+#: build/templates/build/build_base.html:223
+msgid "Complete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:79
#, python-format
msgid "This Build Order is allocated to Sales Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:25
+#: build/templates/build/build_base.html:86
#, python-format
msgid "This Build Order is a child of Build Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:32
+#: build/templates/build/build_base.html:93
msgid "Build Order is ready to mark as completed"
msgstr ""
-#: build/templates/build/build_base.html:37
+#: build/templates/build/build_base.html:98
msgid "Build Order cannot be completed as outstanding outputs remain"
msgstr ""
-#: build/templates/build/build_base.html:42
+#: build/templates/build/build_base.html:103
msgid "Required build quantity has not yet been completed"
msgstr ""
-#: build/templates/build/build_base.html:47
+#: build/templates/build/build_base.html:108
msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
-#: build/templates/build/build_base.html:75
-#: company/templates/company/company_base.html:40
-#: company/templates/company/manufacturer_part.html:29
-#: company/templates/company/supplier_part.html:30
-#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:30
-#: stock/templates/stock/item_base.html:62
-#: stock/templates/stock/location.html:31
-msgid "Admin view"
+#: build/templates/build/build_base.html:138
+#: build/templates/build/detail.html:132
+#: order/templates/order/order_base.html:140
+#: order/templates/order/sales_order_base.html:140
+#: report/templates/report/inventree_build_order_base.html:126
+#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690
+#: templates/js/translated/order.js:1087
+msgid "Target Date"
msgstr ""
-#: build/templates/build/build_base.html:81
-#: build/templates/build/build_base.html:150
-#: order/templates/order/order_base.html:32
-#: order/templates/order/order_base.html:86
-#: order/templates/order/sales_order_base.html:43
-#: order/templates/order/sales_order_base.html:93
-#: templates/js/translated/table_filters.js:272
-#: templates/js/translated/table_filters.js:300
-#: templates/js/translated/table_filters.js:317
-msgid "Overdue"
-msgstr ""
-
-#: build/templates/build/build_base.html:90
-msgid "Print actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:94
-msgid "Print Build Order"
-msgstr ""
-
-#: build/templates/build/build_base.html:100
-#: build/templates/build/build_base.html:222
-msgid "Complete Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:105
-msgid "Build actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:109
-msgid "Edit Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:111
-#: build/templates/build/build_base.html:206 build/views.py:56
-msgid "Cancel Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:114
-msgid "Delete Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:124
-#: build/templates/build/detail.html:15
-msgid "Build Details"
-msgstr ""
-
-#: build/templates/build/build_base.html:150
+#: build/templates/build/build_base.html:143
#, python-format
msgid "This build was due on %(target)s"
msgstr ""
-#: build/templates/build/build_base.html:157
-#: build/templates/build/detail.html:67
-msgid "Progress"
+#: build/templates/build/build_base.html:143
+#: build/templates/build/build_base.html:188
+#: order/templates/order/order_base.html:81
+#: order/templates/order/order_base.html:102
+#: order/templates/order/sales_order_base.html:78
+#: order/templates/order/sales_order_base.html:107
+#: templates/js/translated/table_filters.js:288
+#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:333
+msgid "Overdue"
msgstr ""
-#: build/templates/build/build_base.html:170
-#: build/templates/build/detail.html:87 order/models.py:848
+#: build/templates/build/build_base.html:150
+#: build/templates/build/detail.html:68 build/templates/build/detail.html:143
+#: templates/js/translated/build.js:1641
+#: templates/js/translated/table_filters.js:298
+msgid "Completed"
+msgstr ""
+
+#: build/templates/build/build_base.html:163
+#: build/templates/build/detail.html:95 order/models.py:857
#: order/templates/order/sales_order_base.html:9
-#: order/templates/order/sales_order_base.html:35
+#: order/templates/order/sales_order_base.html:28
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:293
-#: templates/js/translated/order.js:1016
+#: stock/templates/stock/item_base.html:280
+#: templates/js/translated/order.js:1029
msgid "Sales Order"
msgstr ""
-#: build/templates/build/build_base.html:177
-#: build/templates/build/detail.html:101
+#: build/templates/build/build_base.html:170
+#: build/templates/build/detail.html:109
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:214
+#: build/templates/build/build_base.html:215
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:215
+#: build/templates/build/build_base.html:216
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
@@ -1175,220 +1148,195 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/templates/build/complete_output.html:10
-msgid "Stock allocation is complete for this output"
+#: build/templates/build/detail.html:16
+msgid "Build Details"
msgstr ""
-#: build/templates/build/complete_output.html:14
-msgid "Stock allocation is incomplete"
-msgstr ""
-
-#: build/templates/build/complete_output.html:20
-msgid "tracked parts have not been fully allocated"
-msgstr ""
-
-#: build/templates/build/complete_output.html:41
-msgid "The following items will be created"
-msgstr ""
-
-#: build/templates/build/detail.html:38
+#: build/templates/build/detail.html:39
msgid "Stock Source"
msgstr ""
-#: build/templates/build/detail.html:43
+#: build/templates/build/detail.html:44
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134
-#: templates/js/translated/order.js:431 templates/js/translated/order.js:939
+#: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150
+#: templates/js/translated/order.js:432 templates/js/translated/order.js:952
msgid "Destination"
msgstr ""
-#: build/templates/build/detail.html:56
+#: build/templates/build/detail.html:57
msgid "Destination location not specified"
msgstr ""
-#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:317
-#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852
-#: templates/js/translated/table_filters.js:129
-#: templates/js/translated/table_filters.js:211
+#: build/templates/build/detail.html:74 templates/js/translated/build.js:647
+msgid "Allocated Parts"
+msgstr ""
+
+#: build/templates/build/detail.html:81
+#: stock/templates/stock/item_base.html:304
+#: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164
+#: templates/js/translated/table_filters.js:145
+#: templates/js/translated/table_filters.js:227
msgid "Batch"
msgstr ""
-#: build/templates/build/detail.html:119
-#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:118
-#: templates/js/translated/build.js:1259
+#: build/templates/build/detail.html:127
+#: order/templates/order/order_base.html:127
+#: order/templates/order/sales_order_base.html:134
+#: templates/js/translated/build.js:1663
msgid "Created"
msgstr ""
-#: build/templates/build/detail.html:130
+#: build/templates/build/detail.html:138
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237
-#: templates/js/translated/table_filters.js:282
-msgid "Completed"
-msgstr ""
-
-#: build/templates/build/detail.html:139
+#: build/templates/build/detail.html:147
msgid "Build not complete"
msgstr ""
-#: build/templates/build/detail.html:150 build/templates/build/navbar.html:35
+#: build/templates/build/detail.html:158
msgid "Child Build Orders"
msgstr ""
-#: build/templates/build/detail.html:166
+#: build/templates/build/detail.html:173
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:172
-msgid "Allocate stock to build"
-msgstr ""
-
-#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20
-#: build/templates/build/navbar.html:23
-msgid "Allocate Stock"
-msgstr ""
-
-#: build/templates/build/detail.html:175 templates/js/translated/build.js:817
+#: build/templates/build/detail.html:177 templates/js/translated/build.js:1202
msgid "Unallocate stock"
msgstr ""
-#: build/templates/build/detail.html:176 build/views.py:257
+#: build/templates/build/detail.html:178
msgid "Unallocate Stock"
msgstr ""
-#: build/templates/build/detail.html:179
+#: build/templates/build/detail.html:180
+msgid "Allocate stock to build"
+msgstr ""
+
+#: build/templates/build/detail.html:181
+msgid "Allocate Stock"
+msgstr ""
+
+#: build/templates/build/detail.html:184
msgid "Order required parts"
msgstr ""
-#: build/templates/build/detail.html:180
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72 order/views.py:509
-#: part/templates/part/category.html:140
+#: build/templates/build/detail.html:185
+#: company/templates/company/detail.html:38
+#: company/templates/company/detail.html:85 order/views.py:509
+#: part/templates/part/category.html:166
msgid "Order Parts"
msgstr ""
-#: build/templates/build/detail.html:186
+#: build/templates/build/detail.html:197
msgid "Untracked stock has been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:190
+#: build/templates/build/detail.html:201
msgid "Untracked stock has not been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:197
+#: build/templates/build/detail.html:208
msgid "Allocate selected items"
msgstr ""
-#: build/templates/build/detail.html:209
+#: build/templates/build/detail.html:218
msgid "This Build Order does not have any associated untracked BOM items"
msgstr ""
-#: build/templates/build/detail.html:218
+#: build/templates/build/detail.html:227
msgid "Incomplete Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:223
+#: build/templates/build/detail.html:231
msgid "Create new build output"
msgstr ""
-#: build/templates/build/detail.html:224
-msgid "Create New Output"
+#: build/templates/build/detail.html:232
+msgid "New Build Output"
msgstr ""
-#: build/templates/build/detail.html:237
-msgid "Create a new build output"
+#: build/templates/build/detail.html:246
+msgid "Output Actions"
msgstr ""
-#: build/templates/build/detail.html:238
-msgid "No incomplete build outputs remain."
+#: build/templates/build/detail.html:250
+msgid "Complete selected items"
msgstr ""
-#: build/templates/build/detail.html:239
-msgid "Create a new build output using the button above"
+#: build/templates/build/detail.html:251
+msgid "Complete outputs"
msgstr ""
-#: build/templates/build/detail.html:247
+#: build/templates/build/detail.html:266
msgid "Completed Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42
-#: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35
-#: order/templates/order/sales_order_detail.html:43
-#: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173
-#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117
-#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47
-#: stock/templates/stock/navbar.html:50
+#: build/templates/build/detail.html:278
+#: order/templates/order/purchase_order_detail.html:60
+#: order/templates/order/sales_order_detail.html:52
+#: part/templates/part/detail.html:300 stock/templates/stock/item.html:95
msgid "Attachments"
msgstr ""
-#: build/templates/build/detail.html:269
+#: build/templates/build/detail.html:294
msgid "Build Notes"
msgstr ""
-#: build/templates/build/detail.html:273 build/templates/build/detail.html:414
-#: company/templates/company/detail.html:169
-#: company/templates/company/detail.html:196
-#: order/templates/order/purchase_order_detail.html:71
-#: order/templates/order/purchase_order_detail.html:104
-#: order/templates/order/sales_order_detail.html:58
-#: order/templates/order/sales_order_detail.html:85
-#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103
-#: stock/templates/stock/item.html:188
+#: build/templates/build/detail.html:298 build/templates/build/detail.html:489
+#: company/templates/company/detail.html:188
+#: company/templates/company/detail.html:215
+#: order/templates/order/purchase_order_detail.html:80
+#: order/templates/order/purchase_order_detail.html:108
+#: order/templates/order/sales_order_detail.html:72
+#: order/templates/order/sales_order_detail.html:99
+#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115
+#: stock/templates/stock/item.html:205
msgid "Edit Notes"
msgstr ""
-#: build/templates/build/detail.html:373
-#: order/templates/order/po_attachments.html:79
-#: order/templates/order/purchase_order_detail.html:166
-#: order/templates/order/sales_order_detail.html:146
-#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253
-#: templates/attachment_table.html:6
+#: build/templates/build/detail.html:448
+#: order/templates/order/purchase_order_detail.html:170
+#: order/templates/order/sales_order_detail.html:160
+#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270
+#: templates/attachment_button.html:4
msgid "Add Attachment"
msgstr ""
-#: build/templates/build/detail.html:392
-#: order/templates/order/po_attachments.html:51
-#: order/templates/order/purchase_order_detail.html:138
-#: order/templates/order/sales_order_detail.html:119
-#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221
+#: build/templates/build/detail.html:467
+#: order/templates/order/purchase_order_detail.html:142
+#: order/templates/order/sales_order_detail.html:133
+#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238
msgid "Edit Attachment"
msgstr ""
-#: build/templates/build/detail.html:399
-#: order/templates/order/po_attachments.html:58
-#: order/templates/order/purchase_order_detail.html:145
-#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230
-#: templates/js/translated/order.js:1230
+#: build/templates/build/detail.html:474
+#: order/templates/order/purchase_order_detail.html:149
+#: order/templates/order/sales_order_detail.html:139
+#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247
+#: templates/js/translated/order.js:1243
msgid "Confirm Delete Operation"
msgstr ""
-#: build/templates/build/detail.html:400
-#: order/templates/order/po_attachments.html:59
-#: order/templates/order/purchase_order_detail.html:146
-#: order/templates/order/sales_order_detail.html:126
-#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231
+#: build/templates/build/detail.html:475
+#: order/templates/order/purchase_order_detail.html:150
+#: order/templates/order/sales_order_detail.html:140
+#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248
msgid "Delete Attachment"
msgstr ""
-#: build/templates/build/detail.html:443
+#: build/templates/build/detail.html:513
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:444
+#: build/templates/build/detail.html:514
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/edit_build_item.html:7
-msgid "Alter the quantity of stock allocated to the build output"
-msgstr ""
-
-#: build/templates/build/index.html:28
+#: build/templates/build/index.html:18 part/templates/part/detail.html:433
msgid "New Build Order"
msgstr ""
@@ -1396,47 +1344,18 @@ msgstr ""
msgid "Print Build Orders"
msgstr ""
-#: build/templates/build/index.html:43
-#: order/templates/order/purchase_orders.html:27
-#: order/templates/order/sales_orders.html:27
+#: build/templates/build/index.html:44
+#: order/templates/order/purchase_orders.html:34
+#: order/templates/order/sales_orders.html:37
msgid "Display calendar view"
msgstr ""
-#: build/templates/build/index.html:46
-#: order/templates/order/purchase_orders.html:30
-#: order/templates/order/sales_orders.html:30
+#: build/templates/build/index.html:47
+#: order/templates/order/purchase_orders.html:37
+#: order/templates/order/sales_orders.html:40
msgid "Display list view"
msgstr ""
-#: build/templates/build/navbar.html:12
-msgid "Build Order Details"
-msgstr ""
-
-#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/translated/stock.js:1534
-msgid "Details"
-msgstr ""
-
-#: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31
-msgid "Build Outputs"
-msgstr ""
-
-#: build/templates/build/navbar.html:38
-msgid "Child Builds"
-msgstr ""
-
-#: build/templates/build/navbar.html:49
-msgid "Build Order Notes"
-msgstr ""
-
-#: build/templates/build/unallocate.html:10
-msgid "Are you sure you wish to unallocate all stock for this build?"
-msgstr ""
-
-#: build/templates/build/unallocate.html:12
-msgid "All incomplete stock allocations will be removed from the build"
-msgstr ""
-
#: build/views.py:76
msgid "Build was cancelled"
msgstr ""
@@ -1449,7 +1368,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:122 stock/views.py:1366
+#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290
msgid "Serial numbers already exist"
msgstr ""
@@ -1461,11 +1380,11 @@ msgstr ""
msgid "Delete Build Output"
msgstr ""
-#: build/views.py:218 build/views.py:308
+#: build/views.py:218
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:219 build/views.py:309 stock/views.py:381
+#: build/views.py:219 stock/views.py:385
msgid "Check the confirmation box"
msgstr ""
@@ -1473,7 +1392,7 @@ msgstr ""
msgid "Build output does not match build"
msgstr ""
-#: build/views.py:233 build/views.py:434
+#: build/views.py:233
msgid "Build output must be specified"
msgstr ""
@@ -1481,39 +1400,19 @@ msgstr ""
msgid "Build output deleted"
msgstr ""
-#: build/views.py:343
+#: build/views.py:261
msgid "Complete Build Order"
msgstr ""
-#: build/views.py:349
+#: build/views.py:267
msgid "Build order cannot be completed - incomplete outputs remain"
msgstr ""
-#: build/views.py:360
+#: build/views.py:278
msgid "Completed build order"
msgstr ""
-#: build/views.py:376
-msgid "Complete Build Output"
-msgstr ""
-
-#: build/views.py:418
-msgid "Invalid stock status value selected"
-msgstr ""
-
-#: build/views.py:425
-msgid "Quantity to complete cannot exceed build output quantity"
-msgstr ""
-
-#: build/views.py:431
-msgid "Confirm completion of incomplete build"
-msgstr ""
-
-#: build/views.py:530
-msgid "Build output completed"
-msgstr ""
-
-#: build/views.py:567
+#: build/views.py:319
msgid "Delete Build Order"
msgstr ""
@@ -1554,728 +1453,728 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:308 common/models.py:887 common/models.py:1048
+#: common/models.py:340 common/models.py:970 common/models.py:1178
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:310
+#: common/models.py:342
msgid "Settings value"
msgstr ""
-#: common/models.py:345
+#: common/models.py:377
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:368
+#: common/models.py:382
+msgid "Chosen value is not a valid option"
+msgstr ""
+
+#: common/models.py:405
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:379
+#: common/models.py:416
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:402
+#: common/models.py:439
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:509
+#: common/models.py:559
+msgid "No group"
+msgstr ""
+
+#: common/models.py:601
+msgid "Restart required"
+msgstr ""
+
+#: common/models.py:602
+msgid "A setting has been changed which requires a server restart"
+msgstr ""
+
+#: common/models.py:609
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:511
+#: common/models.py:611
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:515
+#: common/models.py:615
msgid "Use instance name"
msgstr ""
-#: common/models.py:516
+#: common/models.py:616
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:522 company/models.py:100 company/models.py:101
+#: common/models.py:622 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr ""
-#: common/models.py:523
+#: common/models.py:623
msgid "Internal company name"
msgstr ""
-#: common/models.py:528
+#: common/models.py:628
msgid "Base URL"
msgstr ""
-#: common/models.py:529
+#: common/models.py:629
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:535
+#: common/models.py:635
msgid "Default Currency"
msgstr ""
-#: common/models.py:536
+#: common/models.py:636
msgid "Default currency"
msgstr ""
-#: common/models.py:542
+#: common/models.py:642
msgid "Download from URL"
msgstr ""
-#: common/models.py:543
+#: common/models.py:643
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:549
+#: common/models.py:649
msgid "Barcode Support"
msgstr ""
-#: common/models.py:550
+#: common/models.py:650
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:556
+#: common/models.py:656
msgid "IPN Regex"
msgstr ""
-#: common/models.py:557
+#: common/models.py:657
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:561
+#: common/models.py:661
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:562
+#: common/models.py:662
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:568
+#: common/models.py:668
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:569
+#: common/models.py:669
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:575
+#: common/models.py:675
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:576
+#: common/models.py:676
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:582
+#: common/models.py:682
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:583
+#: common/models.py:683
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:589
+#: common/models.py:689
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:590
+#: common/models.py:690
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:596
+#: common/models.py:696
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:597
+#: common/models.py:697
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:603 part/models.py:2256 report/models.py:187
-#: stock/forms.py:224 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:351
+#: common/models.py:703 part/models.py:2429 report/models.py:187
+#: templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:367
msgid "Template"
msgstr ""
-#: common/models.py:604
+#: common/models.py:704
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:610 part/models.py:806
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:363
+#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954
+#: templates/js/translated/table_filters.js:162
+#: templates/js/translated/table_filters.js:379
msgid "Assembly"
msgstr ""
-#: common/models.py:611
+#: common/models.py:711
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:617 part/models.py:812
-#: templates/js/translated/table_filters.js:367
+#: common/models.py:717 part/models.py:894
+#: templates/js/translated/table_filters.js:383
msgid "Component"
msgstr ""
-#: common/models.py:618
+#: common/models.py:718
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:624 part/models.py:823
+#: common/models.py:724 part/models.py:905
msgid "Purchaseable"
msgstr ""
-#: common/models.py:625
+#: common/models.py:725
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:631 part/models.py:828
-#: templates/js/translated/table_filters.js:375
+#: common/models.py:731 part/models.py:910
+#: templates/js/translated/table_filters.js:391
msgid "Salable"
msgstr ""
-#: common/models.py:632
+#: common/models.py:732
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:638 part/models.py:818
+#: common/models.py:738 part/models.py:900
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:379
+#: templates/js/translated/table_filters.js:94
+#: templates/js/translated/table_filters.js:395
msgid "Trackable"
msgstr ""
-#: common/models.py:639
+#: common/models.py:739
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:645 part/models.py:838
-#: part/templates/part/part_base.html:66
+#: common/models.py:745 part/models.py:920
+#: part/templates/part/part_base.html:144
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:646
+#: common/models.py:746
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:652
+#: common/models.py:752
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:653
+#: common/models.py:753
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:659
+#: common/models.py:759
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:660
+#: common/models.py:760
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:671
+#: common/models.py:771
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:672
+#: common/models.py:772
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:678
+#: common/models.py:778
msgid "Show related parts"
msgstr ""
-#: common/models.py:679
+#: common/models.py:779
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:685
+#: common/models.py:785
msgid "Create initial stock"
msgstr ""
-#: common/models.py:686
+#: common/models.py:786
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:692
+#: common/models.py:792
msgid "Internal Prices"
msgstr ""
-#: common/models.py:693
+#: common/models.py:793
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:699
+#: common/models.py:799
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:700
+#: common/models.py:800
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:706 templates/stats.html:25
+#: common/models.py:806
+msgid "Part Name Display Format"
+msgstr ""
+
+#: common/models.py:807
+msgid "Format to display the part name"
+msgstr ""
+
+#: common/models.py:814
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:815
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:821 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:707
+#: common/models.py:822
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:713
+#: common/models.py:828
msgid "Page Size"
msgstr ""
-#: common/models.py:714
+#: common/models.py:829
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:724
+#: common/models.py:839
msgid "Test Reports"
msgstr ""
-#: common/models.py:725
+#: common/models.py:840
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:731
+#: common/models.py:846
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:732
+#: common/models.py:847
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:738
+#: common/models.py:853
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:739
+#: common/models.py:854
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:745
+#: common/models.py:860
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:746
+#: common/models.py:861
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:748
+#: common/models.py:863
msgid "days"
msgstr ""
-#: common/models.py:753
+#: common/models.py:868
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:754
+#: common/models.py:869
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:760
+#: common/models.py:875
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:761
+#: common/models.py:876
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:767
+#: common/models.py:882
msgid "Group by Part"
msgstr ""
-#: common/models.py:768
+#: common/models.py:883
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:774
+#: common/models.py:889
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:775
+#: common/models.py:890
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:780
+#: common/models.py:895
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:781
+#: common/models.py:896
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:785
+#: common/models.py:900
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:786
+#: common/models.py:901
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:791
+#: common/models.py:906
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:792
+#: common/models.py:907
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:798
-msgid "Enable build"
-msgstr ""
-
-#: common/models.py:799
-msgid "Enable build functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:804
-msgid "Enable buy"
-msgstr ""
-
-#: common/models.py:805
-msgid "Enable buy functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:810
-msgid "Enable sell"
-msgstr ""
-
-#: common/models.py:811
-msgid "Enable sell functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:816
-msgid "Enable stock"
-msgstr ""
-
-#: common/models.py:817
-msgid "Enable stock functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:822
-msgid "Enable SO"
-msgstr ""
-
-#: common/models.py:823
-msgid "Enable SO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:828
-msgid "Enable PO"
-msgstr ""
-
-#: common/models.py:829
-msgid "Enable PO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:836
+#: common/models.py:913
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:837
-msgid "Enable password forgot function on the login-pages"
+#: common/models.py:914
+msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:842
+#: common/models.py:919
msgid "Enable registration"
msgstr ""
-#: common/models.py:843
-msgid "Enable self-registration for users on the login-pages"
+#: common/models.py:920
+msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:848
+#: common/models.py:925
msgid "Enable SSO"
msgstr ""
-#: common/models.py:849
-msgid "Enable SSO on the login-pages"
+#: common/models.py:926
+msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:854
-msgid "E-Mail required"
+#: common/models.py:931
+msgid "Email required"
msgstr ""
-#: common/models.py:855
+#: common/models.py:932
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:860
+#: common/models.py:937
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:861
+#: common/models.py:938
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:943
msgid "Mail twice"
msgstr ""
-#: common/models.py:867
+#: common/models.py:944
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:872
+#: common/models.py:949
msgid "Password twice"
msgstr ""
-#: common/models.py:873
+#: common/models.py:950
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:898
-msgid "Show starred parts"
+#: common/models.py:955
+msgid "Group on signup"
msgstr ""
-#: common/models.py:899
-msgid "Show starred parts on the homepage"
+#: common/models.py:956
+msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:904
-msgid "Show latest parts"
-msgstr ""
-
-#: common/models.py:905
-msgid "Show latest parts on the homepage"
-msgstr ""
-
-#: common/models.py:910
-msgid "Recent Part Count"
-msgstr ""
-
-#: common/models.py:911
-msgid "Number of recent parts to display on index page"
-msgstr ""
-
-#: common/models.py:917
-msgid "Show unvalidated BOMs"
-msgstr ""
-
-#: common/models.py:918
-msgid "Show BOMs that await validation on the homepage"
-msgstr ""
-
-#: common/models.py:923
-msgid "Show recent stock changes"
-msgstr ""
-
-#: common/models.py:924
-msgid "Show recently changed stock items on the homepage"
-msgstr ""
-
-#: common/models.py:929
-msgid "Recent Stock Count"
-msgstr ""
-
-#: common/models.py:930
-msgid "Number of recent stock items to display on index page"
-msgstr ""
-
-#: common/models.py:935
-msgid "Show low stock"
-msgstr ""
-
-#: common/models.py:936
-msgid "Show low stock items on the homepage"
-msgstr ""
-
-#: common/models.py:941
-msgid "Show depleted stock"
-msgstr ""
-
-#: common/models.py:942
-msgid "Show depleted stock items on the homepage"
-msgstr ""
-
-#: common/models.py:947
-msgid "Show needed stock"
-msgstr ""
-
-#: common/models.py:948
-msgid "Show stock items needed for builds on the homepage"
-msgstr ""
-
-#: common/models.py:953
-msgid "Show expired stock"
-msgstr ""
-
-#: common/models.py:954
-msgid "Show expired stock items on the homepage"
-msgstr ""
-
-#: common/models.py:959
-msgid "Show stale stock"
-msgstr ""
-
-#: common/models.py:960
-msgid "Show stale stock items on the homepage"
-msgstr ""
-
-#: common/models.py:965
-msgid "Show pending builds"
-msgstr ""
-
-#: common/models.py:966
-msgid "Show pending builds on the homepage"
-msgstr ""
-
-#: common/models.py:971
-msgid "Show overdue builds"
-msgstr ""
-
-#: common/models.py:972
-msgid "Show overdue builds on the homepage"
-msgstr ""
-
-#: common/models.py:977
-msgid "Show outstanding POs"
-msgstr ""
-
-#: common/models.py:978
-msgid "Show outstanding POs on the homepage"
-msgstr ""
-
-#: common/models.py:983
-msgid "Show overdue POs"
-msgstr ""
-
-#: common/models.py:984
-msgid "Show overdue POs on the homepage"
-msgstr ""
-
-#: common/models.py:989
-msgid "Show outstanding SOs"
-msgstr ""
-
-#: common/models.py:990
-msgid "Show outstanding SOs on the homepage"
-msgstr ""
-
-#: common/models.py:995
-msgid "Show overdue SOs"
-msgstr ""
-
-#: common/models.py:996
-msgid "Show overdue SOs on the homepage"
+#: common/models.py:1001
+msgid "Show subscribed parts"
msgstr ""
#: common/models.py:1002
+msgid "Show subscribed parts on the homepage"
+msgstr ""
+
+#: common/models.py:1007
+msgid "Show subscribed categories"
+msgstr ""
+
+#: common/models.py:1008
+msgid "Show subscribed part categories on the homepage"
+msgstr ""
+
+#: common/models.py:1013
+msgid "Show latest parts"
+msgstr ""
+
+#: common/models.py:1014
+msgid "Show latest parts on the homepage"
+msgstr ""
+
+#: common/models.py:1019
+msgid "Recent Part Count"
+msgstr ""
+
+#: common/models.py:1020
+msgid "Number of recent parts to display on index page"
+msgstr ""
+
+#: common/models.py:1026
+msgid "Show unvalidated BOMs"
+msgstr ""
+
+#: common/models.py:1027
+msgid "Show BOMs that await validation on the homepage"
+msgstr ""
+
+#: common/models.py:1032
+msgid "Show recent stock changes"
+msgstr ""
+
+#: common/models.py:1033
+msgid "Show recently changed stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1038
+msgid "Recent Stock Count"
+msgstr ""
+
+#: common/models.py:1039
+msgid "Number of recent stock items to display on index page"
+msgstr ""
+
+#: common/models.py:1044
+msgid "Show low stock"
+msgstr ""
+
+#: common/models.py:1045
+msgid "Show low stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1050
+msgid "Show depleted stock"
+msgstr ""
+
+#: common/models.py:1051
+msgid "Show depleted stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1056
+msgid "Show needed stock"
+msgstr ""
+
+#: common/models.py:1057
+msgid "Show stock items needed for builds on the homepage"
+msgstr ""
+
+#: common/models.py:1062
+msgid "Show expired stock"
+msgstr ""
+
+#: common/models.py:1063
+msgid "Show expired stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1068
+msgid "Show stale stock"
+msgstr ""
+
+#: common/models.py:1069
+msgid "Show stale stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1074
+msgid "Show pending builds"
+msgstr ""
+
+#: common/models.py:1075
+msgid "Show pending builds on the homepage"
+msgstr ""
+
+#: common/models.py:1080
+msgid "Show overdue builds"
+msgstr ""
+
+#: common/models.py:1081
+msgid "Show overdue builds on the homepage"
+msgstr ""
+
+#: common/models.py:1086
+msgid "Show outstanding POs"
+msgstr ""
+
+#: common/models.py:1087
+msgid "Show outstanding POs on the homepage"
+msgstr ""
+
+#: common/models.py:1092
+msgid "Show overdue POs"
+msgstr ""
+
+#: common/models.py:1093
+msgid "Show overdue POs on the homepage"
+msgstr ""
+
+#: common/models.py:1098
+msgid "Show outstanding SOs"
+msgstr ""
+
+#: common/models.py:1099
+msgid "Show outstanding SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Show overdue SOs"
+msgstr ""
+
+#: common/models.py:1105
+msgid "Show overdue SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1111
msgid "Inline label display"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1112
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1118
msgid "Inline report display"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1119
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1125
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1126
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:1023
+#: common/models.py:1132
+msgid "Search Show Stock"
+msgstr ""
+
+#: common/models.py:1133
+msgid "Display stock levels in search preview window"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Hide Inactive Parts"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Hide inactive parts in search preview window"
+msgstr ""
+
+#: common/models.py:1146
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1024
+#: common/models.py:1147
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1153
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1154
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1088 company/forms.py:43
+#: common/models.py:1160
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1161
+msgid "InvenTree navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1226 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1095 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1369
+#: common/models.py:1233 company/serializers.py:264
+#: company/templates/company/supplier_part.html:256
+#: templates/js/translated/part.js:1508
msgid "Price"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1234
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1189
-msgid "Default"
-msgstr ""
-
-#: common/templates/common/edit_setting.html:11
-msgid "Current value"
-msgstr ""
-
-#: common/views.py:33
-msgid "Change Setting"
-msgstr ""
-
-#: common/views.py:119
-msgid "Supplied value is not allowed"
-msgstr ""
-
-#: common/views.py:128
-msgid "Supplied value must be a boolean"
-msgstr ""
-
-#: common/views.py:138
-msgid "Change User Setting"
-msgstr ""
-
-#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42
-#: order/templates/order/po_navbar.html:19
-#: order/templates/order/po_navbar.html:22
-#: order/templates/order/purchase_order_detail.html:27 order/views.py:289
-#: part/templates/part/bom_upload/upload_file.html:65
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
-#: part/views.py:882
+#: common/views.py:93 order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:289
+#: part/templates/part/bom_upload/upload_file.html:51
+#: part/templates/part/import_wizard/part_upload.html:46 part/views.py:281
+#: part/views.py:923
msgid "Upload File"
msgstr ""
-#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
+#: common/views.py:94 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
-#: part/views.py:883
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:282
+#: part/views.py:924
msgid "Match Fields"
msgstr ""
-#: common/views.py:215
+#: common/views.py:95
msgid "Match Items"
msgstr ""
-#: common/views.py:560
+#: common/views.py:440
msgid "Fields matching failed"
msgstr ""
-#: common/views.py:615
+#: common/views.py:495
msgid "Parts imported"
msgstr ""
-#: common/views.py:637 order/templates/order/order_wizard/match_fields.html:27
+#: common/views.py:517 order/templates/order/order_wizard/match_fields.html:27
#: order/templates/order/order_wizard/match_parts.html:19
-#: order/templates/order/order_wizard/po_upload.html:40
+#: order/templates/order/order_wizard/po_upload.html:46
#: part/templates/part/bom_upload/match_fields.html:27
#: part/templates/part/bom_upload/match_parts.html:19
-#: part/templates/part/bom_upload/upload_file.html:63
+#: part/templates/part/bom_upload/upload_file.html:49
#: part/templates/part/import_wizard/match_fields.html:27
#: part/templates/part/import_wizard/match_references.html:19
-#: part/templates/part/import_wizard/part_upload.html:43
+#: part/templates/part/import_wizard/part_upload.html:44
msgid "Previous Step"
msgstr ""
@@ -2321,6 +2220,7 @@ msgid "Contact phone number"
msgstr ""
#: company/models.py:125 company/templates/company/company_base.html:102
+#: templates/InvenTree/settings/user.html:46
msgid "Email"
msgstr ""
@@ -2337,10 +2237,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:131 company/models.py:348 company/models.py:564
-#: order/models.py:160 part/models.py:715
+#: order/models.py:163 part/models.py:797
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:536
-#: templates/js/translated/company.js:825 templates/js/translated/part.js:983
+#: templates/js/translated/company.js:825 templates/js/translated/part.js:984
msgid "Link"
msgstr ""
@@ -2348,7 +2248,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:725
+#: company/models.py:139 part/models.py:807
msgid "Image"
msgstr ""
@@ -2376,8 +2276,8 @@ msgstr ""
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:152 company/serializers.py:264
-#: company/templates/company/company_base.html:76 stock/serializers.py:158
+#: company/models.py:152 company/serializers.py:270
+#: company/templates/company/company_base.html:76 stock/serializers.py:172
msgid "Currency"
msgstr ""
@@ -2385,8 +2285,8 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:454
-#: stock/templates/stock/item_base.html:237
+#: company/models.py:320 company/models.py:535 stock/models.py:484
+#: stock/templates/stock/item_base.html:224
msgid "Base Part"
msgstr ""
@@ -2395,28 +2295,28 @@ msgid "Select part"
msgstr ""
#: company/models.py:335 company/templates/company/company_base.html:116
-#: company/templates/company/manufacturer_part.html:89
-#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:247 stock/templates/stock/item_base.html:366
+#: company/templates/company/manufacturer_part.html:93
+#: company/templates/company/supplier_part.html:104
+#: stock/templates/stock/item_base.html:353
#: templates/js/translated/company.js:332
#: templates/js/translated/company.js:513
-#: templates/js/translated/company.js:796 templates/js/translated/part.js:227
+#: templates/js/translated/company.js:796 templates/js/translated/part.js:228
msgid "Manufacturer"
msgstr ""
-#: company/models.py:336 templates/js/translated/part.js:228
+#: company/models.py:336 templates/js/translated/part.js:229
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:342 company/templates/company/manufacturer_part.html:93
-#: company/templates/company/supplier_part.html:106 part/bom.py:171
-#: part/bom.py:248 templates/js/translated/company.js:529
-#: templates/js/translated/company.js:814 templates/js/translated/order.js:851
-#: templates/js/translated/part.js:238
+#: company/models.py:342 company/templates/company/manufacturer_part.html:97
+#: company/templates/company/supplier_part.html:112
+#: templates/js/translated/company.js:529
+#: templates/js/translated/company.js:814 templates/js/translated/order.js:852
+#: templates/js/translated/part.js:239
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:239
+#: company/models.py:343 templates/js/translated/part.js:240
msgid "Manufacturer Part Number"
msgstr ""
@@ -2431,7 +2331,7 @@ msgstr ""
#: company/models.py:409 company/models.py:558
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:376
+#: stock/templates/stock/item_base.html:363
msgid "Manufacturer Part"
msgstr ""
@@ -2440,10 +2340,9 @@ msgid "Parameter name"
msgstr ""
#: company/models.py:422
-#: report/templates/report/inventree_test_report_base.html:90
-#: stock/models.py:1816 templates/InvenTree/settings/header.html:8
-#: templates/js/translated/company.js:643 templates/js/translated/part.js:623
-#: templates/js/translated/stock.js:555
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:1867 templates/js/translated/company.js:643
+#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848
msgid "Value"
msgstr ""
@@ -2451,8 +2350,9 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:800 part/models.py:2224
-#: templates/js/translated/company.js:649 templates/js/translated/part.js:629
+#: company/models.py:429 part/models.py:882 part/models.py:2397
+#: part/templates/part/detail.html:59 templates/js/translated/company.js:649
+#: templates/js/translated/part.js:650
msgid "Units"
msgstr ""
@@ -2465,27 +2365,27 @@ msgid "Linked manufacturer part must reference the same base part"
msgstr ""
#: company/models.py:545 company/templates/company/company_base.html:121
-#: company/templates/company/supplier_part.html:88 order/models.py:260
-#: order/templates/order/order_base.html:92
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:292 stock/templates/stock/item_base.html:383
+#: company/templates/company/supplier_part.html:94 order/models.py:263
+#: order/templates/order/order_base.html:108
+#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219
+#: part/bom.py:247 stock/templates/stock/item_base.html:370
#: templates/js/translated/company.js:336
-#: templates/js/translated/company.js:770 templates/js/translated/order.js:659
-#: templates/js/translated/part.js:208
+#: templates/js/translated/company.js:770 templates/js/translated/order.js:660
+#: templates/js/translated/part.js:209
msgid "Supplier"
msgstr ""
-#: company/models.py:546 templates/js/translated/part.js:209
+#: company/models.py:546 templates/js/translated/part.js:210
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:92
-#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838
-#: templates/js/translated/part.js:219
+#: company/models.py:551 company/templates/company/supplier_part.html:98
+#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:839
+#: templates/js/translated/part.js:220
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:220
+#: company/models.py:552 templates/js/translated/part.js:221
msgid "Supplier stock keeping unit"
msgstr ""
@@ -2501,23 +2401,23 @@ msgstr ""
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:120
-#: part/models.py:2389 report/templates/report/inventree_po_report.html:93
+#: company/models.py:576 company/templates/company/supplier_part.html:126
+#: part/models.py:2588 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:113
-#: stock/models.py:478 stock/templates/stock/item_base.html:324
-#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036
+#: company/models.py:582 company/templates/company/supplier_part.html:119
+#: stock/models.py:507 stock/templates/stock/item_base.html:311
+#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336
msgid "Packaging"
msgstr ""
@@ -2525,7 +2425,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1605
+#: company/models.py:584 part/models.py:1750
msgid "multiple"
msgstr ""
@@ -2533,46 +2433,42 @@ msgstr ""
msgid "Order multiple"
msgstr ""
-#: company/serializers.py:68
+#: company/serializers.py:70
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:69
+#: company/serializers.py:71
msgid "Currency Code"
msgstr ""
-#: company/templates/company/company_base.html:9
-#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321
+#: company/templates/company/company_base.html:8
+#: company/templates/company/company_base.html:12
+#: templates/InvenTree/search.html:182 templates/js/translated/company.js:321
msgid "Company"
msgstr ""
-#: company/templates/company/company_base.html:25
-#: part/templates/part/part_thumb.html:21
-msgid "Upload new image"
-msgstr ""
-
-#: company/templates/company/company_base.html:27
-#: part/templates/part/part_thumb.html:23
-msgid "Download image from URL"
-msgstr ""
-
-#: company/templates/company/company_base.html:46
-#: templates/js/translated/order.js:120
+#: company/templates/company/company_base.html:22
+#: templates/js/translated/order.js:121
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:51
+#: company/templates/company/company_base.html:27
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:56
-#: company/templates/company/company_base.html:153
+#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:148
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:64
-msgid "Company Details"
+#: company/templates/company/company_base.html:48
+#: part/templates/part/part_thumb.html:12
+msgid "Upload new image"
+msgstr ""
+
+#: company/templates/company/company_base.html:51
+#: part/templates/part/part_thumb.html:14
+msgid "Download image from URL"
msgstr ""
#: company/templates/company/company_base.html:81
@@ -2583,145 +2479,133 @@ msgstr ""
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:126 order/models.py:558
-#: order/templates/order/sales_order_base.html:99 stock/models.py:496
-#: stock/models.py:497 stock/templates/stock/item_base.html:276
-#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038
-#: templates/js/translated/stock.js:1587
+#: company/templates/company/company_base.html:126 order/models.py:567
+#: order/templates/order/sales_order_base.html:114 stock/models.py:525
+#: stock/models.py:526 stock/templates/stock/item_base.html:263
+#: templates/js/translated/company.js:328 templates/js/translated/order.js:1051
+#: templates/js/translated/stock.js:1972
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:199
-#: part/templates/part/part_base.html:424
+#: company/templates/company/company_base.html:194
+#: part/templates/part/part_base.html:342
msgid "Upload Image"
msgstr ""
-#: company/templates/company/detail.html:14
-#: company/templates/company/manufacturer_part_navbar.html:18
-#: templates/InvenTree/search.html:150
+#: company/templates/company/detail.html:15 templates/InvenTree/search.html:124
msgid "Supplier Parts"
msgstr ""
-#: company/templates/company/detail.html:22
+#: company/templates/company/detail.html:19
#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr ""
-#: company/templates/company/detail.html:23
-#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289
+#: company/templates/company/detail.html:20
+#: company/templates/company/manufacturer_part.html:112
+#: part/templates/part/detail.html:466
msgid "New Supplier Part"
msgstr ""
-#: company/templates/company/detail.html:27
-#: company/templates/company/detail.html:67
-#: company/templates/company/manufacturer_part.html:112
-#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/category.html:135 part/templates/part/detail.html:292
-#: part/templates/part/detail.html:315
+#: company/templates/company/detail.html:32
+#: company/templates/company/detail.html:79
+#: company/templates/company/manufacturer_part.html:121
+#: company/templates/company/manufacturer_part.html:150
+#: part/templates/part/category.html:160 part/templates/part/detail.html:475
+#: part/templates/part/detail.html:503
msgid "Options"
msgstr ""
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72
-#: part/templates/part/category.html:140
+#: company/templates/company/detail.html:37
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:166
msgid "Order parts"
msgstr ""
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:42
+#: company/templates/company/detail.html:89
msgid "Delete parts"
msgstr ""
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:43
+#: company/templates/company/detail.html:90
msgid "Delete Parts"
msgstr ""
-#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135
+#: company/templates/company/detail.html:62 templates/InvenTree/search.html:109
msgid "Manufacturer Parts"
msgstr ""
-#: company/templates/company/detail.html:62
+#: company/templates/company/detail.html:66
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:63 part/templates/part/detail.html:312
+#: company/templates/company/detail.html:67 part/templates/part/detail.html:493
msgid "New Manufacturer Part"
msgstr ""
-#: company/templates/company/detail.html:93
+#: company/templates/company/detail.html:107
msgid "Supplier Stock"
msgstr ""
-#: company/templates/company/detail.html:102
-#: company/templates/company/navbar.html:46
-#: company/templates/company/navbar.html:49
+#: company/templates/company/detail.html:117
+#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
-#: order/templates/order/purchase_orders.html:13
-#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82
-#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260
-#: templates/InvenTree/search.html:229
-#: templates/InvenTree/settings/navbar.html:119
-#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44
+#: order/templates/order/purchase_orders.html:12
+#: part/templates/part/detail.html:171 templates/InvenTree/index.html:252
+#: templates/InvenTree/search.html:203 templates/navbar.html:45
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
-#: company/templates/company/detail.html:108
-#: order/templates/order/purchase_orders.html:20
+#: company/templates/company/detail.html:121
+#: order/templates/order/purchase_orders.html:17
msgid "Create new purchase order"
msgstr ""
-#: company/templates/company/detail.html:109
-#: order/templates/order/purchase_orders.html:21
+#: company/templates/company/detail.html:122
+#: order/templates/order/purchase_orders.html:18
msgid "New Purchase Order"
msgstr ""
-#: company/templates/company/detail.html:124
-#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58
+#: company/templates/company/detail.html:143
+#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
-#: order/templates/order/sales_orders.html:13
-#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91
-#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291
-#: templates/InvenTree/search.html:249
-#: templates/InvenTree/settings/navbar.html:125
-#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55
+#: order/templates/order/sales_orders.html:15
+#: part/templates/part/detail.html:194 templates/InvenTree/index.html:283
+#: templates/InvenTree/search.html:223 templates/navbar.html:56
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
-#: company/templates/company/detail.html:130
+#: company/templates/company/detail.html:147
#: order/templates/order/sales_orders.html:20
msgid "Create new sales order"
msgstr ""
-#: company/templates/company/detail.html:131
+#: company/templates/company/detail.html:148
#: order/templates/order/sales_orders.html:21
msgid "New Sales Order"
msgstr ""
-#: company/templates/company/detail.html:147
-#: company/templates/company/navbar.html:61
-#: company/templates/company/navbar.html:64
-#: templates/js/translated/build.js:622
+#: company/templates/company/detail.html:168
+#: templates/js/translated/build.js:999
msgid "Assigned Stock"
msgstr ""
-#: company/templates/company/detail.html:165
+#: company/templates/company/detail.html:184
msgid "Company Notes"
msgstr ""
-#: company/templates/company/detail.html:364
-#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:357
+#: company/templates/company/detail.html:383
+#: company/templates/company/manufacturer_part.html:209
+#: part/templates/part/detail.html:546
msgid "Delete Supplier Parts?"
msgstr ""
-#: company/templates/company/detail.html:365
-#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:358
+#: company/templates/company/detail.html:384
+#: company/templates/company/manufacturer_part.html:210
+#: part/templates/part/detail.html:547
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2729,204 +2613,172 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:40
-#: company/templates/company/supplier_part.html:40
-#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116
+#: company/templates/company/manufacturer_part.html:14 company/views.py:55
+#: part/templates/part/prices.html:167 templates/InvenTree/search.html:184
+#: templates/navbar.html:44
+msgid "Manufacturers"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:35
+#: company/templates/company/supplier_part.html:34
+#: company/templates/company/supplier_part.html:159
+#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:40
#: templates/js/translated/company.js:561
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:49
+#: company/templates/company/manufacturer_part.html:44
#: templates/js/translated/company.js:562
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:61
-msgid "Manufacturer Part Details"
-msgstr ""
-
-#: company/templates/company/manufacturer_part.html:66
-#: company/templates/company/supplier_part.html:65
+#: company/templates/company/manufacturer_part.html:70
+#: company/templates/company/supplier_part.html:71
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/manufacturer_part_navbar.html:21
-#: company/views.py:49 part/templates/part/navbar.html:75
-#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163
-#: templates/InvenTree/search.html:220 templates/navbar.html:41
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: part/templates/part/prices.html:163 templates/InvenTree/search.html:194
+#: templates/navbar.html:43
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: part/templates/part/detail.html:294
+#: company/templates/company/manufacturer_part.html:123
+#: part/templates/part/detail.html:477
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: company/templates/company/manufacturer_part.html:138
-#: company/templates/company/manufacturer_part.html:239
-#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/translated/company.js:424
-#: templates/js/translated/helpers.js:31 users/models.py:199
+#: company/templates/company/manufacturer_part.html:123
+#: company/templates/company/manufacturer_part.html:152
+#: company/templates/company/manufacturer_part.html:248
+#: part/templates/part/detail.html:351 part/templates/part/detail.html:477
+#: part/templates/part/detail.html:505 templates/js/translated/company.js:424
+#: templates/js/translated/helpers.js:31 users/models.py:204
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:127
-#: company/templates/company/manufacturer_part_navbar.html:11
-#: company/templates/company/manufacturer_part_navbar.html:14
-#: part/templates/part/category_navbar.html:38
-#: part/templates/part/category_navbar.html:41
-#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20
-#: part/templates/part/navbar.html:23
+#: company/templates/company/manufacturer_part.html:137
+#: part/templates/part/detail.html:277
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:133
-#: part/templates/part/detail.html:162
-#: templates/InvenTree/settings/category.html:26
-#: templates/InvenTree/settings/part.html:63
+#: company/templates/company/manufacturer_part.html:141
+#: part/templates/part/detail.html:282
+#: templates/InvenTree/settings/category.html:12
+#: templates/InvenTree/settings/part.html:65
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:138
+#: company/templates/company/manufacturer_part.html:152
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:805
+#: company/templates/company/manufacturer_part.html:185
+#: part/templates/part/detail.html:983
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:224
+#: company/templates/company/manufacturer_part.html:233
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:236
+#: company/templates/company/manufacturer_part.html:245
msgid "Delete Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part_navbar.html:26
-msgid "Manufacturer Part Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:29
-#: company/templates/company/navbar.html:39
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/navbar.html:38 stock/api.py:52
-#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182
-#: templates/InvenTree/settings/navbar.html:107
-#: templates/InvenTree/settings/navbar.html:109
-#: templates/js/translated/part.js:540 templates/js/translated/part.js:769
-#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182
-#: templates/js/translated/stock.js:829 templates/navbar.html:32
-msgid "Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:33
-msgid "Manufacturer Part Orders"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:36
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr ""
-
-#: company/templates/company/navbar.html:17
-#: company/templates/company/navbar.html:20
-msgid "Manufactured Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:26
-#: company/templates/company/navbar.html:29
-msgid "Supplied Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35
-#: stock/templates/stock/location.html:119
-#: stock/templates/stock/location.html:134
-#: stock/templates/stock/location.html:148
-#: stock/templates/stock/location_navbar.html:18
-#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486
-#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
-msgid "Stock Items"
-msgstr ""
-
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:463
-#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993
+#: company/templates/company/supplier_part.html:24 stock/models.py:492
+#: stock/templates/stock/item_base.html:375
+#: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44
+#: company/templates/company/supplier_part.html:38
#: templates/js/translated/company.js:859
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48
+#: company/templates/company/supplier_part.html:42
#: templates/js/translated/company.js:860
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:60
-msgid "Supplier Part Details"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:131
+#: company/templates/company/supplier_part.html:138
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:140
+#: company/templates/company/supplier_part.html:141
+#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147
+msgid "Create new stock item"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:142
+#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148
+#: templates/js/translated/stock.js:324
+msgid "New Stock Item"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:155
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:147
-#: part/templates/part/detail.html:56
+#: company/templates/company/supplier_part.html:160
+#: part/templates/part/detail.html:175
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:158
-#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7
+#: company/templates/company/supplier_part.html:179
+#: part/templates/part/prices.html:7
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:164
-#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:271 part/views.py:1730
+#: company/templates/company/supplier_part.html:184
+#: company/templates/company/supplier_part.html:290
+#: part/templates/part/prices.html:271 part/views.py:1782
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:185
+#: company/templates/company/supplier_part.html:210
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:1792
+#: company/templates/company/supplier_part.html:224 part/views.py:1844
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:1778
+#: company/templates/company/supplier_part.html:238 part/views.py:1830
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
+#: company/templates/company/supplier_part.html:263
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:239
+#: company/templates/company/supplier_part.html:264
msgid "Delete price break"
msgstr ""
+#: company/templates/company/supplier_part_navbar.html:15
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426
+#: templates/js/translated/part.js:561 templates/js/translated/part.js:786
+#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479
+#: templates/js/translated/stock.js:1132 templates/navbar.html:26
+msgid "Stock"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:22
+msgid "Orders"
+msgstr ""
+
#: company/templates/company/supplier_part_navbar.html:26
msgid "Supplier Part Pricing"
msgstr ""
@@ -2939,17 +2791,12 @@ msgstr ""
msgid "New Supplier"
msgstr ""
-#: company/views.py:55 part/templates/part/prices.html:167
-#: templates/InvenTree/search.html:210 templates/navbar.html:42
-msgid "Manufacturers"
-msgstr ""
-
#: company/views.py:56
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:240
-#: templates/navbar.html:53
+#: company/views.py:61 templates/InvenTree/search.html:214
+#: templates/navbar.html:55
msgid "Customers"
msgstr ""
@@ -2965,24 +2812,24 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:608
+#: company/views.py:129 part/views.py:649
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:640
+#: company/views.py:158 part/views.py:681
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:647
+#: company/views.py:165 part/views.py:688
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:656
+#: company/views.py:174 part/views.py:697
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:57 report/api.py:201
+#: label/api.py:57 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -2994,7 +2841,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:167
+#: label/models.py:127
msgid "Label"
msgstr ""
@@ -3039,7 +2886,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:259 label/models.py:319 label/models.py:366
-#: report/models.py:322 report/models.py:457 report/models.py:495
+#: report/models.py:322 report/models.py:459 report/models.py:497
msgid "Filters"
msgstr ""
@@ -3051,240 +2898,236 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:250
-msgid "Matching purchase order does not exist"
-msgstr ""
-
-#: order/forms.py:27 order/templates/order/order_base.html:50
+#: order/forms.py:26 order/templates/order/order_base.html:52
msgid "Place order"
msgstr ""
-#: order/forms.py:38 order/templates/order/order_base.html:57
+#: order/forms.py:37 order/templates/order/order_base.html:59
msgid "Mark order as complete"
msgstr ""
-#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:64
+#: order/forms.py:48 order/forms.py:59 order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
msgid "Cancel order"
msgstr ""
-#: order/forms.py:71 order/templates/order/sales_order_base.html:61
+#: order/forms.py:70
msgid "Ship order"
msgstr ""
-#: order/forms.py:97
+#: order/forms.py:98
msgid "Enter stock item serial numbers"
msgstr ""
-#: order/forms.py:103
+#: order/forms.py:104
msgid "Enter quantity of stock items"
msgstr ""
-#: order/models.py:158
+#: order/models.py:161
msgid "Order description"
msgstr ""
-#: order/models.py:160
+#: order/models.py:163
msgid "Link to external page"
msgstr ""
-#: order/models.py:168
+#: order/models.py:171
msgid "Created By"
msgstr ""
-#: order/models.py:175
+#: order/models.py:178
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:180
+#: order/models.py:183
msgid "Order notes"
msgstr ""
-#: order/models.py:247 order/models.py:548
+#: order/models.py:250 order/models.py:557
msgid "Order reference"
msgstr ""
-#: order/models.py:252 order/models.py:563
+#: order/models.py:255 order/models.py:572
msgid "Purchase order status"
msgstr ""
-#: order/models.py:261
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/translated/order.js:668
+#: order/models.py:267 order/templates/order/order_base.html:114
+#: templates/js/translated/order.js:669
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:264
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:271
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:276
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:277
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:282
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:283
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:289
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:318
+#: order/models.py:321
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:428
+#: order/models.py:431
msgid "Quantity must be an integer"
msgstr ""
-#: order/models.py:432
+#: order/models.py:435
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:559
+#: order/models.py:568
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer Reference "
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:570
+#: order/models.py:579
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:573 templates/js/translated/order.js:1079
+#: order/models.py:582 templates/js/translated/order.js:1092
msgid "Shipment Date"
msgstr ""
-#: order/models.py:580
+#: order/models.py:589
msgid "shipped by"
msgstr ""
-#: order/models.py:624
+#: order/models.py:633
msgid "SalesOrder cannot be shipped as it is not currently pending"
msgstr ""
-#: order/models.py:721
+#: order/models.py:730
msgid "Item quantity"
msgstr ""
-#: order/models.py:727
+#: order/models.py:736
msgid "Line item reference"
msgstr ""
-#: order/models.py:729
+#: order/models.py:738
msgid "Line item notes"
msgstr ""
-#: order/models.py:759 order/models.py:847
-#: templates/js/translated/order.js:1131
+#: order/models.py:768 order/models.py:856
+#: templates/js/translated/order.js:1144
msgid "Order"
msgstr ""
-#: order/models.py:760 order/templates/order/order_base.html:9
-#: order/templates/order/order_base.html:24
+#: order/models.py:769 order/templates/order/order_base.html:9
+#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:338
-#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970
-#: templates/js/translated/stock.js:1568
+#: stock/templates/stock/item_base.html:325
+#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1270
+#: templates/js/translated/stock.js:1953
msgid "Purchase Order"
msgstr ""
-#: order/models.py:781
+#: order/models.py:790
msgid "Supplier part"
msgstr ""
-#: order/models.py:788 order/templates/order/order_base.html:131
-#: order/templates/order/sales_order_base.html:138
-#: templates/js/translated/order.js:428 templates/js/translated/order.js:919
+#: order/models.py:797 order/templates/order/order_base.html:147
+#: order/templates/order/sales_order_base.html:154
+#: templates/js/translated/order.js:429 templates/js/translated/order.js:932
msgid "Received"
msgstr ""
-#: order/models.py:789
+#: order/models.py:798
msgid "Number of items received"
msgstr ""
-#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588
-#: stock/serializers.py:150 stock/templates/stock/item_base.html:345
-#: templates/js/translated/stock.js:1024
+#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619
+#: stock/serializers.py:163 stock/templates/stock/item_base.html:332
+#: templates/js/translated/stock.js:1324
msgid "Purchase Price"
msgstr ""
-#: order/models.py:797
+#: order/models.py:806
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:805
+#: order/models.py:814
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:857 part/templates/part/part_pricing.html:112
+#: order/models.py:866 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:116 part/templates/part/prices.html:284
msgid "Sale Price"
msgstr ""
-#: order/models.py:858
+#: order/models.py:867
msgid "Unit sale price"
msgstr ""
-#: order/models.py:937 order/models.py:939
+#: order/models.py:946 order/models.py:948
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:943
+#: order/models.py:952
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:945
+#: order/models.py:954
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:948
+#: order/models.py:957
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:952
+#: order/models.py:961
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:958
+#: order/models.py:967
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:966
+#: order/models.py:975
msgid "Line"
msgstr ""
-#: order/models.py:978
+#: order/models.py:987
msgid "Item"
msgstr ""
-#: order/models.py:979
+#: order/models.py:988
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:982
+#: order/models.py:991
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3300,7 +3143,7 @@ msgstr ""
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:218 order/serializers.py:285
+#: order/serializers.py:218 order/serializers.py:286
msgid "Select destination location for received items"
msgstr ""
@@ -3312,72 +3155,70 @@ msgstr ""
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:259
+#: order/serializers.py:260
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:297
+#: order/serializers.py:298
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:314
+#: order/serializers.py:315
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:325
+#: order/serializers.py:326
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:569
+#: order/serializers.py:568
msgid "Sale price currency"
msgstr ""
#: order/templates/order/delete_attachment.html:5
#: stock/templates/stock/attachment_delete.html:5
-#: templates/attachment_delete.html:5
msgid "Are you sure you want to delete this attachment?"
msgstr ""
-#: order/templates/order/order_base.html:39
-#: order/templates/order/sales_order_base.html:50
-msgid "Print"
+#: order/templates/order/order_base.html:33
+msgid "Print purchase order report"
msgstr ""
-#: order/templates/order/order_base.html:42
-#: order/templates/order/sales_order_base.html:53
+#: order/templates/order/order_base.html:35
+#: order/templates/order/sales_order_base.html:45
msgid "Export order to file"
msgstr ""
-#: order/templates/order/order_base.html:46
-#: order/templates/order/sales_order_base.html:57
-msgid "Edit order information"
+#: order/templates/order/order_base.html:41
+#: order/templates/order/sales_order_base.html:54
+msgid "Order actions"
msgstr ""
-#: order/templates/order/order_base.html:54
+#: order/templates/order/order_base.html:45
+#: order/templates/order/sales_order_base.html:58
+msgid "Edit order"
+msgstr ""
+
+#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
-#: order/templates/order/order_base.html:72
-#: order/templates/order/po_navbar.html:12
-msgid "Purchase Order Details"
-msgstr ""
-
-#: order/templates/order/order_base.html:77
-#: order/templates/order/sales_order_base.html:84
+#: order/templates/order/order_base.html:93
+#: order/templates/order/sales_order_base.html:98
msgid "Order Reference"
msgstr ""
-#: order/templates/order/order_base.html:82
-#: order/templates/order/sales_order_base.html:89
+#: order/templates/order/order_base.html:98
+#: order/templates/order/sales_order_base.html:103
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:117
+#: order/templates/order/order_base.html:133
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:185
+#: order/templates/order/order_base.html:203
msgid "Edit Purchase Order"
msgstr ""
@@ -3453,7 +3294,8 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/build.js:869 templates/js/translated/order.js:376
+#: templates/js/translated/build.js:240 templates/js/translated/build.js:1251
+#: templates/js/translated/order.js:377
msgid "Remove row"
msgstr ""
@@ -3475,19 +3317,19 @@ msgstr ""
msgid "Select Supplier Part"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:11
+#: order/templates/order/order_wizard/po_upload.html:16
msgid "Upload File for Purchase Order"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:18
-#: part/templates/part/bom_upload/upload_file.html:34
+#: order/templates/order/order_wizard/po_upload.html:24
+#: part/templates/part/bom_upload/upload_file.html:20
#: part/templates/part/import_wizard/ajax_part_upload.html:10
-#: part/templates/part/import_wizard/part_upload.html:21
+#: part/templates/part/import_wizard/part_upload.html:22
#, python-format
msgid "Step %(step)s of %(count)s"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/order_wizard/po_upload.html:54
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
@@ -3530,7 +3372,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084
+#: templates/js/translated/order.js:695 templates/js/translated/order.js:1097
msgid "Items"
msgstr ""
@@ -3548,30 +3390,14 @@ msgstr ""
msgid "Select a purchase order for %(name)s"
msgstr ""
-#: order/templates/order/po_attachments.html:12
-#: order/templates/order/po_navbar.html:32
-#: order/templates/order/purchase_order_detail.html:56
-msgid "Purchase Order Attachments"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:26
-msgid "Received Stock Items"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:29
-#: order/templates/order/po_received_items.html:12
-#: order/templates/order/purchase_order_detail.html:47
-msgid "Received Items"
-msgstr ""
-
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:24
-#: order/templates/order/purchase_order_detail.html:212
+#: order/templates/order/purchase_order_detail.html:27
+#: order/templates/order/purchase_order_detail.html:216
#: order/templates/order/sales_order_detail.html:23
-#: order/templates/order/sales_order_detail.html:177
+#: order/templates/order/sales_order_detail.html:191
msgid "Add Line Item"
msgstr ""
@@ -3583,34 +3409,43 @@ msgstr ""
msgid "Receive Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
-#: order/templates/order/sales_order_detail.html:54
+#: order/templates/order/purchase_order_detail.html:50
+msgid "Received Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:76
+#: order/templates/order/sales_order_detail.html:68
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_orders.html:24
-#: order/templates/order/sales_orders.html:24
+#: order/templates/order/purchase_orders.html:30
+#: order/templates/order/sales_orders.html:33
msgid "Print Order Reports"
msgstr ""
-#: order/templates/order/sales_order_base.html:16
+#: order/templates/order/sales_order_base.html:43
+msgid "Print sales order report"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:47
+msgid "Print packing list"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:66
+#: order/templates/order/sales_order_base.html:67 order/views.py:222
+msgid "Ship Order"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:86
msgid "This Sales Order has not been fully allocated"
msgstr ""
-#: order/templates/order/sales_order_base.html:70
-msgid "Packing List"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:79
-msgid "Sales Order Details"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:105
-#: templates/js/translated/order.js:1051
+#: order/templates/order/sales_order_base.html:121
+#: templates/js/translated/order.js:1064
msgid "Customer Reference"
msgstr ""
-#: order/templates/order/sales_order_base.html:183
+#: order/templates/order/sales_order_base.html:194
msgid "Edit Sales Order"
msgstr ""
@@ -3625,7 +3460,7 @@ msgstr ""
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -3653,18 +3488,6 @@ msgstr ""
msgid "Allocate stock items by serial number"
msgstr ""
-#: order/templates/order/so_navbar.html:12
-msgid "Sales Order Line Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:15
-msgid "Order Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:26
-msgid "Sales Order Attachments"
-msgstr ""
-
#: order/views.py:103
msgid "Cancel Order"
msgstr ""
@@ -3705,10 +3528,6 @@ msgstr ""
msgid "Purchase order completed"
msgstr ""
-#: order/views.py:222
-msgid "Ship Order"
-msgstr ""
-
#: order/views.py:238
msgid "Confirm order shipment"
msgstr ""
@@ -3776,40 +3595,28 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7
-#: part/templates/part/category.html:108 part/templates/part/category.html:122
-#: part/templates/part/category_navbar.html:21
-#: part/templates/part/category_navbar.html:24
-#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97
-#: templates/js/translated/part.js:1165 templates/navbar.html:29
-#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
-msgid "Parts"
-msgstr ""
-
-#: part/api.py:700
+#: part/api.py:731
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:704
+#: part/api.py:735
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:719
+#: part/api.py:750
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773
+#: part/api.py:781 part/api.py:785 part/api.py:800 part/api.py:804
msgid "This field is required"
msgstr ""
-#: part/bom.py:133 part/models.py:76 part/models.py:734
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:290
+#: part/bom.py:125 part/models.py:81 part/models.py:816
+#: part/templates/part/category.html:90 part/templates/part/detail.html:104
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:156
+#: part/bom.py:126 part/templates/part/part_base.html:167
msgid "Available Stock"
msgstr ""
@@ -3869,7 +3676,7 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:96 part/models.py:2254
+#: part/forms.py:96 part/models.py:2427
msgid "Parent Part"
msgstr ""
@@ -3901,455 +3708,458 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:226
+#: part/forms.py:214
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:230
+#: part/forms.py:218
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:250
+#: part/forms.py:238
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:77
+#: part/models.py:82
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords"
msgstr ""
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:90 part/models.py:2300
+#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:91 part/templates/part/category.html:32
-#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
-#: templates/stats.html:84 users/models.py:40
+#: part/models.py:96 part/templates/part/category.html:117
+#: templates/InvenTree/search.html:101 templates/stats.html:84
+#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:384
+#: part/models.py:358 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:13 part/templates/part/category.html:122
+#: part/templates/part/category.html:142 templates/InvenTree/index.html:85
+#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304
+#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89
+#: users/models.py:41
+msgid "Parts"
+msgstr ""
+
+#: part/models.py:450
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:436 part/models.py:448
+#: part/models.py:502 part/models.py:514
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:545
+#: part/models.py:611
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:549
+#: part/models.py:615
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:554
+#: part/models.py:620
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:633
+#: part/models.py:715
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:658
+#: part/models.py:740
msgid "Part name"
msgstr ""
-#: part/models.py:665
+#: part/models.py:747
msgid "Is Template"
msgstr ""
-#: part/models.py:666
+#: part/models.py:748
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:676
+#: part/models.py:758
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:677
+#: part/models.py:759
msgid "Variant Of"
msgstr ""
-#: part/models.py:683
+#: part/models.py:765
msgid "Part description"
msgstr ""
-#: part/models.py:688 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:259
+#: part/models.py:770 part/templates/part/category.html:97
+#: part/templates/part/detail.html:73
msgid "Keywords"
msgstr ""
-#: part/models.py:689
+#: part/models.py:771
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:696 part/models.py:2299
-#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:169
-#: templates/js/translated/part.js:927
+#: part/models.py:778 part/models.py:2223 part/models.py:2472
+#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15
+#: templates/InvenTree/settings/settings.html:163
+#: templates/js/translated/part.js:928
msgid "Category"
msgstr ""
-#: part/models.py:697
+#: part/models.py:779
msgid "Part category"
msgstr ""
-#: part/models.py:702 part/templates/part/part_base.html:235
-#: templates/js/translated/part.js:528 templates/js/translated/part.js:760
+#: part/models.py:784 part/templates/part/detail.html:45
+#: templates/js/translated/part.js:549
msgid "IPN"
msgstr ""
-#: part/models.py:703
+#: part/models.py:785
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:709
+#: part/models.py:791
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:710 part/templates/part/part_base.html:252
-#: report/models.py:200 templates/js/translated/part.js:532
+#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200
+#: templates/js/translated/part.js:553
msgid "Revision"
msgstr ""
-#: part/models.py:732
+#: part/models.py:814
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:779 part/templates/part/part_base.html:297
+#: part/models.py:861 part/templates/part/detail.html:113
msgid "Default Supplier"
msgstr ""
-#: part/models.py:780
+#: part/models.py:862
msgid "Default supplier part"
msgstr ""
-#: part/models.py:787
+#: part/models.py:869
msgid "Default Expiry"
msgstr ""
-#: part/models.py:788
+#: part/models.py:870
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:793
+#: part/models.py:875 part/templates/part/part_base.html:178
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:794
+#: part/models.py:876
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:801
+#: part/models.py:883
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:807
+#: part/models.py:889
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:813
+#: part/models.py:895
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:819
+#: part/models.py:901
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:824
+#: part/models.py:906
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:911
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:833 templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:82
-#: templates/js/translated/table_filters.js:268
-#: templates/js/translated/table_filters.js:346
+#: part/models.py:915 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:362
msgid "Active"
msgstr ""
-#: part/models.py:834
+#: part/models.py:916
msgid "Is this part active?"
msgstr ""
-#: part/models.py:839
+#: part/models.py:921
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:844
+#: part/models.py:926
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "BOM checksum"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:850
+#: part/models.py:932
msgid "BOM checked by"
msgstr ""
-#: part/models.py:852
+#: part/models.py:934
msgid "BOM checked date"
msgstr ""
-#: part/models.py:856
+#: part/models.py:938
msgid "Creation User"
msgstr ""
-#: part/models.py:1605
+#: part/models.py:1750
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2100
+#: part/models.py:2273
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2117
+#: part/models.py:2290
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2137 templates/js/translated/part.js:1216
-#: templates/js/translated/stock.js:535
+#: part/models.py:2310 templates/js/translated/part.js:1355
+#: templates/js/translated/stock.js:828
msgid "Test Name"
msgstr ""
-#: part/models.py:2138
+#: part/models.py:2311
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2143
+#: part/models.py:2316
msgid "Test Description"
msgstr ""
-#: part/models.py:2144
+#: part/models.py:2317
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2149 templates/js/translated/part.js:1225
-#: templates/js/translated/table_filters.js:254
+#: part/models.py:2322 templates/js/translated/part.js:1364
+#: templates/js/translated/table_filters.js:270
msgid "Required"
msgstr ""
-#: part/models.py:2150
+#: part/models.py:2323
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2155 templates/js/translated/part.js:1233
+#: part/models.py:2328 templates/js/translated/part.js:1372
msgid "Requires Value"
msgstr ""
-#: part/models.py:2156
+#: part/models.py:2329
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2161 templates/js/translated/part.js:1240
+#: part/models.py:2334 templates/js/translated/part.js:1379
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2162
+#: part/models.py:2335
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2173
+#: part/models.py:2346
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2209
+#: part/models.py:2382
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2217
+#: part/models.py:2390
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2224
+#: part/models.py:2397
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2256 part/models.py:2305 part/models.py:2306
-#: templates/InvenTree/settings/settings.html:164
+#: part/models.py:2429 part/models.py:2478 part/models.py:2479
+#: templates/InvenTree/settings/settings.html:158
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Data"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2310 templates/InvenTree/settings/settings.html:173
+#: part/models.py:2483 templates/InvenTree/settings/settings.html:167
msgid "Default Value"
msgstr ""
-#: part/models.py:2311
+#: part/models.py:2484
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2561
msgid "Select parent part"
msgstr ""
-#: part/models.py:2370
+#: part/models.py:2569
msgid "Sub part"
msgstr ""
-#: part/models.py:2371
+#: part/models.py:2570
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2377
+#: part/models.py:2576
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2379 templates/js/translated/bom.js:275
-#: templates/js/translated/bom.js:335
+#: part/models.py:2578 templates/js/translated/bom.js:452
+#: templates/js/translated/bom.js:526
+#: templates/js/translated/table_filters.js:86
msgid "Optional"
msgstr ""
-#: part/models.py:2379
+#: part/models.py:2578
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2382
+#: part/models.py:2581
msgid "Overage"
msgstr ""
-#: part/models.py:2383
+#: part/models.py:2582
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2585
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2588
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "Checksum"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2395 templates/js/translated/bom.js:352
-#: templates/js/translated/bom.js:359
+#: part/models.py:2594 templates/js/translated/bom.js:543
+#: templates/js/translated/bom.js:550
#: templates/js/translated/table_filters.js:68
+#: templates/js/translated/table_filters.js:82
msgid "Inherited"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2595
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2401 templates/js/translated/bom.js:344
+#: part/models.py:2600 templates/js/translated/bom.js:535
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2402
+#: part/models.py:2601
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2487 stock/models.py:341
+#: part/models.py:2686 stock/models.py:371
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2496 part/models.py:2498
+#: part/models.py:2695 part/models.py:2697
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2620
+#: part/models.py:2826
+msgid "BOM Item Substitute"
+msgstr ""
+
+#: part/models.py:2848
+msgid "Substitute part cannot be the same as the master part"
+msgstr ""
+
+#: part/models.py:2860
+msgid "Parent BOM item"
+msgstr ""
+
+#: part/models.py:2868
+msgid "Substitute part"
+msgstr ""
+
+#: part/models.py:2879
msgid "Part 1"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Part 2"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2656
+#: part/models.py:2915
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
+#: part/tasks.py:53
+msgid "Low stock notification"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
-#: part/templates/part/bom.html:14
+#: part/templates/part/bom.html:15
#, python-format
msgid "The BOM for %(part)s has changed, and must be validated.
"
msgstr ""
-#: part/templates/part/bom.html:16
+#: part/templates/part/bom.html:17
#, python-format
msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s"
msgstr ""
-#: part/templates/part/bom.html:20
+#: part/templates/part/bom.html:21
#, python-format
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:27
-msgid "Remove selected BOM items"
-msgstr ""
-
-#: part/templates/part/bom.html:30
-msgid "Import BOM data"
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:383
+msgid "BOM actions"
msgstr ""
#: part/templates/part/bom.html:34
-msgid "Copy BOM from parent part"
-msgstr ""
-
-#: part/templates/part/bom.html:38
-msgid "New BOM Item"
-msgstr ""
-
-#: part/templates/part/bom.html:41
-msgid "Finish Editing"
-msgstr ""
-
-#: part/templates/part/bom.html:46
-msgid "Edit BOM"
-msgstr ""
-
-#: part/templates/part/bom.html:50
-msgid "Validate Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:56 part/views.py:1220
-msgid "Export Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:59
-msgid "Print BOM Report"
+msgid "Delete Items"
msgstr ""
#: part/templates/part/bom_duplicate.html:13
@@ -4360,28 +4170,23 @@ msgstr ""
msgid "Select Part"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:13
-#: part/templates/part/bom_upload/upload_file.html:16
-msgid "Return To BOM"
-msgstr ""
-
-#: part/templates/part/bom_upload/upload_file.html:27
+#: part/templates/part/bom_upload/upload_file.html:12
msgid "Upload Bill of Materials"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:46
+#: part/templates/part/bom_upload/upload_file.html:32
msgid "Requirements for BOM upload"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "The BOM file must contain the required named columns as provided in the "
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "BOM Upload Template"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:49
+#: part/templates/part/bom_upload/upload_file.html:35
msgid "Each part must already exist in the database"
msgstr ""
@@ -4394,93 +4199,113 @@ msgstr ""
msgid "This will validate each line in the BOM."
msgstr ""
-#: part/templates/part/category.html:33
-msgid "All parts"
+#: part/templates/part/category.html:24 part/templates/part/category.html:28
+msgid "You are subscribed to notifications for this category"
+msgstr ""
+
+#: part/templates/part/category.html:32
+msgid "Subscribe to notifications for this category"
msgstr ""
#: part/templates/part/category.html:38
+msgid "Category Actions"
+msgstr ""
+
+#: part/templates/part/category.html:43
+#, fuzzy
+#| msgid "Select Category"
+msgid "Edit category"
+msgstr "Velg kategori"
+
+#: part/templates/part/category.html:44
+#, fuzzy
+#| msgid "Select Category"
+msgid "Edit Category"
+msgstr "Velg kategori"
+
+#: part/templates/part/category.html:48
+#, fuzzy
+#| msgid "Select Category"
+msgid "Delete category"
+msgstr "Velg kategori"
+
+#: part/templates/part/category.html:49
+#, fuzzy
+#| msgid "Select Category"
+msgid "Delete Category"
+msgstr "Velg kategori"
+
+#: part/templates/part/category.html:57
msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:44
-msgid "Edit part category"
+#: part/templates/part/category.html:58
+#, fuzzy
+#| msgid "Select Category"
+msgid "New Category"
+msgstr "Velg kategori"
+
+#: part/templates/part/category.html:67
+msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:49
-msgid "Delete part category"
-msgstr ""
-
-#: part/templates/part/category.html:59 part/templates/part/category.html:98
-msgid "Category Details"
-msgstr ""
-
-#: part/templates/part/category.html:64
+#: part/templates/part/category.html:79
msgid "Category Path"
msgstr ""
-#: part/templates/part/category.html:69
+#: part/templates/part/category.html:84
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:175
-#: part/templates/part/category_navbar.html:14
-#: part/templates/part/category_navbar.html:17
+#: part/templates/part/category.html:103 part/templates/part/category.html:194
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:93
+#: part/templates/part/category.html:108
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:126
+#: part/templates/part/category.html:145
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:142
+#: part/templates/part/category.html:146 part/templates/part/category.html:170
msgid "Export"
msgstr ""
-#: part/templates/part/category.html:130
+#: part/templates/part/category.html:149
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 templates/js/translated/bom.js:39
+#: part/templates/part/category.html:150 templates/js/translated/bom.js:40
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:141
+#: part/templates/part/category.html:168
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:142
+#: part/templates/part/category.html:170
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:146
-msgid "View list display"
-msgstr ""
-
-#: part/templates/part/category.html:149
-msgid "View grid display"
-msgstr ""
-
-#: part/templates/part/category.html:165
+#: part/templates/part/category.html:184
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:254
+#: part/templates/part/category.html:261
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:281
+#: part/templates/part/category.html:288
msgid "Create Part"
msgstr ""
@@ -4519,12 +4344,7 @@ msgstr ""
msgid "If this category is deleted, these parts will be moved to the top-level category Teile"
msgstr ""
-#: part/templates/part/category_navbar.html:29
-#: part/templates/part/category_navbar.html:32
-msgid "Import Parts"
-msgstr ""
-
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365
msgid "Duplicate Part"
msgstr ""
@@ -4549,311 +4369,315 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)"
msgstr ""
#: part/templates/part/detail.html:16
+msgid "Part Details"
+msgstr ""
+
+#: part/templates/part/detail.html:66
+msgid "Minimum stock level"
+msgstr ""
+
+#: part/templates/part/detail.html:97
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/detail.html:124
msgid "Part Stock"
msgstr ""
-#: part/templates/part/detail.html:21
+#: part/templates/part/detail.html:136
#, python-format
msgid "Showing stock for all variants of %(full_name)s"
msgstr ""
-#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99
+#: part/templates/part/detail.html:146
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:36
+#: part/templates/part/detail.html:151
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:77
-msgid "New sales order"
-msgstr ""
-
-#: part/templates/part/detail.html:77
-msgid "New Order"
-msgstr ""
-
-#: part/templates/part/detail.html:90
+#: part/templates/part/detail.html:208
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27
+#: part/templates/part/detail.html:249
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:137
+#: part/templates/part/detail.html:253
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:138
+#: part/templates/part/detail.html:254
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:161
+#: part/templates/part/detail.html:281
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107
-#: part/templates/part/navbar.html:110
+#: part/templates/part/detail.html:315
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:188
+#: part/templates/part/detail.html:319 part/templates/part/detail.html:320
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43
-#: part/templates/part/navbar.html:46
+#: part/templates/part/detail.html:366
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:237
+#: part/templates/part/detail.html:371
+msgid "Export actions"
+msgstr ""
+
+#: part/templates/part/detail.html:375
+msgid "Export BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:377
+msgid "Print BOM Report"
+msgstr ""
+
+#: part/templates/part/detail.html:387
+msgid "Upload BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:389 templates/js/translated/part.js:266
+msgid "Copy BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:391 part/views.py:820
+msgid "Validate BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:396
+msgid "New BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:397
+msgid "Add BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:410
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:253
+#: part/templates/part/detail.html:427
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:260
-msgid "Start New Build"
-msgstr ""
-
-#: part/templates/part/detail.html:274
+#: part/templates/part/detail.html:452
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:283
+#: part/templates/part/detail.html:462
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:305
+#: part/templates/part/detail.html:489
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:317
+#: part/templates/part/detail.html:505
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:502
+#: part/templates/part/detail.html:686
msgid "Delete selected BOM items?"
msgstr ""
-#: part/templates/part/detail.html:503
+#: part/templates/part/detail.html:687
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:554
+#: part/templates/part/detail.html:738
msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:699
+#: part/templates/part/detail.html:876
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:755
+#: part/templates/part/detail.html:933
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:907
+#: part/templates/part/detail.html:1085
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:919
+#: part/templates/part/detail.html:1097
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:931
+#: part/templates/part/detail.html:1109
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1020
+#: part/templates/part/detail.html:1198
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
#: part/templates/part/import_wizard/ajax_part_upload.html:29
-#: part/templates/part/import_wizard/part_upload.html:51
+#: part/templates/part/import_wizard/part_upload.html:52
msgid "Unsuffitient privileges."
msgstr ""
-#: part/templates/part/import_wizard/part_upload.html:14
+#: part/templates/part/import_wizard/part_upload.html:15
msgid "Import Parts from File"
msgstr ""
-#: part/templates/part/navbar.html:30
-msgid "Variants"
-msgstr ""
-
-#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/navbar.html:70
-msgid "Prices"
-msgstr ""
-
-#: part/templates/part/navbar.html:102
-msgid "Test Templates"
-msgstr ""
-
#: part/templates/part/part_app_base.html:12
msgid "Part List"
msgstr ""
+#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31
+msgid "You are subscribed to notifications for this part"
+msgstr ""
+
#: part/templates/part/part_base.html:35
-msgid "Part is a template part (variants can be made from this part)"
+msgid "Subscribe to notifications for this part"
msgstr ""
-#: part/templates/part/part_base.html:38
-msgid "Part can be assembled from other parts"
-msgstr ""
-
-#: part/templates/part/part_base.html:41
-msgid "Part can be used in assemblies"
-msgstr ""
-
-#: part/templates/part/part_base.html:44
-msgid "Part stock is tracked by serial number"
-msgstr ""
-
-#: part/templates/part/part_base.html:47
-msgid "Part can be purchased from external suppliers"
-msgstr ""
-
-#: part/templates/part/part_base.html:50
-msgid "Part can be sold to customers"
-msgstr ""
-
-#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504
-#: templates/js/translated/company.js:761 templates/js/translated/part.js:443
-#: templates/js/translated/part.js:520
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:73
-msgid "Star this part"
-msgstr ""
-
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:75
-#: stock/templates/stock/location.html:51
+#: part/templates/part/part_base.html:43
+#: stock/templates/stock/item_base.html:28
+#: stock/templates/stock/location.html:29
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:82
-#: stock/templates/stock/item_base.html:77
-#: stock/templates/stock/location.html:53 templates/qr_button.html:1
+#: part/templates/part/part_base.html:45
+#: stock/templates/stock/item_base.html:32
+#: stock/templates/stock/location.html:31 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:83
-#: stock/templates/stock/item_base.html:93
-#: stock/templates/stock/location.html:54
+#: part/templates/part/part_base.html:46
+#: stock/templates/stock/item_base.html:48
+#: stock/templates/stock/location.html:32
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:89
+#: part/templates/part/part_base.html:51
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:95
-#: stock/templates/stock/item_base.html:142
-#: stock/templates/stock/location.html:62
+#: part/templates/part/part_base.html:56
+#: stock/templates/stock/item_base.html:103
+#: stock/templates/stock/location.html:40
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:102
+#: part/templates/part/part_base.html:63
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:108
+#: part/templates/part/part_base.html:69
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:125
+#: part/templates/part/part_base.html:84
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:128
+#: part/templates/part/part_base.html:87
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:131
+#: part/templates/part/part_base.html:90
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:134
+#: part/templates/part/part_base.html:93
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:146
+#: part/templates/part/part_base.html:109
+msgid "Part is a template part (variants can be made from this part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:113
+msgid "Part can be assembled from other parts"
+msgstr ""
+
+#: part/templates/part/part_base.html:117
+msgid "Part can be used in assemblies"
+msgstr ""
+
+#: part/templates/part/part_base.html:121
+msgid "Part stock is tracked by serial number"
+msgstr ""
+
+#: part/templates/part/part_base.html:125
+msgid "Part can be purchased from external suppliers"
+msgstr ""
+
+#: part/templates/part/part_base.html:129
+msgid "Part can be sold to customers"
+msgstr ""
+
+#: part/templates/part/part_base.html:135
+#: part/templates/part/part_base.html:143
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:136
+#: templates/js/translated/company.js:504
+#: templates/js/translated/company.js:761
+#: templates/js/translated/model_renderers.js:175
+#: templates/js/translated/part.js:464 templates/js/translated/part.js:541
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:155
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:161
-#: templates/js/translated/model_renderers.js:169
-#: templates/js/translated/order.js:1503
-#: templates/js/translated/table_filters.js:166
+#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524
+#: templates/js/translated/table_filters.js:182
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960
+#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961
msgid "On Order"
msgstr ""
-#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:181
+#: part/templates/part/part_base.html:199
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:188
+#: part/templates/part/part_base.html:206
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373
+#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776
-#: templates/js/translated/part.js:964
+#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793
+#: templates/js/translated/part.js:965
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:223
-#: part/templates/part/part_base.html:531
-#: part/templates/part/part_base.html:557
-msgid "Show Part Details"
-msgstr ""
-
-#: part/templates/part/part_base.html:283
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144
+#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:445
+#: part/templates/part/part_base.html:363
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:526
-#: part/templates/part/part_base.html:551
-msgid "Hide Part Details"
-msgstr ""
-
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4877,7 +4701,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
-#: templates/js/translated/bom.js:327
+#: templates/js/translated/bom.js:518
msgid "No supplier pricing available"
msgstr ""
@@ -4911,13 +4735,14 @@ msgstr ""
msgid "No pricing information is available for this part."
msgstr ""
-#: part/templates/part/part_thumb.html:20
+#: part/templates/part/part_thumb.html:11
msgid "Select from existing images"
msgstr ""
#: part/templates/part/partial_delete.html:9
#, python-format
-msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
+msgid ""
+"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
"
Disable the \"Active\" part attribute and re-try.\n"
" "
msgstr ""
@@ -4980,7 +4805,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321
+#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512
msgid "Supplier Cost"
msgstr ""
@@ -5002,7 +4827,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:215 part/views.py:1801
+#: part/templates/part/prices.html:215 part/views.py:1853
msgid "Add Internal Price Break"
msgstr ""
@@ -5022,13 +4847,13 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297
-#: templates/js/translated/model_renderers.js:167
-#: templates/js/translated/part.js:766 templates/js/translated/part.js:968
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474
+#: templates/js/translated/part.js:428 templates/js/translated/part.js:783
+#: templates/js/translated/part.js:969
msgid "No Stock"
msgstr ""
-#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166
+#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158
msgid "Low Stock"
msgstr ""
@@ -5041,135 +4866,140 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:106
+#: part/templatetags/inventree_extras.py:113
msgid "Unknown database"
msgstr ""
-#: part/views.py:94
+#: part/views.py:95
msgid "Add Related Part"
msgstr ""
-#: part/views.py:149
+#: part/views.py:150
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:160
+#: part/views.py:161
msgid "Set Part Category"
msgstr ""
-#: part/views.py:210
+#: part/views.py:211
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:270
+#: part/views.py:283
msgid "Match References"
msgstr ""
-#: part/views.py:526
+#: part/views.py:567
msgid "None"
msgstr ""
-#: part/views.py:585
+#: part/views.py:626
msgid "Part QR Code"
msgstr ""
-#: part/views.py:687
+#: part/views.py:728
msgid "Select Part Image"
msgstr ""
-#: part/views.py:713
+#: part/views.py:754
msgid "Updated part image"
msgstr ""
-#: part/views.py:716
+#: part/views.py:757
msgid "Part image not found"
msgstr ""
-#: part/views.py:728
+#: part/views.py:769
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:758
+#: part/views.py:799
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:779
-msgid "Validate BOM"
-msgstr ""
-
-#: part/views.py:800
+#: part/views.py:841
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:811
+#: part/views.py:852
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:884
+#: part/views.py:925
msgid "Match Parts"
msgstr ""
-#: part/views.py:1272
+#: part/views.py:1261
+msgid "Export Bill of Materials"
+msgstr ""
+
+#: part/views.py:1313
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1279
+#: part/views.py:1320
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1288
+#: part/views.py:1329
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1437
+#: part/views.py:1478
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1447
+#: part/views.py:1488
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1454
+#: part/views.py:1495
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1502 templates/js/translated/part.js:308
+#: part/views.py:1554 templates/js/translated/part.js:309
msgid "Edit Part Category"
msgstr ""
-#: part/views.py:1540
+#: part/views.py:1592
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1546
+#: part/views.py:1598
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1555
+#: part/views.py:1607
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1656
+#: part/views.py:1708
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1712
+#: part/views.py:1764
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:1734
+#: part/views.py:1786
msgid "Added new price break"
msgstr ""
-#: part/views.py:1810
+#: part/views.py:1862
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:1818
+#: part/views.py:1870
msgid "Delete Internal Price Break"
msgstr ""
+#: report/api.py:234 report/api.py:278
+#, python-brace-format
+msgid "Template file '{filename}' is missing or does not exist"
+msgstr ""
+
#: report/models.py:182
msgid "Template name"
msgstr ""
@@ -5206,51 +5036,51 @@ msgstr ""
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:380
+#: report/models.py:382
msgid "Build Filters"
msgstr ""
-#: report/models.py:381
+#: report/models.py:383
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:423
+#: report/models.py:425
msgid "Part Filters"
msgstr ""
-#: report/models.py:424
+#: report/models.py:426
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:458
+#: report/models.py:460
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:496
+#: report/models.py:498
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:546
+#: report/models.py:548
msgid "Snippet"
msgstr ""
-#: report/models.py:547
+#: report/models.py:549
msgid "Report snippet file"
msgstr ""
-#: report/models.py:551
+#: report/models.py:553
msgid "Snippet file description"
msgstr ""
-#: report/models.py:586
+#: report/models.py:588
msgid "Asset"
msgstr ""
-#: report/models.py:587
+#: report/models.py:589
msgid "Report asset file"
msgstr ""
-#: report/models.py:590
+#: report/models.py:592
msgid "Asset file description"
msgstr ""
@@ -5267,543 +5097,584 @@ msgstr ""
msgid "Stock Item Test Report"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:83
-msgid "Test Results"
+#: report/templates/report/inventree_test_report_base.html:79
+#: stock/models.py:530 stock/templates/stock/item_base.html:238
+#: templates/js/translated/build.js:233 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1013
+#: templates/js/translated/model_renderers.js:95
+#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355
+msgid "Serial Number"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:1804
+msgid "Test Results"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:93
+#: stock/models.py:1855
msgid "Test"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:89
-#: stock/models.py:1810
+#: report/templates/report/inventree_test_report_base.html:94
+#: stock/models.py:1861
msgid "Result"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502
+#: report/templates/report/inventree_test_report_base.html:97
+#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887
msgid "Date"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:103
+#: report/templates/report/inventree_test_report_base.html:108
msgid "Pass"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:105
+#: report/templates/report/inventree_test_report_base.html:110
msgid "Fail"
msgstr ""
-#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556
-#: stock/templates/stock/item_base.html:395
-#: templates/js/translated/stock.js:946
+#: report/templates/report/inventree_test_report_base.html:123
+msgid "Installed Items"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:137
+#: templates/js/translated/stock.js:2147
+msgid "Serial"
+msgstr ""
+
+#: stock/api.py:422
+msgid "Quantity is required"
+msgstr ""
+
+#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587
+#: stock/templates/stock/item_base.html:382
+#: templates/js/translated/stock.js:1246
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:308
+#: stock/forms.py:92 stock/forms.py:266
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:83
+#: stock/forms.py:95
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:134
+#: stock/forms.py:150
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:138 stock/forms.py:282
+#: stock/forms.py:154 stock/forms.py:238
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:168 stock/forms.py:224
-msgid "Select test report template"
-msgstr ""
-
-#: stock/forms.py:240
+#: stock/forms.py:194
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:270
+#: stock/forms.py:224
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:280
+#: stock/forms.py:236
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm removal of installed stock items"
msgstr ""
-#: stock/models.py:57 stock/models.py:593
+#: stock/models.py:60 stock/models.py:624
+#: stock/templates/stock/item_base.html:422
msgid "Owner"
msgstr ""
-#: stock/models.py:58 stock/models.py:594
+#: stock/models.py:61 stock/models.py:625
msgid "Select Owner"
msgstr ""
-#: stock/models.py:322
+#: stock/models.py:352
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:358
+#: stock/models.py:388
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:368 stock/models.py:377
+#: stock/models.py:398 stock/models.py:407
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:369
+#: stock/models.py:399
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:391
+#: stock/models.py:421
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:397
+#: stock/models.py:427
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:404
+#: stock/models.py:434
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:446
+#: stock/models.py:476
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:455
+#: stock/models.py:485
msgid "Base part"
msgstr ""
-#: stock/models.py:464
+#: stock/models.py:493
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8
+#: stock/models.py:498 stock/templates/stock/location.html:12
+#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:472
+#: stock/models.py:501
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:479
+#: stock/models.py:508
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:484 stock/templates/stock/item_base.html:284
+#: stock/models.py:513 stock/templates/stock/item_base.html:271
msgid "Installed In"
msgstr ""
-#: stock/models.py:487
+#: stock/models.py:516
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:503
+#: stock/models.py:532
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:515
+#: stock/models.py:546
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:519
+#: stock/models.py:550
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:528
+#: stock/models.py:559
msgid "Source Build"
msgstr ""
-#: stock/models.py:530
+#: stock/models.py:561
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:541
+#: stock/models.py:572
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:544
+#: stock/models.py:575
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:550
+#: stock/models.py:581
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:557
+#: stock/models.py:588
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:580 stock/templates/stock/item.html:99
-#: stock/templates/stock/navbar.html:54
+#: stock/models.py:611 stock/templates/stock/item.html:111
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:589
+#: stock/models.py:620
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:599
+#: stock/models.py:630
msgid "Scheduled for deletion"
msgstr ""
-#: stock/models.py:600
+#: stock/models.py:631
msgid "This StockItem will be deleted by the background worker"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1094
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1069
+#: stock/models.py:1100
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1075
+#: stock/models.py:1106
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1078
+#: stock/models.py:1109
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1081
+#: stock/models.py:1112
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1088
+#: stock/models.py:1119
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1246
+#: stock/models.py:1277
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:1724
+#: stock/models.py:1775
msgid "Entry notes"
msgstr ""
-#: stock/models.py:1781
+#: stock/models.py:1832
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:1787
+#: stock/models.py:1838
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:1805
+#: stock/models.py:1856
msgid "Test name"
msgstr ""
-#: stock/models.py:1811 templates/js/translated/table_filters.js:244
+#: stock/models.py:1862 templates/js/translated/table_filters.js:260
msgid "Test result"
msgstr ""
-#: stock/models.py:1817
+#: stock/models.py:1868
msgid "Test output value"
msgstr ""
-#: stock/models.py:1824
+#: stock/models.py:1875
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:1830
+#: stock/models.py:1881
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:424
-msgid "StockItem primary key value"
+#: stock/serializers.py:166
+msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:452
-msgid "Stock transaction notes"
+#: stock/serializers.py:173
+msgid "Purchase currency of this stock item"
msgstr ""
-#: stock/serializers.py:462
-msgid "A list of stock items must be provided"
+#: stock/serializers.py:287
+msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:554
+#: stock/serializers.py:302
+#, python-brace-format
+msgid "Quantity must not exceed available stock quantity ({q})"
+msgstr ""
+
+#: stock/serializers.py:308
+#, fuzzy
+#| msgid "No serial numbers found"
+msgid "Enter serial numbers for new items"
+msgstr "Ingen serienummer funnet"
+
+#: stock/serializers.py:319 stock/serializers.py:687
msgid "Destination stock location"
msgstr ""
-#: stock/templates/stock/item.html:17
+#: stock/serializers.py:326
+msgid "Optional note field"
+msgstr ""
+
+#: stock/serializers.py:339
+msgid "Serial numbers cannot be assigned to this part"
+msgstr ""
+
+#: stock/serializers.py:557
+msgid "StockItem primary key value"
+msgstr ""
+
+#: stock/serializers.py:585
+msgid "Stock transaction notes"
+msgstr ""
+
+#: stock/serializers.py:595
+msgid "A list of stock items must be provided"
+msgstr ""
+
+#: stock/templates/stock/item.html:18
msgid "Stock Tracking Information"
msgstr ""
-#: stock/templates/stock/item.html:30
+#: stock/templates/stock/item.html:29
msgid "New Entry"
msgstr ""
-#: stock/templates/stock/item.html:43
+#: stock/templates/stock/item.html:48
msgid "Child Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:50
+#: stock/templates/stock/item.html:55
msgid "This stock item does not have any child items"
msgstr ""
-#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19
-#: stock/templates/stock/navbar.html:22
+#: stock/templates/stock/item.html:64
msgid "Test Data"
msgstr ""
-#: stock/templates/stock/item.html:66
-msgid "Delete Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:70
-msgid "Add Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95
+#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50
msgid "Test Report"
msgstr ""
-#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27
+#: stock/templates/stock/item.html:72
+msgid "Delete Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:76
+msgid "Add Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:133
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:125 stock/views.py:511
+#: stock/templates/stock/item.html:137 stock/views.py:515
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326
+#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:346
+#: stock/templates/stock/item.html:363
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:360
+#: stock/templates/stock/item.html:377
msgid "Delete Test Result"
msgstr ""
-#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:399
-#: templates/js/translated/table_filters.js:225
-msgid "Expired"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:401
-#: templates/js/translated/table_filters.js:231
-msgid "Stale"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:80
-#: templates/js/translated/barcode.js:331
-#: templates/js/translated/barcode.js:336
+#: stock/templates/stock/item_base.html:35
+#: templates/js/translated/barcode.js:330
+#: templates/js/translated/barcode.js:335
msgid "Unlink Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/item_base.html:37
msgid "Link Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31
+#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24
msgid "Scan to Location"
msgstr ""
-#: stock/templates/stock/item_base.html:91
+#: stock/templates/stock/item_base.html:46
msgid "Printing actions"
msgstr ""
-#: stock/templates/stock/item_base.html:104
+#: stock/templates/stock/item_base.html:65
msgid "Stock adjustment actions"
msgstr ""
-#: stock/templates/stock/item_base.html:108
-#: stock/templates/stock/location.html:69 templates/stock_table.html:57
+#: stock/templates/stock/item_base.html:69
+#: stock/templates/stock/location.html:47 templates/stock_table.html:50
msgid "Count stock"
msgstr ""
-#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55
+#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48
msgid "Add stock"
msgstr ""
-#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56
+#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49
msgid "Remove stock"
msgstr ""
-#: stock/templates/stock/item_base.html:117
+#: stock/templates/stock/item_base.html:78
msgid "Serialize stock"
msgstr ""
-#: stock/templates/stock/item_base.html:121
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/location.html:53
msgid "Transfer stock"
msgstr ""
-#: stock/templates/stock/item_base.html:124
+#: stock/templates/stock/item_base.html:85
msgid "Assign to customer"
msgstr ""
-#: stock/templates/stock/item_base.html:127
+#: stock/templates/stock/item_base.html:88
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install"
msgstr ""
-#: stock/templates/stock/item_base.html:145
+#: stock/templates/stock/item_base.html:106
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:109
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:150
+#: stock/templates/stock/item_base.html:111
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:153
+#: stock/templates/stock/item_base.html:114
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:173
+#: stock/templates/stock/item_base.html:136
+#: stock/templates/stock/item_base.html:386
+#: templates/js/translated/table_filters.js:241
+msgid "Expired"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/table_filters.js:247
+msgid "Stale"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:161
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:180
+#: stock/templates/stock/item_base.html:168
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:181
+#: stock/templates/stock/item_base.html:169
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:194
+#: stock/templates/stock/item_base.html:182
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:202
+#: stock/templates/stock/item_base.html:190
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:210
+#: stock/templates/stock/item_base.html:198
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:216
+#: stock/templates/stock/item_base.html:204
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:220
+#: stock/templates/stock/item_base.html:208
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:224
+#: stock/templates/stock/item_base.html:212
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:232
-msgid "Stock Item Details"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:241
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:260
+#: stock/templates/stock/item_base.html:247
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:303
-#: templates/js/translated/build.js:658
+#: stock/templates/stock/item_base.html:290
+#: templates/js/translated/build.js:1035
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:310
+#: stock/templates/stock/item_base.html:297
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:352
+#: stock/templates/stock/item_base.html:339
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:370
+#: stock/templates/stock/item_base.html:357
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:399
+#: stock/templates/stock/item_base.html:386
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:401
+#: stock/templates/stock/item_base.html:388
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:408
-#: templates/js/translated/stock.js:959
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1259
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:413
+#: stock/templates/stock/item_base.html:400
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:417
+#: stock/templates/stock/item_base.html:404
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:428
+#: stock/templates/stock/item_base.html:415
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:516
-msgid "Save"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:528
+#: stock/templates/stock/item_base.html:504
msgid "Edit Stock Status"
msgstr ""
@@ -5857,106 +5728,68 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:20
-msgid "You are not in the list of owners of this location. This stock location cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/location.html:37
-msgid "All stock items"
-msgstr ""
-
-#: stock/templates/stock/location.html:42
-msgid "Create new stock location"
-msgstr ""
-
-#: stock/templates/stock/location.html:55
+#: stock/templates/stock/location.html:33
msgid "Check-in Items"
msgstr ""
-#: stock/templates/stock/location.html:83
+#: stock/templates/stock/location.html:61
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:85
+#: stock/templates/stock/location.html:63
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:87
+#: stock/templates/stock/location.html:65
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:99
-msgid "Location Details"
+#: stock/templates/stock/location.html:75
+msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:104
-msgid "Location Path"
+#: stock/templates/stock/location.html:76
+msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:109
-msgid "Location Description"
+#: stock/templates/stock/location.html:86
+msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:114
-#: stock/templates/stock/location.html:155
-#: stock/templates/stock/location_navbar.html:11
-#: stock/templates/stock/location_navbar.html:14
+#: stock/templates/stock/location.html:95
+msgid "You are not in the list of owners of this location. This stock location cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/location.html:113
+#: stock/templates/stock/location.html:160
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:124
-msgid "Stock Details"
+#: stock/templates/stock/location.html:118
+#: stock/templates/stock/location.html:132
+#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158
+#: templates/js/translated/stock.js:1871 templates/stats.html:93
+#: templates/stats.html:102 users/models.py:43
+msgid "Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196
+#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170
#: templates/stats.html:97 users/models.py:42
msgid "Stock Locations"
msgstr ""
-#: stock/templates/stock/location.html:162 templates/stock_table.html:37
+#: stock/templates/stock/location.html:167 templates/stock_table.html:30
msgid "Printing Actions"
msgstr ""
-#: stock/templates/stock/location.html:166 templates/stock_table.html:41
+#: stock/templates/stock/location.html:171 templates/stock_table.html:34
msgid "Print labels"
msgstr ""
-#: stock/templates/stock/location.html:250
-msgid "New Location"
-msgstr ""
-
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
-msgstr ""
-
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: stock/templates/stock/navbar.html:11
-msgid "Stock Item Tracking"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:14
-msgid "History"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:30
-msgid "Installed Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:38
-msgid "Child Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:41
-msgid "Children"
-msgstr ""
-
-#: stock/templates/stock/stock_adjust.html:43
-msgid "Remove item"
-msgstr ""
-
#: stock/templates/stock/stock_app_base.html:16
msgid "Loading..."
msgstr ""
@@ -5965,7 +5798,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912
msgid "Convert Stock Item"
msgstr ""
@@ -5986,104 +5819,100 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:158
+#: stock/views.py:162
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:265 stock/views.py:888 stock/views.py:1010
-#: stock/views.py:1375
+#: stock/views.py:269 stock/views.py:891 stock/views.py:1017
+#: stock/views.py:1299
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:280
+#: stock/views.py:284
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:299
+#: stock/views.py:303
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:308
+#: stock/views.py:312
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:332
+#: stock/views.py:336
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:345
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:352
+#: stock/views.py:356
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:363
+#: stock/views.py:367
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:380
+#: stock/views.py:384
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:485
+#: stock/views.py:489
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:660
+#: stock/views.py:663
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:757 templates/js/translated/stock.js:321
+#: stock/views.py:760 templates/js/translated/stock.js:618
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:768
+#: stock/views.py:771
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:790
+#: stock/views.py:793 templates/js/translated/stock.js:288
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:936
+#: stock/views.py:943
msgid "Create new Stock Location"
msgstr ""
-#: stock/views.py:1027
-msgid "Serialize Stock"
-msgstr ""
-
-#: stock/views.py:1120
+#: stock/views.py:1044
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1262
+#: stock/views.py:1186 templates/js/translated/stock.js:268
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1344
+#: stock/views.py:1268
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1444
+#: stock/views.py:1368
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1457
+#: stock/views.py:1381
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1468
+#: stock/views.py:1392
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1475
+#: stock/views.py:1399
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1484
+#: stock/views.py:1408
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6107,63 +5936,67 @@ msgstr ""
msgid "Index"
msgstr ""
-#: templates/InvenTree/index.html:105
-msgid "Starred Parts"
+#: templates/InvenTree/index.html:88
+msgid "Subscribed Parts"
msgstr ""
-#: templates/InvenTree/index.html:115
+#: templates/InvenTree/index.html:98
+msgid "Subscribed Categories"
+msgstr ""
+
+#: templates/InvenTree/index.html:108
msgid "Latest Parts"
msgstr ""
-#: templates/InvenTree/index.html:126
+#: templates/InvenTree/index.html:119
msgid "BOM Waiting Validation"
msgstr ""
-#: templates/InvenTree/index.html:153
+#: templates/InvenTree/index.html:145
msgid "Recently Updated"
msgstr ""
-#: templates/InvenTree/index.html:176
+#: templates/InvenTree/index.html:168
msgid "Depleted Stock"
msgstr ""
-#: templates/InvenTree/index.html:199
+#: templates/InvenTree/index.html:191
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:202
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:232
+#: templates/InvenTree/index.html:224
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:243
+#: templates/InvenTree/index.html:235
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:263
+#: templates/InvenTree/index.html:255
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:274
+#: templates/InvenTree/index.html:266
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:294
+#: templates/InvenTree/index.html:286
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:305
+#: templates/InvenTree/index.html:297
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14
+#: templates/InvenTree/search.html:8
msgid "Search Results"
msgstr ""
-#: templates/InvenTree/search.html:24
+#: templates/InvenTree/search.html:22
msgid "Enter a search query"
msgstr ""
@@ -6183,23 +6016,23 @@ msgstr ""
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:23
+#: templates/InvenTree/settings/currencies.html:19
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:27
+#: templates/InvenTree/settings/currencies.html:24
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:37
+#: templates/InvenTree/settings/currencies.html:38
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:43
+#: templates/InvenTree/settings/currencies.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:48
+#: templates/InvenTree/settings/currencies.html:49
msgid "Update Now"
msgstr ""
@@ -6207,147 +6040,74 @@ msgstr ""
msgid "Server Settings"
msgstr ""
-#: templates/InvenTree/settings/header.html:7
-msgid "Setting"
-msgstr ""
-
#: templates/InvenTree/settings/login.html:9
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:12
-#: templates/InvenTree/settings/user_settings.html:9
-msgid "User Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:15
-#: templates/InvenTree/settings/navbar.html:17
-msgid "Account"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:21
-#: templates/InvenTree/settings/navbar.html:23
-msgid "Home Page"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29
-#: templates/js/translated/tables.js:375 templates/search_form.html:6
-#: templates/search_form.html:8
-msgid "Search"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:33
-#: templates/InvenTree/settings/navbar.html:35
-msgid "Labels"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:39
-#: templates/InvenTree/settings/navbar.html:41
-msgid "Reports"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:45
-#: templates/InvenTree/settings/navbar.html:47
-msgid "Forms"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:52
-#: templates/InvenTree/settings/navbar.html:54
-#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90
-msgid "Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:62
-msgid "InvenTree Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:65
-#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87
-msgid "Login"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:77
-#: templates/InvenTree/settings/navbar.html:79
-msgid "Barcodes"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85
-msgid "Currencies"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91
-msgid "Reporting"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103
-msgid "Categories"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:7
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:12
-msgid "Part Options"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:43
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:47
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:59
+#: templates/InvenTree/settings/part.html:61
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/po.html:9
+#: templates/InvenTree/settings/po.html:7
msgid "Purchase Order Settings"
msgstr ""
-#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:29
+#: templates/InvenTree/settings/setting.html:28
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:41
+#: templates/InvenTree/settings/setting.html:39
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:154
+#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93
+msgid "Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+msgid "Edit Global Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+msgid "Edit User Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:148
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:176
-#: templates/InvenTree/settings/settings.html:275
+#: templates/InvenTree/settings/settings.html:170
+#: templates/InvenTree/settings/settings.html:269
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:177
-#: templates/InvenTree/settings/settings.html:276
+#: templates/InvenTree/settings/settings.html:171
+#: templates/InvenTree/settings/settings.html:270
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:255
+#: templates/InvenTree/settings/settings.html:249
msgid "No part parameter templates found"
msgstr ""
@@ -6363,134 +6123,158 @@ msgstr ""
msgid "Account Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:19
+#: templates/InvenTree/settings/user.html:18
#: templates/js/translated/helpers.js:26
msgid "Edit"
msgstr ""
-#: templates/InvenTree/settings/user.html:21
+#: templates/InvenTree/settings/user.html:20
#: templates/account/password_reset_from_key.html:4
#: templates/account/password_reset_from_key.html:7
msgid "Change Password"
msgstr ""
-#: templates/InvenTree/settings/user.html:28
+#: templates/InvenTree/settings/user.html:31
msgid "Username"
msgstr ""
-#: templates/InvenTree/settings/user.html:32
+#: templates/InvenTree/settings/user.html:35
msgid "First Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:36
+#: templates/InvenTree/settings/user.html:39
msgid "Last Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:42
-msgid "E-Mail"
+#: templates/InvenTree/settings/user.html:54
+msgid "The following email addresses are associated with your account:"
msgstr ""
-#: templates/InvenTree/settings/user.html:47
-msgid "The following e-mail addresses are associated with your account:"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:61
+#: templates/InvenTree/settings/user.html:74
msgid "Verified"
msgstr ""
-#: templates/InvenTree/settings/user.html:63
+#: templates/InvenTree/settings/user.html:76
msgid "Unverified"
msgstr ""
-#: templates/InvenTree/settings/user.html:65
+#: templates/InvenTree/settings/user.html:78
msgid "Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:71
+#: templates/InvenTree/settings/user.html:84
msgid "Make Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:72
+#: templates/InvenTree/settings/user.html:85
msgid "Re-send Verification"
msgstr ""
-#: templates/InvenTree/settings/user.html:73
-#: templates/InvenTree/settings/user.html:130
+#: templates/InvenTree/settings/user.html:86
+#: templates/InvenTree/settings/user.html:153
msgid "Remove"
msgstr ""
-#: templates/InvenTree/settings/user.html:80
+#: templates/InvenTree/settings/user.html:93
msgid "Warning:"
msgstr ""
-#: templates/InvenTree/settings/user.html:81
-msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc."
+#: templates/InvenTree/settings/user.html:94
+msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc."
msgstr ""
-#: templates/InvenTree/settings/user.html:88
-msgid "Add E-mail Address"
+#: templates/InvenTree/settings/user.html:101
+msgid "Add Email Address"
msgstr ""
-#: templates/InvenTree/settings/user.html:93
-msgid "Add E-mail"
+#: templates/InvenTree/settings/user.html:111
+msgid "Enter e-mail address"
msgstr ""
-#: templates/InvenTree/settings/user.html:100
+#: templates/InvenTree/settings/user.html:113
+msgid "Add Email"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:123
msgid "Social Accounts"
msgstr ""
-#: templates/InvenTree/settings/user.html:105
+#: templates/InvenTree/settings/user.html:128
msgid "You can sign in to your account using any of the following third party accounts:"
msgstr ""
-#: templates/InvenTree/settings/user.html:138
-msgid "You currently have no social network accounts connected to this account."
+#: templates/InvenTree/settings/user.html:162
+msgid "There are no social network accounts connected to your InvenTree account"
msgstr ""
-#: templates/InvenTree/settings/user.html:142
+#: templates/InvenTree/settings/user.html:167
msgid "Add a 3rd Party Account"
msgstr ""
-#: templates/InvenTree/settings/user.html:153
-msgid "Theme Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:174
-msgid "Set Theme"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:181
+#: templates/InvenTree/settings/user.html:177
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:200
+#: templates/InvenTree/settings/user.html:186
+#, fuzzy
+#| msgid "Select Category"
+msgid "Select language"
+msgstr "Velg kategori"
+
+#: templates/InvenTree/settings/user.html:202
#, python-format
msgid "%(lang_translated)s%% translated"
msgstr ""
-#: templates/InvenTree/settings/user.html:202
+#: templates/InvenTree/settings/user.html:204
msgid "No translations available"
msgstr ""
-#: templates/InvenTree/settings/user.html:209
+#: templates/InvenTree/settings/user.html:211
msgid "Set Language"
msgstr ""
-#: templates/InvenTree/settings/user.html:214
-msgid "Help the translation efforts!"
+#: templates/InvenTree/settings/user.html:213
+msgid "Some languages are not complete"
msgstr ""
#: templates/InvenTree/settings/user.html:215
+msgid "Show only sufficent"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:217
+msgid "Show them too"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:224
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:225
#, python-format
msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
msgstr ""
-#: templates/InvenTree/settings/user.html:223
-msgid "Do you really want to remove the selected e-mail address?"
+#: templates/InvenTree/settings/user.html:233
+msgid "Do you really want to remove the selected email address?"
msgstr ""
-#: templates/InvenTree/settings/user_forms.html:9
-msgid "Form Settings"
+#: templates/InvenTree/settings/user_display.html:9
+msgid "Display Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:25
+msgid "Theme Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:35
+#, fuzzy
+#| msgid "Select Category"
+msgid "Select theme"
+msgstr "Velg kategori"
+
+#: templates/InvenTree/settings/user_display.html:46
+msgid "Set Theme"
msgstr ""
#: templates/InvenTree/settings/user_homepage.html:9
@@ -6505,124 +6289,139 @@ msgstr ""
msgid "Search Settings"
msgstr ""
-#: templates/about.html:13
+#: templates/InvenTree/settings/user_settings.html:9
+msgid "User Settings"
+msgstr ""
+
+#: templates/about.html:10
msgid "InvenTree Version Information"
msgstr ""
-#: templates/about.html:22
+#: templates/about.html:11 templates/about.html:105
+#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:964 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
+msgid "Close"
+msgstr ""
+
+#: templates/about.html:20
msgid "InvenTree Version"
msgstr ""
-#: templates/about.html:27
+#: templates/about.html:25
msgid "Development Version"
msgstr ""
-#: templates/about.html:30
+#: templates/about.html:28
msgid "Up to Date"
msgstr ""
-#: templates/about.html:32
+#: templates/about.html:30
msgid "Update Available"
msgstr ""
-#: templates/about.html:42
+#: templates/about.html:40
msgid "Commit Hash"
msgstr ""
-#: templates/about.html:49
+#: templates/about.html:47
msgid "Commit Date"
msgstr ""
-#: templates/about.html:55
+#: templates/about.html:53
msgid "InvenTree Documentation"
msgstr ""
-#: templates/about.html:60
+#: templates/about.html:58
msgid "API Version"
msgstr ""
-#: templates/about.html:65
+#: templates/about.html:63
msgid "Python Version"
msgstr ""
-#: templates/about.html:70
+#: templates/about.html:68
msgid "Django Version"
msgstr ""
-#: templates/about.html:75
+#: templates/about.html:73
msgid "View Code on GitHub"
msgstr ""
-#: templates/about.html:80
+#: templates/about.html:78
msgid "Credits"
msgstr ""
-#: templates/about.html:85
+#: templates/about.html:83
msgid "Mobile App"
msgstr ""
-#: templates/about.html:90
+#: templates/about.html:88
msgid "Submit Bug Report"
msgstr ""
-#: templates/about.html:97 templates/clip.html:4
+#: templates/about.html:95 templates/clip.html:4
msgid "copy to clipboard"
msgstr ""
-#: templates/about.html:97
+#: templates/about.html:95
msgid "copy version information"
msgstr ""
-#: templates/about.html:107 templates/js/translated/modals.js:50
-#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678
-#: templates/js/translated/modals.js:982 templates/modals.html:29
-#: templates/modals.html:54
-msgid "Close"
-msgstr ""
-
#: templates/account/email_confirm.html:6
#: templates/account/email_confirm.html:10
-msgid "Confirm E-mail Address"
+msgid "Confirm Email Address"
msgstr ""
#: templates/account/email_confirm.html:16
#, python-format
-msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s."
+msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
#: templates/account/email_confirm.html:27
#, python-format
-msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request."
+msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:5 templates/account/login.html:14
-#: templates/account/login.html:36
+#: templates/account/login.html:6 templates/account/login.html:16
+#: templates/account/login.html:39
msgid "Sign In"
msgstr ""
-#: templates/account/login.html:19
+#: templates/account/login.html:21
#, python-format
-msgid "Please sign in with one\n"
+msgid ""
+"Please sign in with one\n"
"of your existing third party accounts or sign up\n"
"for a account and sign in below:"
msgstr ""
-#: templates/account/login.html:23
+#: templates/account/login.html:25
#, python-format
-msgid "If you have not created an account yet, then please\n"
+msgid ""
+"If you have not created an account yet, then please\n"
"sign up first."
msgstr ""
-#: templates/account/login.html:38
+#: templates/account/login.html:42
msgid "Forgot Password?"
msgstr ""
-#: templates/account/login.html:45
+#: templates/account/login.html:47
+msgid "InvenTree demo instance"
+msgstr ""
+
+#: templates/account/login.html:47
+msgid "Click here for login details"
+msgstr ""
+
+#: templates/account/login.html:55
msgid "or use SSO"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
-#: templates/account/logout.html:17
+#: templates/account/logout.html:20
msgid "Sign Out"
msgstr ""
@@ -6630,13 +6429,17 @@ msgstr ""
msgid "Are you sure you want to sign out?"
msgstr ""
+#: templates/account/logout.html:19
+msgid "Back to Site"
+msgstr ""
+
#: templates/account/password_reset.html:5
#: templates/account/password_reset.html:12
msgid "Password Reset"
msgstr ""
#: templates/account/password_reset.html:18
-msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it."
+msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it."
msgstr ""
#: templates/account/password_reset.html:23
@@ -6656,11 +6459,13 @@ msgstr ""
msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
msgstr ""
-#: templates/account/password_reset_from_key.html:17
-msgid "change password"
-msgstr ""
+#: templates/account/password_reset_from_key.html:18
+#, fuzzy
+#| msgid "Enter password"
+msgid "Change password"
+msgstr "Oppgi passord"
-#: templates/account/password_reset_from_key.html:20
+#: templates/account/password_reset_from_key.html:22
msgid "Your password is now changed."
msgstr ""
@@ -6677,6 +6482,77 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/admin_button.html:2
+msgid "View in administration panel"
+msgstr ""
+
+#: templates/base.html:96
+msgid "Server Restart Required"
+msgstr ""
+
+#: templates/base.html:99
+msgid "A configuration option has been changed which requires a server restart"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Contact your system administrator for further information"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:7
+msgid "Stock is required for the following build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:8
+#, python-format
+msgid "Build order %(build)s - building %(quantity)s x %(part)s"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:10
+msgid "Click on the following link to view this build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:14
+msgid "The following parts are low on required stock"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:18
+#: templates/js/translated/bom.js:989
+msgid "Required Quantity"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:19
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129
+#: templates/js/translated/build.js:1749
+msgid "Available"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:38
+#: templates/email/low_stock_notification.html:31
+msgid "You are receiving this email because you are subscribed to notifications for this part "
+msgstr ""
+
+#: templates/email/email.html:35
+msgid "InvenTree version"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:7
+#, python-format
+msgid " The available stock for %(part)s has fallen below the configured minimum level"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:9
+msgid "Click on the following link to view this part"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:17
+msgid "Total Stock"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:19
+msgid "Minimum Quantity"
+msgstr ""
+
#: templates/image_download.html:8
msgid "Specify URL for downloading image"
msgstr ""
@@ -6693,138 +6569,59 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/report.js:47 templates/js/translated/report.js:67
-msgid "items selected"
-msgstr ""
-
-#: templates/js/report.js:55 templates/js/translated/report.js:75
-msgid "Select Report Template"
-msgstr ""
-
-#: templates/js/report.js:70 templates/js/translated/report.js:90
-msgid "Select Test Report Template"
-msgstr ""
-
-#: templates/js/report.js:98 templates/js/translated/label.js:29
-#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/report.js:99 templates/js/translated/report.js:119
-msgid "Stock item(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:116 templates/js/report.js:169
-#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331 templates/js/translated/report.js:136
-#: templates/js/translated/report.js:189 templates/js/translated/report.js:243
-#: templates/js/translated/report.js:297 templates/js/translated/report.js:351
-msgid "No Reports Found"
-msgstr ""
-
-#: templates/js/report.js:117 templates/js/translated/report.js:137
-msgid "No report templates found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/report.js:152 templates/js/translated/report.js:172
-msgid "Select Builds"
-msgstr ""
-
-#: templates/js/report.js:153 templates/js/translated/report.js:173
-msgid "Build(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:170 templates/js/translated/report.js:190
-msgid "No report templates found which match selected build(s)"
-msgstr ""
-
-#: templates/js/report.js:205 templates/js/translated/build.js:948
-#: templates/js/translated/label.js:134 templates/js/translated/report.js:225
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/report.js:206 templates/js/translated/report.js:226
-msgid "Part(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:224 templates/js/translated/report.js:244
-msgid "No report templates found which match selected part(s)"
-msgstr ""
-
-#: templates/js/report.js:259 templates/js/translated/report.js:279
-msgid "Select Purchase Orders"
-msgstr ""
-
-#: templates/js/report.js:260 templates/js/translated/report.js:280
-msgid "Purchase Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/report.js:278 templates/js/report.js:332
-#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
-msgid "No report templates found which match selected orders"
-msgstr ""
-
-#: templates/js/report.js:313 templates/js/translated/report.js:333
-msgid "Select Sales Orders"
-msgstr ""
-
-#: templates/js/report.js:314 templates/js/translated/report.js:334
-msgid "Sales Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053
+#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035
msgid "No response from the InvenTree server"
msgstr ""
-#: templates/js/translated/api.js:181
+#: templates/js/translated/api.js:191
msgid "Error 400: Bad request"
msgstr ""
-#: templates/js/translated/api.js:182
+#: templates/js/translated/api.js:192
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063
+#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055
msgid "The requested resource could not be located on the server"
msgstr ""
-#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060
msgid "Connection timeout while requesting data from server"
msgstr ""
-#: templates/js/translated/api.js:205
+#: templates/js/translated/api.js:215
msgid "Unhandled Error Code"
msgstr ""
-#: templates/js/translated/api.js:206
+#: templates/js/translated/api.js:216
msgid "Error code"
msgstr ""
@@ -6832,292 +6629,369 @@ msgstr ""
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:91
+#: templates/js/translated/attachment.js:95
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:104
+#: templates/js/translated/attachment.js:108
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:115
msgid "Delete attachment"
msgstr ""
-#: templates/js/translated/barcode.js:30
+#: templates/js/translated/barcode.js:29
msgid "Scan barcode data here using wedge scanner"
msgstr ""
-#: templates/js/translated/barcode.js:32
+#: templates/js/translated/barcode.js:31
msgid "Enter barcode data"
msgstr ""
-#: templates/js/translated/barcode.js:36
+#: templates/js/translated/barcode.js:35
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:54
+#: templates/js/translated/barcode.js:53
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:55
+#: templates/js/translated/barcode.js:54
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:93
+#: templates/js/translated/barcode.js:92
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:114
+#: templates/js/translated/barcode.js:113
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:141
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/barcode.js:140
+#: templates/js/translated/modals.js:1024
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:234
+#: templates/js/translated/barcode.js:233
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:281 templates/navbar.html:65
+#: templates/js/translated/barcode.js:280 templates/navbar.html:69
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:292
+#: templates/js/translated/barcode.js:291
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:310
+#: templates/js/translated/barcode.js:309
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:333
+#: templates/js/translated/barcode.js:332
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:339
+#: templates/js/translated/barcode.js:338
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273
+#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:440
+#: templates/js/translated/barcode.js:439
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:444
-#: templates/js/translated/barcode.js:571
+#: templates/js/translated/barcode.js:443
+#: templates/js/translated/barcode.js:573
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:486
-#: templates/js/translated/barcode.js:610
+#: templates/js/translated/barcode.js:485
+#: templates/js/translated/barcode.js:612
msgid "Error transferring stock"
msgstr ""
-#: templates/js/translated/barcode.js:505
+#: templates/js/translated/barcode.js:507
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:509
+#: templates/js/translated/barcode.js:511
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:516
+#: templates/js/translated/barcode.js:518
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:523
+#: templates/js/translated/barcode.js:525
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:566
+#: templates/js/translated/barcode.js:568
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:629
+#: templates/js/translated/barcode.js:633
msgid "Barcode does not match a valid location"
msgstr ""
-#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495
+#: templates/js/translated/bom.js:184
+msgid "Remove substitute part"
+msgstr ""
+
+#: templates/js/translated/bom.js:226
+msgid "Select and add a new variant item using the input below"
+msgstr ""
+
+#: templates/js/translated/bom.js:237
+msgid "Are you sure you wish to remove this substitute part link?"
+msgstr ""
+
+#: templates/js/translated/bom.js:243
+msgid "Remove Substitute Part"
+msgstr ""
+
+#: templates/js/translated/bom.js:282
+msgid "Add Substitute"
+msgstr ""
+
+#: templates/js/translated/bom.js:283
+msgid "Edit BOM Item Substitutes"
+msgstr ""
+
+#: templates/js/translated/bom.js:402
+msgid "Substitutes Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111
+msgid "Variant stock allowed"
+msgstr ""
+
+#: templates/js/translated/bom.js:411
msgid "Open subassembly"
msgstr ""
-#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744
-#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522
-msgid "Available"
+#: templates/js/translated/bom.js:483
+msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:307
+#: templates/js/translated/bom.js:498
msgid "Purchase Price Range"
msgstr ""
-#: templates/js/translated/bom.js:314
+#: templates/js/translated/bom.js:505
msgid "Purchase Price Average"
msgstr ""
-#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449
+#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798
-#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285
+#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183
+#: templates/js/translated/order.js:1298
msgid "Actions"
msgstr ""
-#: templates/js/translated/bom.js:423
+#: templates/js/translated/bom.js:614
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:425
+#: templates/js/translated/bom.js:616
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590
+#: templates/js/translated/bom.js:618
+msgid "Edit substitute parts"
+msgstr ""
+
+#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575
+#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:1593
+#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/build.js:71
-msgid "Edit Build Order"
+#: templates/js/translated/bom.js:772
+msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/build.js:105
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/translated/build.js:138
-msgid "Allocate stock items to this build output"
-msgstr ""
-
-#: templates/js/translated/build.js:146
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/translated/build.js:155
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:164
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:265
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356
-#: templates/js/translated/order.js:1292
-msgid "Edit stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357
-#: templates/js/translated/order.js:1293
-msgid "Delete stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:695
-msgid "Edit Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:705
-msgid "Remove Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:718
+#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095
msgid "Required Part"
msgstr ""
-#: templates/js/translated/build.js:739
+#: templates/js/translated/bom.js:994
+msgid "Inherited from parent BOM"
+msgstr ""
+
+#: templates/js/translated/build.js:78
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:112
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:133
+msgid "Allocate stock items to this build output"
+msgstr ""
+
+#: templates/js/translated/build.js:144
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:153
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:161
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:184
+msgid "Are you sure you wish to unallocate stock items from this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:202
+msgid "Unallocate Stock Items"
+msgstr ""
+
+#: templates/js/translated/build.js:220
+msgid "Select Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:221
+msgid "At least one build output must be selected"
+msgstr ""
+
+#: templates/js/translated/build.js:275
+msgid "Output"
+msgstr ""
+
+#: templates/js/translated/build.js:291
+msgid "Complete Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:386
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:603
+msgid "No active build outputs found"
+msgstr ""
+
+#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760
+#: templates/js/translated/order.js:1305
+msgid "Edit stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761
+#: templates/js/translated/order.js:1306
+msgid "Delete stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1072
+msgid "Edit Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1082
+msgid "Remove Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1107
+msgid "Substitute parts available"
+msgstr ""
+
+#: templates/js/translated/build.js:1124
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:749 templates/js/translated/build.js:975
-#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514
+#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360
+#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553
-#: templates/js/translated/order.js:1567
+#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557
-#: templates/stock_table.html:59
+#: templates/js/translated/build.js:1194 templates/stock_table.html:52
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560
+#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:880
+#: templates/js/translated/build.js:1262
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:949
+#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134
+#: templates/js/translated/report.js:225
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/translated/build.js:1334
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:963
+#: templates/js/translated/build.js:1348
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:992
+#: templates/js/translated/build.js:1377
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/build.js:993
+#: templates/js/translated/build.js:1378
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:1004
+#: templates/js/translated/build.js:1389
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:1048
+#: templates/js/translated/build.js:1451
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:1172
+#: templates/js/translated/build.js:1576
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856
-#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762
-#: templates/js/translated/stock.js:1456
+#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873
+#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064
+#: templates/js/translated/stock.js:1841
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:1209
+#: templates/js/translated/build.js:1613
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675
+#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:1282
+#: templates/js/translated/build.js:1686
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:1333
+#: templates/js/translated/build.js:1737
msgid "No parts allocated for"
msgstr ""
@@ -7137,7 +7011,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:164 templates/js/translated/order.js:89
+#: templates/js/translated/company.js:164 templates/js/translated/order.js:90
msgid "Add Supplier"
msgstr ""
@@ -7186,34 +7060,34 @@ msgid "No manufacturer parts found"
msgstr ""
#: templates/js/translated/company.js:496
-#: templates/js/translated/company.js:753 templates/js/translated/part.js:427
-#: templates/js/translated/part.js:512
+#: templates/js/translated/company.js:753 templates/js/translated/part.js:448
+#: templates/js/translated/part.js:533
msgid "Template part"
msgstr ""
#: templates/js/translated/company.js:500
-#: templates/js/translated/company.js:757 templates/js/translated/part.js:431
-#: templates/js/translated/part.js:516
+#: templates/js/translated/company.js:757 templates/js/translated/part.js:452
+#: templates/js/translated/part.js:537
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:627 templates/js/translated/part.js:604
+#: templates/js/translated/company.js:627 templates/js/translated/part.js:625
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:664 templates/js/translated/part.js:646
+#: templates/js/translated/company.js:664 templates/js/translated/part.js:667
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:665 templates/js/translated/part.js:647
+#: templates/js/translated/company.js:665 templates/js/translated/part.js:668
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:684 templates/js/translated/part.js:664
+#: templates/js/translated/company.js:684 templates/js/translated/part.js:685
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:695 templates/js/translated/part.js:676
+#: templates/js/translated/company.js:695 templates/js/translated/part.js:697
msgid "Delete Parameter"
msgstr ""
@@ -7222,12 +7096,12 @@ msgid "No supplier parts found"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:407
+#: templates/js/translated/filters.js:420
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:408
+#: templates/js/translated/filters.js:421
msgid "false"
msgstr ""
@@ -7235,57 +7109,63 @@ msgstr ""
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:284
+#: templates/js/translated/filters.js:286
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:286
+#: templates/js/translated/filters.js:290
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:289
+#: templates/js/translated/filters.js:293
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:317
+#: templates/js/translated/filters.js:329
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336
-#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360
+#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364
+#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:324
+#: templates/js/translated/forms.js:351
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:337
+#: templates/js/translated/forms.js:366
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:349
+#: templates/js/translated/forms.js:380
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:361
+#: templates/js/translated/forms.js:394
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:968 templates/modals.html:21
-#: templates/modals.html:47
+#: templates/js/translated/forms.js:679
+#, fuzzy
+#| msgid "Must be a valid number"
+msgid "Enter a valid number"
+msgstr "Nummer må være gyldig"
+
+#: templates/js/translated/forms.js:1071 templates/modals.html:19
+#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1323
+#: templates/js/translated/forms.js:1457
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1525
+#: templates/js/translated/forms.js:1661
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:1742
+#: templates/js/translated/forms.js:1878
msgid "Clear input"
msgstr ""
@@ -7297,6 +7177,11 @@ msgstr ""
msgid "NO"
msgstr ""
+#: templates/js/translated/label.js:29 templates/js/translated/report.js:118
+#: templates/js/translated/stock.js:594
+msgid "Select Stock Items"
+msgstr ""
+
#: templates/js/translated/label.js:30
msgid "Stock item(s) must be selected before printing labels"
msgstr ""
@@ -7342,62 +7227,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119
+#: templates/js/translated/modals.js:593
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981
-#: templates/modals.html:30 templates/modals.html:55
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963
+#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:117
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:397
+#: templates/js/translated/modals.js:380
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:556
+#: templates/js/translated/modals.js:539
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:592
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:649
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:945
+#: templates/js/translated/modals.js:927
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/modals.js:1024
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1057
+#: templates/js/translated/modals.js:1039
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1058
+#: templates/js/translated/modals.js:1040
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1081
+#: templates/js/translated/modals.js:1063
msgid "Error requesting form data"
msgstr ""
@@ -7405,35 +7290,35 @@ msgstr ""
msgid "Company ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:90
+#: templates/js/translated/model_renderers.js:77
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:125
+#: templates/js/translated/model_renderers.js:130
msgid "Location ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:142
+#: templates/js/translated/model_renderers.js:147
msgid "Build ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:177
+#: templates/js/translated/model_renderers.js:182
msgid "Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:231
+#: templates/js/translated/model_renderers.js:236
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:251
+#: templates/js/translated/model_renderers.js:256
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:288
+#: templates/js/translated/model_renderers.js:293
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:317
+#: templates/js/translated/model_renderers.js:322
msgid "Supplier Part ID"
msgstr ""
@@ -7445,565 +7330,688 @@ msgstr ""
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:207
+#: templates/js/translated/order.js:208
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96
+#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393
msgid "Format"
msgstr ""
-#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97
+#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394
msgid "Select file format"
msgstr ""
-#: templates/js/translated/order.js:299
+#: templates/js/translated/order.js:300
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:300
+#: templates/js/translated/order.js:301
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:325
+#: templates/js/translated/order.js:326
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343
+#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:426
+#: templates/js/translated/order.js:427
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:428
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:429
+#: templates/js/translated/order.js:430
msgid "Receive"
msgstr ""
-#: templates/js/translated/order.js:448
+#: templates/js/translated/order.js:449
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:449
+#: templates/js/translated/order.js:450
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:626
+#: templates/js/translated/order.js:627
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028
+#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602
+#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613
+#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:800
+#: templates/js/translated/order.js:801
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432
+#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457
-#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554
+#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470
+#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464
-msgid "Total price"
+#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486
+msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573
+#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:963
+#: templates/js/translated/order.js:976
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:967
+#: templates/js/translated/order.js:980
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1004
+#: templates/js/translated/order.js:1017
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1055
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1120
+#: templates/js/translated/order.js:1133
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:1213
+#: templates/js/translated/order.js:1226
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1231
+#: templates/js/translated/order.js:1244
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1273
+#: templates/js/translated/order.js:1286
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:1514
+#: templates/js/translated/order.js:1535
msgid "Fulfilled"
msgstr ""
-#: templates/js/translated/order.js:1557
+#: templates/js/translated/order.js:1579
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1585
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725
+#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1596
msgid "Delete line item "
msgstr ""
-#: templates/js/translated/order.js:1673
+#: templates/js/translated/order.js:1719
msgid "Allocate Stock Item"
msgstr ""
-#: templates/js/translated/order.js:1733
+#: templates/js/translated/order.js:1779
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1747
+#: templates/js/translated/order.js:1793
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/part.js:49
+#: templates/js/translated/part.js:50
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:53
+#: templates/js/translated/part.js:54
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:57
+#: templates/js/translated/part.js:58
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:61
+#: templates/js/translated/part.js:62
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:75
+#: templates/js/translated/part.js:76
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:164
+#: templates/js/translated/part.js:165
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:165
+#: templates/js/translated/part.js:166
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:172
+#: templates/js/translated/part.js:173
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:173
+#: templates/js/translated/part.js:174
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:180
+#: templates/js/translated/part.js:181
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:191
+#: templates/js/translated/part.js:192
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:192
+#: templates/js/translated/part.js:193
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:201
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:202
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:257
+#: templates/js/translated/part.js:258
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:258
+#: templates/js/translated/part.js:259
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:265
-msgid "Copy BOM"
-msgstr ""
-
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:267
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:273
+#: templates/js/translated/part.js:274
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:274
+#: templates/js/translated/part.js:275
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:287
+#: templates/js/translated/part.js:288
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:331
+#: templates/js/translated/part.js:332
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:419 templates/js/translated/part.js:504
+#: templates/js/translated/part.js:334
+msgid "Part edited"
+msgstr ""
+
+#: templates/js/translated/part.js:402
+msgid "You are subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:404
+msgid "You have subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:409
+msgid "Subscribe to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:411
+msgid "You have unsubscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:440 templates/js/translated/part.js:525
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:423 templates/js/translated/part.js:508
+#: templates/js/translated/part.js:444 templates/js/translated/part.js:529
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:435
-msgid "Starred part"
+#: templates/js/translated/part.js:456
+msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:439
+#: templates/js/translated/part.js:460
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:554
+#: templates/js/translated/part.js:575
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005
+#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:932
+#: templates/js/translated/part.js:933
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:955
-#: templates/js/translated/table_filters.js:359
+#: templates/js/translated/part.js:956
+#: templates/js/translated/table_filters.js:375
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480
+#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200
+#: templates/js/translated/stock.js:1802
+msgid "Display as list"
+msgstr ""
+
+#: templates/js/translated/part.js:1044
+msgid "Display as grid"
+msgstr ""
+
+#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821
+msgid "Display as tree"
+msgstr ""
+
+#: templates/js/translated/part.js:1283
+msgid "Subscribed category"
+msgstr ""
+
+#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1202
+#: templates/js/translated/part.js:1341
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493
+#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494
+#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1260
+#: templates/js/translated/part.js:1399
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1282
+#: templates/js/translated/part.js:1421
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1296
+#: templates/js/translated/part.js:1435
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1321
+#: templates/js/translated/part.js:1460
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1376
+#: templates/js/translated/part.js:1515
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1377
+#: templates/js/translated/part.js:1516
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1478
+#: templates/js/translated/part.js:1617
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1497
+#: templates/js/translated/part.js:1636
msgid "Single Price Difference"
msgstr ""
-#: templates/js/translated/stock.js:63
+#: templates/js/translated/report.js:67
+msgid "items selected"
+msgstr ""
+
+#: templates/js/translated/report.js:75
+msgid "Select Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:90
+msgid "Select Test Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:119
+msgid "Stock item(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:136 templates/js/translated/report.js:189
+#: templates/js/translated/report.js:243 templates/js/translated/report.js:297
+#: templates/js/translated/report.js:351
+msgid "No Reports Found"
+msgstr ""
+
+#: templates/js/translated/report.js:137
+msgid "No report templates found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:172
+msgid "Select Builds"
+msgstr ""
+
+#: templates/js/translated/report.js:173
+msgid "Build(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:190
+msgid "No report templates found which match selected build(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:226
+msgid "Part(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:244
+msgid "No report templates found which match selected part(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:279
+msgid "Select Purchase Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:280
+msgid "Purchase Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
+msgid "No report templates found which match selected orders"
+msgstr ""
+
+#: templates/js/translated/report.js:333
+msgid "Select Sales Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:334
+msgid "Sales Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/stock.js:70
+msgid "Serialize Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:90
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:126
+msgid "New Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:189
+msgid "Enter initial quantity for this stock item"
+msgstr ""
+
+#: templates/js/translated/stock.js:195
+msgid "Enter serial numbers for new stock (or leave blank)"
+msgstr ""
+
+#: templates/js/translated/stock.js:338
+msgid "Created new stock item"
+msgstr ""
+
+#: templates/js/translated/stock.js:351
+msgid "Created multiple stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:390
msgid "Export Stock"
msgstr ""
-#: templates/js/translated/stock.js:104
+#: templates/js/translated/stock.js:401
msgid "Include Sublocations"
msgstr ""
-#: templates/js/translated/stock.js:105
+#: templates/js/translated/stock.js:402
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:444
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:148
+#: templates/js/translated/stock.js:445
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:154
+#: templates/js/translated/stock.js:451
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:155
+#: templates/js/translated/stock.js:452
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:159
+#: templates/js/translated/stock.js:456
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:160
+#: templates/js/translated/stock.js:457
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:164
+#: templates/js/translated/stock.js:461
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:165 users/models.py:195
+#: templates/js/translated/stock.js:462 users/models.py:200
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:169 templates/stock_table.html:63
+#: templates/js/translated/stock.js:466 templates/stock_table.html:56
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:298
+#: templates/js/translated/stock.js:595
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:456
+#: templates/js/translated/stock.js:753
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:458
+#: templates/js/translated/stock.js:755
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:463
+#: templates/js/translated/stock.js:760
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:489
+#: templates/js/translated/stock.js:782
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:515
+#: templates/js/translated/stock.js:808
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:563
+#: templates/js/translated/stock.js:865
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:670
+#: templates/js/translated/stock.js:972
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:674
+#: templates/js/translated/stock.js:976
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:678
+#: templates/js/translated/stock.js:980
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:984
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:688
+#: templates/js/translated/stock.js:990
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:844
+#: templates/js/translated/stock.js:1148
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:849
+#: templates/js/translated/stock.js:1153
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:852
+#: templates/js/translated/stock.js:1156
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:856
+#: templates/js/translated/stock.js:1160
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:858
+#: templates/js/translated/stock.js:1162
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:1166
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:866
+#: templates/js/translated/stock.js:1170
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:873
+#: templates/js/translated/stock.js:1177
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:1179
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:877
+#: templates/js/translated/stock.js:1181
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:881
-#: templates/js/translated/table_filters.js:161
+#: templates/js/translated/stock.js:1185
+#: templates/js/translated/table_filters.js:177
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:935
+#: templates/js/translated/stock.js:1235
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1308
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1046
+#: templates/js/translated/stock.js:1346
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115
+#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415
msgid "items"
msgstr ""
-#: templates/js/translated/stock.js:1155
+#: templates/js/translated/stock.js:1455
msgid "batches"
msgstr ""
-#: templates/js/translated/stock.js:1182
+#: templates/js/translated/stock.js:1482
msgid "locations"
msgstr ""
-#: templates/js/translated/stock.js:1184
+#: templates/js/translated/stock.js:1484
msgid "Undefined location"
msgstr ""
-#: templates/js/translated/stock.js:1358
+#: templates/js/translated/stock.js:1658
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:1372
+#: templates/js/translated/stock.js:1672
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:1373
+#: templates/js/translated/stock.js:1673
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:1512
+#: templates/js/translated/stock.js:1897
msgid "Invalid date"
msgstr ""
-#: templates/js/translated/stock.js:1559
+#: templates/js/translated/stock.js:1919
+msgid "Details"
+msgstr ""
+
+#: templates/js/translated/stock.js:1944
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1578
+#: templates/js/translated/stock.js:1963
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1597
+#: templates/js/translated/stock.js:1982
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1615
+#: templates/js/translated/stock.js:2000
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1638
+#: templates/js/translated/stock.js:2023
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:1646
+#: templates/js/translated/stock.js:2031
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:1687
+#: templates/js/translated/stock.js:2072
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1688
+#: templates/js/translated/stock.js:2073
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:2124
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:1835
-msgid "Serial"
-msgstr ""
-
-#: templates/js/translated/stock.js:1863
+#: templates/js/translated/stock.js:2175
msgid "Uninstall Stock Item"
msgstr ""
@@ -8023,254 +8031,264 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:156
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:172
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:93
+#: templates/js/translated/table_filters.js:105
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:103
-#: templates/js/translated/table_filters.js:104
-#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:115
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:352
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:114
-#: templates/js/translated/table_filters.js:191
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:117
-#: templates/js/translated/table_filters.js:198
-msgid "Serial number GTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:118
-#: templates/js/translated/table_filters.js:199
-msgid "Serial number greater than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:121
-#: templates/js/translated/table_filters.js:202
-msgid "Serial number LTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:122
-#: templates/js/translated/table_filters.js:203
-msgid "Serial number less than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:125
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:195
-msgid "Serial number"
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:387
+msgid "Subscribed"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:212
-msgid "Batch code"
+#: templates/js/translated/table_filters.js:207
+msgid "Is Serialized"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:214
+msgid "Serial number GTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:134
+#: templates/js/translated/table_filters.js:215
+msgid "Serial number greater than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:137
+#: templates/js/translated/table_filters.js:218
+msgid "Serial number LTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:138
+#: templates/js/translated/table_filters.js:219
+msgid "Serial number less than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:141
-#: templates/js/translated/table_filters.js:326
-msgid "Active parts"
-msgstr ""
-
#: templates/js/translated/table_filters.js:142
-msgid "Show stock for active parts"
+#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:211
+msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:147
-msgid "Part is an assembly"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:151
-msgid "Is allocated"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:152
-msgid "Item has been allocated"
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:228
+msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:157
-msgid "Include stock in sublocations"
+#: templates/js/translated/table_filters.js:342
+msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:162
-msgid "Show stock items which are depleted"
+#: templates/js/translated/table_filters.js:158
+msgid "Show stock for active parts"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:163
+msgid "Part is an assembly"
msgstr ""
#: templates/js/translated/table_filters.js:167
+msgid "Is allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:168
+msgid "Item has been allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:173
+msgid "Include stock in sublocations"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:178
+msgid "Show stock items which are depleted"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:183
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:187
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:188
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:176
+#: templates/js/translated/table_filters.js:192
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:177
+#: templates/js/translated/table_filters.js:193
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:197
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:182
+#: templates/js/translated/table_filters.js:198
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:187
+#: templates/js/translated/table_filters.js:203
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:207
-#: templates/js/translated/table_filters.js:208
+#: templates/js/translated/table_filters.js:223
+#: templates/js/translated/table_filters.js:224
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/table_filters.js:232
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:233
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:242
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:248
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:279
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:291
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:307
+#: templates/js/translated/table_filters.js:324
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:296
-#: templates/js/translated/table_filters.js:313
+#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:329
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:337
+#: templates/js/translated/table_filters.js:353
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:341
+#: templates/js/translated/table_filters.js:357
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:342
+#: templates/js/translated/table_filters.js:358
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:347
+#: templates/js/translated/table_filters.js:363
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:355
+#: templates/js/translated/table_filters.js:371
msgid "Stock available"
msgstr ""
-#: templates/js/translated/table_filters.js:371
-msgid "Starred"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:383
+#: templates/js/translated/table_filters.js:399
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/tables.js:366
+#: templates/js/translated/tables.js:368
msgid "Loading data"
msgstr ""
-#: templates/js/translated/tables.js:369
+#: templates/js/translated/tables.js:371
msgid "rows per page"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "Showing"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "to"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "of"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "rows"
msgstr ""
-#: templates/js/translated/tables.js:378
+#: templates/js/translated/tables.js:377 templates/search_form.html:6
+#: templates/search_form.html:7
+msgid "Search"
+msgstr ""
+
+#: templates/js/translated/tables.js:380
msgid "No matching results"
msgstr ""
-#: templates/js/translated/tables.js:381
+#: templates/js/translated/tables.js:383
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/translated/tables.js:384
+#: templates/js/translated/tables.js:386
msgid "Refresh"
msgstr ""
-#: templates/js/translated/tables.js:387
+#: templates/js/translated/tables.js:389
msgid "Toggle"
msgstr ""
-#: templates/js/translated/tables.js:390
+#: templates/js/translated/tables.js:392
msgid "Columns"
msgstr ""
-#: templates/js/translated/tables.js:393
+#: templates/js/translated/tables.js:395
msgid "All"
msgstr ""
-#: templates/navbar.html:19
-msgid "Toggle navigation"
-msgstr ""
-
-#: templates/navbar.html:39
+#: templates/navbar.html:40
msgid "Buy"
msgstr ""
-#: templates/navbar.html:51
+#: templates/navbar.html:52
msgid "Sell"
msgstr ""
-#: templates/navbar.html:83 users/models.py:39
+#: templates/navbar.html:86 users/models.py:39
msgid "Admin"
msgstr ""
-#: templates/navbar.html:85
+#: templates/navbar.html:88
msgid "Logout"
msgstr ""
-#: templates/navbar.html:106
+#: templates/navbar.html:90
+msgid "Login"
+msgstr ""
+
+#: templates/navbar.html:111
msgid "About InvenTree"
msgstr ""
+#: templates/navbar_demo.html:5
+msgid "InvenTree demo mode"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -8283,6 +8301,10 @@ msgstr ""
msgid "Log in again"
msgstr ""
+#: templates/stats.html:9
+msgid "Server"
+msgstr ""
+
#: templates/stats.html:13
msgid "Instance Name"
msgstr ""
@@ -8336,54 +8358,50 @@ msgid "Export Stock Information"
msgstr ""
#: templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/stock_table.html:27
msgid "Barcode Actions"
msgstr ""
-#: templates/stock_table.html:43
+#: templates/stock_table.html:36
msgid "Print test reports"
msgstr ""
-#: templates/stock_table.html:50
+#: templates/stock_table.html:43
msgid "Stock Options"
msgstr ""
-#: templates/stock_table.html:55
+#: templates/stock_table.html:48
msgid "Add to selected stock items"
msgstr ""
-#: templates/stock_table.html:56
+#: templates/stock_table.html:49
msgid "Remove from selected stock items"
msgstr ""
-#: templates/stock_table.html:57
+#: templates/stock_table.html:50
msgid "Stocktake selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move stock"
msgstr ""
-#: templates/stock_table.html:59
+#: templates/stock_table.html:52
msgid "Order selected items"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change status"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change stock status"
msgstr ""
-#: templates/stock_table.html:63
+#: templates/stock_table.html:56
msgid "Delete selected items"
msgstr ""
@@ -8419,35 +8437,34 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:182
+#: users/models.py:187
msgid "Permission set"
msgstr ""
-#: users/models.py:190
+#: users/models.py:195
msgid "Group"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "View"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "Permission to view items"
msgstr ""
-#: users/models.py:195
+#: users/models.py:200
msgid "Permission to add items"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Change"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:199
+#: users/models.py:204
msgid "Permission to delete items"
msgstr ""
-
diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.mo b/InvenTree/locale/pl/LC_MESSAGES/django.mo
index 89d5c273e3..b76b641e43 100644
Binary files a/InvenTree/locale/pl/LC_MESSAGES/django.mo and b/InvenTree/locale/pl/LC_MESSAGES/django.mo differ
diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po
index e76b836ff9..6f34398227 100644
--- a/InvenTree/locale/pl/LC_MESSAGES/django.po
+++ b/InvenTree/locale/pl/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-11 06:21+0000\n"
+"POT-Creation-Date: 2021-11-22 22:08+0000\n"
"PO-Revision-Date: 2021-10-11 06:29\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
@@ -33,260 +33,266 @@ msgstr "Nie znaleziono pasującej akcji"
msgid "Enter date"
msgstr "Wprowadź dane"
-#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123
-#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27
-#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71
-#: part/forms.py:108 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:564
+#: InvenTree/forms.py:120 build/forms.py:48 build/forms.py:69 build/forms.py:93
+#: order/forms.py:26 order/forms.py:37 order/forms.py:48 order/forms.py:59
+#: order/forms.py:70 part/forms.py:108 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:594
msgid "Confirm"
msgstr "Potwierdź"
-#: InvenTree/forms.py:132
+#: InvenTree/forms.py:136
msgid "Confirm delete"
msgstr "Potwierdź usunięcie"
-#: InvenTree/forms.py:133
+#: InvenTree/forms.py:137
msgid "Confirm item deletion"
msgstr "Potwierdź usuwanie elementu"
-#: InvenTree/forms.py:164
+#: InvenTree/forms.py:168
msgid "Enter password"
msgstr "Wprowadź hasło"
-#: InvenTree/forms.py:165
+#: InvenTree/forms.py:169
msgid "Enter new password"
msgstr "Wprowadź nowe hasło"
-#: InvenTree/forms.py:172
+#: InvenTree/forms.py:176
msgid "Confirm password"
msgstr "Potwierdź hasło"
-#: InvenTree/forms.py:173
+#: InvenTree/forms.py:177
msgid "Confirm new password"
msgstr "Potwierdź nowe hasło"
-#: InvenTree/forms.py:205
+#: InvenTree/forms.py:209
msgid "Select Category"
msgstr "Wybierz kategorię"
-#: InvenTree/forms.py:226
-msgid "E-mail (again)"
-msgstr ""
-
#: InvenTree/forms.py:230
-msgid "E-mail address confirmation"
+msgid "Email (again)"
msgstr ""
-#: InvenTree/forms.py:250
+#: InvenTree/forms.py:234
+msgid "Email address confirmation"
+msgstr ""
+
+#: InvenTree/forms.py:254
msgid "You must type the same email each time."
msgstr ""
-#: InvenTree/helpers.py:401
+#: InvenTree/helpers.py:430
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr "Powtórzony numer seryjny: {n}"
-#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437
-#: stock/views.py:1340
+#: InvenTree/helpers.py:437 order/models.py:318 order/models.py:440
+#: stock/views.py:1264
msgid "Invalid quantity provided"
msgstr "Podano nieprawidłową ilość"
-#: InvenTree/helpers.py:411
+#: InvenTree/helpers.py:440
msgid "Empty serial number string"
msgstr "Pusty ciąg numeru seryjnego"
-#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:462 InvenTree/helpers.py:465 InvenTree/helpers.py:468
+#: InvenTree/helpers.py:493
#, python-brace-format
msgid "Invalid group: {g}"
msgstr "Nieprawidłowa grupa: {g}"
-#: InvenTree/helpers.py:469
+#: InvenTree/helpers.py:498
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr "Powtórzony numer seryjny: {g}"
-#: InvenTree/helpers.py:477
+#: InvenTree/helpers.py:506
msgid "No serial numbers found"
msgstr "Nie znaleziono numerów seryjnych"
-#: InvenTree/helpers.py:481
+#: InvenTree/helpers.py:510
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr "Ilość numerów seryjnych ({s}) musi odpowiadać ilości ({q})"
-#: InvenTree/models.py:66 stock/models.py:1823
+#: InvenTree/models.py:109 stock/models.py:1874
msgid "Attachment"
msgstr "Załącznik"
-#: InvenTree/models.py:67
+#: InvenTree/models.py:110
msgid "Select file to attach"
msgstr "Wybierz plik do załączenia"
-#: InvenTree/models.py:69 templates/js/translated/attachment.js:87
+#: InvenTree/models.py:112 templates/js/translated/attachment.js:91
msgid "Comment"
msgstr "Komentarz"
-#: InvenTree/models.py:69
+#: InvenTree/models.py:112
msgid "File comment"
msgstr "Komentarz pliku"
-#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055
-#: common/models.py:1056 part/models.py:2055
-#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/translated/stock.js:1669
+#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185
+#: common/models.py:1186 part/models.py:2205 part/models.py:2225
+#: report/templates/report/inventree_test_report_base.html:96
+#: templates/js/translated/stock.js:2054
msgid "User"
msgstr "Użytkownik"
-#: InvenTree/models.py:79
+#: InvenTree/models.py:122
msgid "upload date"
msgstr "data przesłania"
-#: InvenTree/models.py:99
+#: InvenTree/models.py:142
msgid "Filename must not be empty"
msgstr ""
-#: InvenTree/models.py:122
+#: InvenTree/models.py:165
msgid "Invalid attachment directory"
msgstr ""
-#: InvenTree/models.py:132
+#: InvenTree/models.py:175
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr ""
-#: InvenTree/models.py:135
+#: InvenTree/models.py:178
msgid "Filename missing extension"
msgstr ""
-#: InvenTree/models.py:142
+#: InvenTree/models.py:185
msgid "Attachment with this filename already exists"
msgstr ""
-#: InvenTree/models.py:149
+#: InvenTree/models.py:192
msgid "Error renaming file"
msgstr ""
-#: InvenTree/models.py:184
+#: InvenTree/models.py:227
msgid "Invalid choice"
msgstr "Błędny wybór"
-#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415
-#: label/models.py:112 part/models.py:659 part/models.py:2216
-#: part/templates/part/part_base.html:241 report/models.py:181
-#: templates/js/translated/company.js:637 templates/js/translated/part.js:477
-#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141
-#: templates/js/translated/stock.js:1462
+#: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415
+#: label/models.py:112 part/models.py:741 part/models.py:2389
+#: part/templates/part/detail.html:25 report/models.py:181
+#: templates/js/translated/company.js:637 templates/js/translated/part.js:498
+#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272
+#: templates/js/translated/stock.js:1847
msgid "Name"
msgstr "Nazwa"
-#: InvenTree/models.py:207 build/models.py:189
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/manufacturer_part.html:76
-#: company/templates/company/supplier_part.html:75 label/models.py:119
-#: order/models.py:158 part/models.py:682
-#: part/templates/part/part_base.html:246
+#: InvenTree/models.py:250 build/models.py:207
+#: build/templates/build/detail.html:25 company/models.py:354
+#: company/models.py:570 company/templates/company/manufacturer_part.html:80
+#: company/templates/company/supplier_part.html:81 label/models.py:119
+#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30
#: part/templates/part/set_category.html:14 report/models.py:194
-#: report/models.py:551 report/models.py:590
+#: report/models.py:553 report/models.py:592
#: report/templates/report/inventree_build_order_base.html:118
-#: templates/InvenTree/settings/header.html:9
-#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217
-#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344
+#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214
+#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621
+#: templates/js/translated/company.js:344
#: templates/js/translated/company.js:547
-#: templates/js/translated/company.js:836 templates/js/translated/order.js:672
-#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056
-#: templates/js/translated/part.js:536 templates/js/translated/part.js:724
-#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153
-#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819
-#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519
+#: templates/js/translated/company.js:836 templates/js/translated/order.js:673
+#: templates/js/translated/order.js:833 templates/js/translated/order.js:1069
+#: templates/js/translated/part.js:557 templates/js/translated/part.js:745
+#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291
+#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121
+#: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904
msgid "Description"
msgstr "Opis"
-#: InvenTree/models.py:208
+#: InvenTree/models.py:251
msgid "Description (optional)"
msgstr "Opis (opcjonalny)"
-#: InvenTree/models.py:216
+#: InvenTree/models.py:259
msgid "parent"
msgstr "nadrzędny"
-#: InvenTree/serializers.py:55 part/models.py:2475
+#: InvenTree/serializers.py:62 part/models.py:2674
msgid "Must be a valid number"
msgstr "Numer musi być prawidłowy"
-#: InvenTree/serializers.py:244
+#: InvenTree/serializers.py:251
msgid "Filename"
msgstr ""
-#: InvenTree/settings.py:529
+#: InvenTree/settings.py:663
msgid "German"
msgstr "Niemiecki"
-#: InvenTree/settings.py:530
+#: InvenTree/settings.py:664
msgid "Greek"
msgstr "Grecki"
-#: InvenTree/settings.py:531
+#: InvenTree/settings.py:665
msgid "English"
msgstr "Angielski"
-#: InvenTree/settings.py:532
+#: InvenTree/settings.py:666
msgid "Spanish"
msgstr "Hiszpański"
-#: InvenTree/settings.py:533
+#: InvenTree/settings.py:667
+msgid "Spanish (Mexican)"
+msgstr ""
+
+#: InvenTree/settings.py:668
msgid "French"
msgstr "Francuski"
-#: InvenTree/settings.py:534
+#: InvenTree/settings.py:669
msgid "Hebrew"
msgstr "Hebrajski"
-#: InvenTree/settings.py:535
+#: InvenTree/settings.py:670
msgid "Italian"
msgstr "Włoski"
-#: InvenTree/settings.py:536
+#: InvenTree/settings.py:671
msgid "Japanese"
msgstr "Japoński"
-#: InvenTree/settings.py:537
+#: InvenTree/settings.py:672
msgid "Korean"
msgstr "Koreański"
-#: InvenTree/settings.py:538
+#: InvenTree/settings.py:673
msgid "Dutch"
msgstr "Holenderski"
-#: InvenTree/settings.py:539
+#: InvenTree/settings.py:674
msgid "Norwegian"
msgstr "Norweski"
-#: InvenTree/settings.py:540
+#: InvenTree/settings.py:675
msgid "Polish"
msgstr "Polski"
-#: InvenTree/settings.py:541
+#: InvenTree/settings.py:676
+msgid "Portugese"
+msgstr ""
+
+#: InvenTree/settings.py:677
msgid "Russian"
msgstr "Rosyjski"
-#: InvenTree/settings.py:542
+#: InvenTree/settings.py:678
msgid "Swedish"
msgstr "Szwedzki"
-#: InvenTree/settings.py:543
+#: InvenTree/settings.py:679
msgid "Thai"
msgstr "Tajski"
-#: InvenTree/settings.py:544
+#: InvenTree/settings.py:680
msgid "Turkish"
msgstr "Turecki"
-#: InvenTree/settings.py:545
+#: InvenTree/settings.py:681
msgid "Vietnamese"
msgstr "Wietnamski"
-#: InvenTree/settings.py:546
+#: InvenTree/settings.py:682
msgid "Chinese"
msgstr "Chiński"
@@ -302,196 +308,196 @@ msgstr "Nie skonfigurowano backendu e-mail"
msgid "InvenTree system health checks failed"
msgstr ""
-#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145
-#: InvenTree/status_codes.py:314
+#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142
+#: InvenTree/status_codes.py:311
msgid "Pending"
msgstr "W toku"
-#: InvenTree/status_codes.py:105
+#: InvenTree/status_codes.py:102
msgid "Placed"
msgstr "Umieszczony"
-#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317
+#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:314
msgid "Complete"
msgstr "Zakończono"
-#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147
-#: InvenTree/status_codes.py:316
+#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144
+#: InvenTree/status_codes.py:313
msgid "Cancelled"
msgstr "Anulowano"
-#: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148
-#: InvenTree/status_codes.py:190
+#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145
+#: InvenTree/status_codes.py:187
msgid "Lost"
msgstr "Zagubiono"
-#: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149
-#: InvenTree/status_codes.py:192
+#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146
+#: InvenTree/status_codes.py:189
msgid "Returned"
msgstr "Zwrócone"
-#: InvenTree/status_codes.py:146
-#: order/templates/order/sales_order_base.html:131
+#: InvenTree/status_codes.py:143
+#: order/templates/order/sales_order_base.html:147
msgid "Shipped"
msgstr "Wysłane"
-#: InvenTree/status_codes.py:186
+#: InvenTree/status_codes.py:183
msgid "OK"
msgstr "OK"
-#: InvenTree/status_codes.py:187
+#: InvenTree/status_codes.py:184
msgid "Attention needed"
msgstr "Wymaga uwagi"
-#: InvenTree/status_codes.py:188
+#: InvenTree/status_codes.py:185
msgid "Damaged"
msgstr "Uszkodzone"
-#: InvenTree/status_codes.py:189
+#: InvenTree/status_codes.py:186
msgid "Destroyed"
msgstr "Zniszczone"
-#: InvenTree/status_codes.py:191
+#: InvenTree/status_codes.py:188
msgid "Rejected"
msgstr "Odrzucone"
-#: InvenTree/status_codes.py:272
+#: InvenTree/status_codes.py:269
msgid "Legacy stock tracking entry"
msgstr ""
-#: InvenTree/status_codes.py:274
+#: InvenTree/status_codes.py:271
msgid "Stock item created"
msgstr "Utworzono element magazynowy"
-#: InvenTree/status_codes.py:276
+#: InvenTree/status_codes.py:273
msgid "Edited stock item"
msgstr ""
-#: InvenTree/status_codes.py:277
+#: InvenTree/status_codes.py:274
msgid "Assigned serial number"
msgstr "Przypisano numer seryjny"
-#: InvenTree/status_codes.py:279
+#: InvenTree/status_codes.py:276
msgid "Stock counted"
msgstr "Zapas policzony"
-#: InvenTree/status_codes.py:280
+#: InvenTree/status_codes.py:277
msgid "Stock manually added"
msgstr "Zapas dodany ręcznie"
-#: InvenTree/status_codes.py:281
+#: InvenTree/status_codes.py:278
msgid "Stock manually removed"
msgstr "Zapas usunięty ręcznie"
-#: InvenTree/status_codes.py:283
+#: InvenTree/status_codes.py:280
msgid "Location changed"
msgstr "Lokalizacja zmieniona"
-#: InvenTree/status_codes.py:285
+#: InvenTree/status_codes.py:282
msgid "Installed into assembly"
msgstr ""
-#: InvenTree/status_codes.py:286
+#: InvenTree/status_codes.py:283
msgid "Removed from assembly"
msgstr ""
-#: InvenTree/status_codes.py:288
+#: InvenTree/status_codes.py:285
msgid "Installed component item"
msgstr ""
-#: InvenTree/status_codes.py:289
+#: InvenTree/status_codes.py:286
msgid "Removed component item"
msgstr ""
-#: InvenTree/status_codes.py:291
+#: InvenTree/status_codes.py:288
msgid "Split from parent item"
msgstr ""
-#: InvenTree/status_codes.py:292
+#: InvenTree/status_codes.py:289
msgid "Split child item"
msgstr "Podziel element podrzędny"
-#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186
+#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202
msgid "Sent to customer"
msgstr "Wyślij do klienta"
-#: InvenTree/status_codes.py:295
+#: InvenTree/status_codes.py:292
msgid "Returned from customer"
msgstr "Zwrócony od klienta"
-#: InvenTree/status_codes.py:297
+#: InvenTree/status_codes.py:294
msgid "Build order output created"
msgstr ""
-#: InvenTree/status_codes.py:298
+#: InvenTree/status_codes.py:295
msgid "Build order output completed"
msgstr ""
-#: InvenTree/status_codes.py:300
+#: InvenTree/status_codes.py:297
msgid "Received against purchase order"
msgstr ""
-#: InvenTree/status_codes.py:315
+#: InvenTree/status_codes.py:312
msgid "Production"
msgstr "Produkcja"
-#: InvenTree/validators.py:22
+#: InvenTree/validators.py:23
msgid "Not a valid currency code"
msgstr "Nieprawidłowy kod waluty"
-#: InvenTree/validators.py:50
+#: InvenTree/validators.py:51
msgid "Invalid character in part name"
msgstr "Błędny znak w nazwie elementu"
-#: InvenTree/validators.py:63
+#: InvenTree/validators.py:64
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN musi być zgodny z wyrażeniem regularnym {pat}"
-#: InvenTree/validators.py:77 InvenTree/validators.py:91
-#: InvenTree/validators.py:105
+#: InvenTree/validators.py:78 InvenTree/validators.py:92
+#: InvenTree/validators.py:106
#, python-brace-format
msgid "Reference must match pattern {pattern}"
msgstr ""
-#: InvenTree/validators.py:113
+#: InvenTree/validators.py:114
#, python-brace-format
msgid "Illegal character in name ({x})"
msgstr "Niedozwolony znak w nazwie ({x})"
-#: InvenTree/validators.py:132 InvenTree/validators.py:148
+#: InvenTree/validators.py:133 InvenTree/validators.py:149
msgid "Overage value must not be negative"
msgstr ""
-#: InvenTree/validators.py:150
+#: InvenTree/validators.py:151
msgid "Overage must not exceed 100%"
msgstr ""
-#: InvenTree/validators.py:157
+#: InvenTree/validators.py:158
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:616
+#: InvenTree/views.py:536
msgid "Delete Item"
msgstr "Usuń element"
-#: InvenTree/views.py:665
+#: InvenTree/views.py:585
msgid "Check box to confirm item deletion"
msgstr "Zaznacz pole aby potwierdzić usunięcie elementu"
-#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17
msgid "Edit User Information"
msgstr "Edytuj informacje użytkownika"
-#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21
msgid "Set Password"
msgstr "Ustaw hasło"
-#: InvenTree/views.py:710
+#: InvenTree/views.py:630
msgid "Password fields must match"
msgstr "Hasła muszą być zgodne"
-#: InvenTree/views.py:954 templates/navbar.html:97
+#: InvenTree/views.py:863 templates/navbar.html:101
msgid "System Information"
msgstr "Informacja systemowa"
@@ -535,599 +541,580 @@ msgstr ""
msgid "Barcode associated with StockItem"
msgstr ""
-#: build/api.py:213
-msgid "Matching build order does not exist"
-msgstr ""
-
-#: build/forms.py:37
-msgid "Build Order reference"
-msgstr "Numer Zlecenia Budowy"
-
-#: build/forms.py:38
-msgid "Order target date"
-msgstr ""
-
-#: build/forms.py:42 build/templates/build/build_base.html:146
-#: build/templates/build/detail.html:124
-#: order/templates/order/order_base.html:124
-#: order/templates/order/sales_order_base.html:124
-#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689
-#: templates/js/translated/order.js:1074
-msgid "Target Date"
-msgstr "Data docelowa"
-
-#: build/forms.py:43 build/models.py:279
-msgid "Target date for build completion. Build will be overdue after this date."
-msgstr ""
-
-#: build/forms.py:48 build/forms.py:90 build/models.py:1281
-#: build/templates/build/allocation_card.html:23
-#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:1087
-#: company/forms.py:42 company/templates/company/supplier_part.html:226
-#: order/forms.py:101 order/forms.py:123 order/models.py:720
-#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249
-#: part/forms.py:265 part/forms.py:281 part/models.py:2377
+#: build/forms.py:36 build/models.py:1283
+#: build/templates/build/build_base.html:124
+#: build/templates/build/detail.html:35 common/models.py:1225
+#: company/forms.py:42 company/templates/company/supplier_part.html:251
+#: order/forms.py:102 order/models.py:729 order/models.py:991
+#: order/templates/order/order_wizard/match_parts.html:30
+#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237
+#: part/forms.py:253 part/forms.py:269 part/models.py:2576
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030
+#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
-#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:140 stock/templates/stock/item_base.html:269
-#: stock/templates/stock/stock_adjust.html:18
-#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264
-#: templates/js/translated/build.js:314 templates/js/translated/build.js:638
-#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515
-#: templates/js/translated/model_renderers.js:74
-#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170
-#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444
-#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487
-#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654
-#: templates/js/translated/stock.js:1829
+#: report/templates/report/inventree_test_report_base.html:81
+#: report/templates/report/inventree_test_report_base.html:139
+#: stock/forms.py:156 stock/serializers.py:286
+#: stock/templates/stock/item_base.html:256
+#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441
+#: templates/js/translated/build.js:235 templates/js/translated/build.js:435
+#: templates/js/translated/build.js:629 templates/js/translated/build.js:639
+#: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362
+#: templates/js/translated/model_renderers.js:99
+#: templates/js/translated/order.js:870 templates/js/translated/order.js:1183
+#: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268
+#: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457
+#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626
+#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347
+#: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141
msgid "Quantity"
msgstr "Ilość"
-#: build/forms.py:49
-msgid "Number of items to build"
-msgstr ""
-
-#: build/forms.py:91
+#: build/forms.py:37
msgid "Enter quantity for build output"
msgstr ""
-#: build/forms.py:95 order/forms.py:95 stock/forms.py:83
+#: build/forms.py:41 order/forms.py:96 stock/forms.py:95
+#: stock/serializers.py:307 templates/js/translated/stock.js:194
+#: templates/js/translated/stock.js:348
msgid "Serial Numbers"
msgstr "Numer seryjny"
-#: build/forms.py:97
+#: build/forms.py:43
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/forms.py:103
+#: build/forms.py:49
msgid "Confirm creation of build output"
msgstr ""
-#: build/forms.py:124
+#: build/forms.py:70
msgid "Confirm deletion of build output"
msgstr ""
-#: build/forms.py:145
-msgid "Confirm unallocation of stock"
-msgstr "Potwierdź brak alokacji zapasów"
-
-#: build/forms.py:174
+#: build/forms.py:94
msgid "Mark build as complete"
msgstr "Oznacz budowę jako ukończoną"
-#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284
-#: stock/forms.py:280 stock/serializers.py:553
-#: stock/templates/stock/item_base.html:299
-#: stock/templates/stock/stock_adjust.html:17
-#: templates/js/translated/barcode.js:385
-#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299
-#: templates/js/translated/build.js:650 templates/js/translated/order.js:347
-#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263
-#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179
-#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921
-#: templates/js/translated/stock.js:1546
-msgid "Location"
-msgstr "Lokalizacja"
-
-#: build/forms.py:199
-msgid "Location of completed parts"
-msgstr "Lokalizacja ukończonych części"
-
-#: build/forms.py:203 build/templates/build/build_base.html:138
-#: build/templates/build/detail.html:62 order/models.py:563
-#: order/serializers.py:238 stock/templates/stock/item_base.html:422
-#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251
-#: templates/js/translated/order.js:430 templates/js/translated/order.js:676
-#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896
-#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845
-msgid "Status"
-msgstr "Status"
-
-#: build/forms.py:204
-msgid "Build output stock status"
-msgstr ""
-
-#: build/forms.py:211
-msgid "Confirm incomplete"
-msgstr "Potwierdź nieukończone"
-
-#: build/forms.py:212
-msgid "Confirm completion with incomplete stock allocation"
-msgstr ""
-
-#: build/forms.py:215
-msgid "Confirm build completion"
-msgstr ""
-
-#: build/forms.py:240
+#: build/forms.py:107
msgid "Confirm cancel"
msgstr "Na pewno anulować?"
-#: build/forms.py:240 build/views.py:65
+#: build/forms.py:107 build/views.py:65
msgid "Confirm build cancellation"
msgstr ""
-#: build/models.py:115
+#: build/models.py:133
msgid "Invalid choice for parent build"
msgstr ""
-#: build/models.py:119 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:73
+#: build/models.py:137 build/templates/build/build_base.html:9
+#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:276
+#: templates/js/translated/build.js:397
msgid "Build Order"
msgstr "Zlecenie Budowy"
-#: build/models.py:120 build/templates/build/index.html:8
-#: build/templates/build/index.html:15
-#: order/templates/order/sales_order_detail.html:34
-#: order/templates/order/so_navbar.html:19
-#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50
-#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229
-#: templates/InvenTree/search.html:171
-#: templates/InvenTree/settings/navbar.html:113
-#: templates/InvenTree/settings/navbar.html:115 users/models.py:44
+#: build/models.py:138 build/templates/build/build_base.html:13
+#: build/templates/build/index.html:8 build/templates/build/index.html:12
+#: order/templates/order/sales_order_detail.html:42
+#: templates/InvenTree/index.html:221 templates/InvenTree/search.html:145
+#: users/models.py:44
msgid "Build Orders"
msgstr "Zlecenia budowy"
-#: build/models.py:180
+#: build/models.py:198
msgid "Build Order Reference"
msgstr "Odwołanie do zamówienia wykonania"
-#: build/models.py:181 order/models.py:246 order/models.py:547
-#: order/models.py:727 part/models.py:2386
+#: build/models.py:199 order/models.py:249 order/models.py:556
+#: order/models.py:736 part/models.py:2585
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734
-#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863
-#: templates/js/translated/order.js:1438
+#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119
+#: templates/js/translated/order.js:864 templates/js/translated/order.js:1451
msgid "Reference"
msgstr "Referencja"
-#: build/models.py:192
+#: build/models.py:210
msgid "Brief description of the build"
msgstr "Krótki opis budowy"
-#: build/models.py:201 build/templates/build/build_base.html:163
-#: build/templates/build/detail.html:80
+#: build/models.py:219 build/templates/build/build_base.html:156
+#: build/templates/build/detail.html:88
msgid "Parent Build"
msgstr "Budowa nadrzędna"
-#: build/models.py:202
+#: build/models.py:220
msgid "BuildOrder to which this build is allocated"
msgstr "Zamówienie budowy, do którego budowa jest przypisana"
-#: build/models.py:207 build/templates/build/build_base.html:128
-#: build/templates/build/detail.html:29 company/models.py:705
-#: order/models.py:780 order/models.py:851
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298
-#: part/models.py:2000 part/models.py:2016 part/models.py:2035
-#: part/models.py:2053 part/models.py:2132 part/models.py:2254
-#: part/models.py:2361 part/templates/part/detail.html:199
+#: build/models.py:225 build/templates/build/build_base.html:119
+#: build/templates/build/detail.html:30 company/models.py:705
+#: order/models.py:789 order/models.py:860
+#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357
+#: part/models.py:2151 part/models.py:2167 part/models.py:2186
+#: part/models.py:2203 part/models.py:2305 part/models.py:2427
+#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
-#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384
-#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611
-#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222
-#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488
-#: templates/js/translated/company.js:745 templates/js/translated/order.js:425
-#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422
-#: templates/js/translated/part.js:705 templates/js/translated/part.js:875
-#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776
-#: templates/js/translated/stock.js:1817
+#: templates/InvenTree/search.html:86
+#: templates/email/build_order_required_stock.html:17
+#: templates/email/low_stock_notification.html:16
+#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213
+#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620
+#: templates/js/translated/build.js:988 templates/js/translated/build.js:1359
+#: templates/js/translated/build.js:1626 templates/js/translated/company.js:488
+#: templates/js/translated/company.js:745 templates/js/translated/order.js:426
+#: templates/js/translated/order.js:818 templates/js/translated/order.js:1435
+#: templates/js/translated/part.js:726 templates/js/translated/part.js:892
+#: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:2129
msgid "Part"
msgstr "Część"
-#: build/models.py:215
+#: build/models.py:233
msgid "Select part to build"
msgstr "Wybierz część do budowy"
-#: build/models.py:220
+#: build/models.py:238
msgid "Sales Order Reference"
msgstr "Odwołanie do zamówienia sprzedaży"
-#: build/models.py:224
+#: build/models.py:242
msgid "SalesOrder to which this build is allocated"
msgstr "Zamówienie sprzedaży, do którego budowa jest przypisana"
-#: build/models.py:229 templates/js/translated/build.js:962
+#: build/models.py:247 templates/js/translated/build.js:1347
msgid "Source Location"
msgstr "Lokalizacja źródła"
-#: build/models.py:233
+#: build/models.py:251
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr "Wybierz lokalizację, z której pobrać element do budowy (pozostaw puste, aby wziąć z dowolnej lokalizacji)"
-#: build/models.py:238
+#: build/models.py:256
msgid "Destination Location"
msgstr "Lokalizacja docelowa"
-#: build/models.py:242
+#: build/models.py:260
msgid "Select location where the completed items will be stored"
msgstr "Wybierz lokalizację, w której będą przechowywane ukończone elementy"
-#: build/models.py:246
+#: build/models.py:264
msgid "Build Quantity"
msgstr "Ilość do stworzenia"
-#: build/models.py:249
+#: build/models.py:267
msgid "Number of stock items to build"
msgstr "Ilość przedmiotów do zbudowania"
-#: build/models.py:253
+#: build/models.py:271
msgid "Completed items"
msgstr "Ukończone elementy"
-#: build/models.py:255
+#: build/models.py:273
msgid "Number of stock items which have been completed"
msgstr "Ilość produktów magazynowych które zostały ukończone"
-#: build/models.py:259 part/templates/part/part_base.html:198
+#: build/models.py:277 part/templates/part/part_base.html:216
msgid "Build Status"
msgstr "Status budowania"
-#: build/models.py:263
+#: build/models.py:281
msgid "Build status code"
msgstr "Kod statusu budowania"
-#: build/models.py:267 stock/models.py:513
+#: build/models.py:285 stock/models.py:544
msgid "Batch Code"
msgstr "Kod partii"
-#: build/models.py:271
+#: build/models.py:289
msgid "Batch code for this build output"
msgstr "Kod partii dla wyjścia budowy"
-#: build/models.py:274 order/models.py:162 part/models.py:854
-#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069
+#: build/models.py:292 order/models.py:165 part/models.py:936
+#: part/templates/part/detail.html:86 templates/js/translated/order.js:1082
msgid "Creation Date"
msgstr "Data utworzenia"
-#: build/models.py:278 order/models.py:569
+#: build/models.py:296 order/models.py:578
msgid "Target completion date"
msgstr "Docelowy termin zakończenia"
-#: build/models.py:282 order/models.py:288
-#: templates/js/translated/build.js:1293
+#: build/models.py:297
+msgid "Target date for build completion. Build will be overdue after this date."
+msgstr ""
+
+#: build/models.py:300 order/models.py:291
+#: templates/js/translated/build.js:1697
msgid "Completion Date"
msgstr "Data zakończenia"
-#: build/models.py:288
+#: build/models.py:306
msgid "completed by"
msgstr "zrealizowane przez"
-#: build/models.py:296 templates/js/translated/build.js:1264
+#: build/models.py:314 templates/js/translated/build.js:1668
msgid "Issued by"
msgstr "Wydany przez"
-#: build/models.py:297
+#: build/models.py:315
msgid "User who issued this build order"
msgstr "Użytkownik, który wydał to zamówienie"
-#: build/models.py:305 build/templates/build/build_base.html:184
-#: build/templates/build/detail.html:108 order/models.py:176
-#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:145 part/models.py:858
+#: build/models.py:323 build/templates/build/build_base.html:177
+#: build/templates/build/detail.html:116 order/models.py:179
+#: order/templates/order/order_base.html:154
+#: order/templates/order/sales_order_base.html:161 part/models.py:940
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1680
msgid "Responsible"
msgstr "Odpowiedzialny"
-#: build/models.py:306
+#: build/models.py:324
msgid "User responsible for this build order"
msgstr "Użytkownik odpowiedzialny za to zamówienie budowy"
-#: build/models.py:311 build/templates/build/detail.html:94
-#: company/templates/company/manufacturer_part.html:83
-#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:266 stock/models.py:507
-#: stock/templates/stock/item_base.html:359
+#: build/models.py:329 build/templates/build/detail.html:102
+#: company/templates/company/manufacturer_part.html:87
+#: company/templates/company/supplier_part.html:88
+#: part/templates/part/detail.html:80 stock/models.py:538
+#: stock/templates/stock/item_base.html:346
msgid "External Link"
msgstr "Link Zewnętrzny"
-#: build/models.py:312 part/models.py:716 stock/models.py:509
+#: build/models.py:330 part/models.py:798 stock/models.py:540
msgid "Link to external URL"
msgstr "Link do zewnętrznego adresu URL"
-#: build/models.py:316 build/templates/build/navbar.html:52
-#: company/models.py:142 company/models.py:577
-#: company/templates/company/navbar.html:69
-#: company/templates/company/navbar.html:72 order/models.py:180
-#: order/models.py:729 order/templates/order/po_navbar.html:38
-#: order/templates/order/po_navbar.html:41
-#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:843
-#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120
-#: part/templates/part/navbar.html:123
+#: build/models.py:334 build/serializers.py:201 company/models.py:142
+#: company/models.py:577 order/models.py:183 order/models.py:738
+#: part/models.py:925 part/templates/part/detail.html:223
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579
-#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451
-#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59
-#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841
-#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540
-#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040
+#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610
+#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325
+#: stock/serializers.py:584 templates/js/translated/barcode.js:58
+#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841
+#: templates/js/translated/order.js:963 templates/js/translated/order.js:1561
+#: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340
msgid "Notes"
msgstr "Uwagi"
-#: build/models.py:317
+#: build/models.py:335
msgid "Extra build notes"
msgstr "Dodatkowe notatki do budowy"
-#: build/models.py:714
+#: build/models.py:710
msgid "No build output specified"
msgstr "Nie określono danych wyjściowych budowy"
-#: build/models.py:717
+#: build/models.py:713
msgid "Build output is already completed"
msgstr "Budowanie wyjścia jest już ukończone"
-#: build/models.py:720
+#: build/models.py:716
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1102
+#: build/models.py:1108
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1111
+#: build/models.py:1117
#, python-brace-format
msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1121
+#: build/models.py:1127
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1127 order/models.py:955
+#: build/models.py:1133 order/models.py:964
msgid "Allocation quantity must be greater than zero"
msgstr "Alokowana ilość musi być większa niż zero"
-#: build/models.py:1133
+#: build/models.py:1139
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1191
+#: build/models.py:1193
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1251 stock/templates/stock/item_base.html:331
-#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195
-#: templates/navbar.html:35
+#: build/models.py:1253 stock/templates/stock/item_base.html:318
+#: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599
+#: templates/navbar.html:33
msgid "Build"
msgstr "Budowa"
-#: build/models.py:1252
+#: build/models.py:1254
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1268 build/serializers.py:151
+#: build/models.py:1270 build/serializers.py:328
#: stock/templates/stock/item_base.html:8
-#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:353
-#: stock/templates/stock/stock_adjust.html:16
-#: templates/js/translated/build.js:287 templates/js/translated/build.js:292
-#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148
-#: templates/js/translated/stock.js:1605
+#: stock/templates/stock/item_base.html:16
+#: stock/templates/stock/item_base.html:340
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:413
+#: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742
+#: templates/js/translated/order.js:1156 templates/js/translated/order.js:1161
+#: templates/js/translated/stock.js:1990
msgid "Stock Item"
msgstr "Element magazynowy"
-#: build/models.py:1269
+#: build/models.py:1271
msgid "Source stock item"
msgstr "Lokalizacja magazynowania przedmiotu"
-#: build/models.py:1282
+#: build/models.py:1284
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1290
+#: build/models.py:1292
msgid "Install into"
msgstr "Zainstaluj do"
-#: build/models.py:1291
+#: build/models.py:1293
msgid "Destination stock item"
msgstr "Docelowa lokalizacja magazynowa przedmiotu"
-#: build/serializers.py:133 part/models.py:2501
-msgid "BOM Item"
-msgstr ""
-
-#: build/serializers.py:142
-msgid "bom_item.part must point to the same part as the build order"
-msgstr ""
-
-#: build/serializers.py:157
-msgid "Item must be in stock"
-msgstr ""
-
-#: build/serializers.py:171 order/models.py:313 order/serializers.py:231
-#: stock/models.py:351 stock/models.py:1072
-msgid "Quantity must be greater than zero"
-msgstr "Ilość musi być większa niż zero"
-
-#: build/serializers.py:180
+#: build/serializers.py:137 build/serializers.py:357
msgid "Build Output"
msgstr ""
+#: build/serializers.py:146
+msgid "Build output does not match the parent build"
+msgstr ""
+
+#: build/serializers.py:150
+msgid "Output part does not match BuildOrder part"
+msgstr ""
+
+#: build/serializers.py:154
+#, fuzzy
+#| msgid "Build output is already completed"
+msgid "This build output has already been completed"
+msgstr "Budowanie wyjścia jest już ukończone"
+
+#: build/serializers.py:158
+#, fuzzy
+#| msgid "Build output is already completed"
+msgid "This build output is not fully allocated"
+msgstr "Budowanie wyjścia jest już ukończone"
+
+#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285
+#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686
+#: stock/templates/stock/item_base.html:286
+#: templates/js/translated/barcode.js:384
+#: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420
+#: templates/js/translated/build.js:1027 templates/js/translated/order.js:348
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1276
+#: templates/js/translated/order.js:1282 templates/js/translated/part.js:180
+#: templates/js/translated/stock.js:480 templates/js/translated/stock.js:1221
+#: templates/js/translated/stock.js:1931
+msgid "Location"
+msgstr "Lokalizacja"
+
+#: build/serializers.py:191
+#, fuzzy
+#| msgid "Location of completed parts"
+msgid "Location for completed build outputs"
+msgstr "Lokalizacja ukończonych części"
+
+#: build/serializers.py:197 build/templates/build/build_base.html:129
+#: build/templates/build/detail.html:63 order/models.py:572
+#: order/serializers.py:238 stock/templates/stock/item_base.html:409
+#: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655
+#: templates/js/translated/order.js:431 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196
+#: templates/js/translated/stock.js:2008 templates/js/translated/stock.js:2157
+msgid "Status"
+msgstr "Status"
+
#: build/serializers.py:213
+#, fuzzy
+#| msgid "No build output specified"
+msgid "A list of build outputs must be provided"
+msgstr "Nie określono danych wyjściowych budowy"
+
+#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700
+#: part/models.py:2859
+msgid "BOM Item"
+msgstr ""
+
+#: build/serializers.py:269
+#, fuzzy
+#| msgid "Create Build Output"
+msgid "Build output"
+msgstr "Utwórz zlecenie budowy"
+
+#: build/serializers.py:278
+msgid "Build output must point to the same build"
+msgstr ""
+
+#: build/serializers.py:319
+msgid "bom_item.part must point to the same part as the build order"
+msgstr ""
+
+#: build/serializers.py:334
+msgid "Item must be in stock"
+msgstr ""
+
+#: build/serializers.py:348 order/models.py:316 order/serializers.py:231
+#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298
+msgid "Quantity must be greater than zero"
+msgstr "Ilość musi być większa niż zero"
+
+#: build/serializers.py:390
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:219
+#: build/serializers.py:396
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:226
+#: build/serializers.py:403
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:254
+#: build/serializers.py:431
msgid "Allocation items must be provided"
msgstr ""
-#: build/templates/build/allocation_card.html:21
-#: build/templates/build/complete_output.html:46
-#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:501 stock/templates/stock/item_base.html:251
-#: templates/js/translated/build.js:636
-#: templates/js/translated/model_renderers.js:72
-#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342
-msgid "Serial Number"
-msgstr "Numer Seryjny"
+#: build/tasks.py:92
+#, fuzzy
+#| msgid "User responsible for this build order"
+msgid "Stock required for build order"
+msgstr "Użytkownik odpowiedzialny za to zamówienie budowy"
-#: build/templates/build/build_base.html:18
+#: build/templates/build/build_base.html:39
+#: order/templates/order/order_base.html:28
+#: order/templates/order/sales_order_base.html:38
+msgid "Print actions"
+msgstr "Akcje drukowania"
+
+#: build/templates/build/build_base.html:43
+#, fuzzy
+#| msgid "Print Build Order"
+msgid "Print build order report"
+msgstr "Wydrukuj Numer Zlecenia Budowy"
+
+#: build/templates/build/build_base.html:50
+msgid "Build actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:54
+msgid "Edit Build"
+msgstr "Edytuj Budowę"
+
+#: build/templates/build/build_base.html:56
+#: build/templates/build/build_base.html:207 build/views.py:56
+msgid "Cancel Build"
+msgstr "Anuluj Budowę"
+
+#: build/templates/build/build_base.html:59
+msgid "Delete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:64
+#: build/templates/build/build_base.html:65
+#: build/templates/build/build_base.html:223
+msgid "Complete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:79
#, python-format
msgid "This Build Order is allocated to Sales Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:25
+#: build/templates/build/build_base.html:86
#, python-format
msgid "This Build Order is a child of Build Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:32
+#: build/templates/build/build_base.html:93
msgid "Build Order is ready to mark as completed"
msgstr ""
-#: build/templates/build/build_base.html:37
+#: build/templates/build/build_base.html:98
msgid "Build Order cannot be completed as outstanding outputs remain"
msgstr ""
-#: build/templates/build/build_base.html:42
+#: build/templates/build/build_base.html:103
msgid "Required build quantity has not yet been completed"
msgstr ""
-#: build/templates/build/build_base.html:47
+#: build/templates/build/build_base.html:108
msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
-#: build/templates/build/build_base.html:75
-#: company/templates/company/company_base.html:40
-#: company/templates/company/manufacturer_part.html:29
-#: company/templates/company/supplier_part.html:30
-#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:30
-#: stock/templates/stock/item_base.html:62
-#: stock/templates/stock/location.html:31
-msgid "Admin view"
-msgstr "Widok administratora"
+#: build/templates/build/build_base.html:138
+#: build/templates/build/detail.html:132
+#: order/templates/order/order_base.html:140
+#: order/templates/order/sales_order_base.html:140
+#: report/templates/report/inventree_build_order_base.html:126
+#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690
+#: templates/js/translated/order.js:1087
+msgid "Target Date"
+msgstr "Data docelowa"
-#: build/templates/build/build_base.html:81
-#: build/templates/build/build_base.html:150
-#: order/templates/order/order_base.html:32
-#: order/templates/order/order_base.html:86
-#: order/templates/order/sales_order_base.html:43
-#: order/templates/order/sales_order_base.html:93
-#: templates/js/translated/table_filters.js:272
-#: templates/js/translated/table_filters.js:300
-#: templates/js/translated/table_filters.js:317
-msgid "Overdue"
-msgstr "Zaległe"
-
-#: build/templates/build/build_base.html:90
-msgid "Print actions"
-msgstr "Akcje drukowania"
-
-#: build/templates/build/build_base.html:94
-msgid "Print Build Order"
-msgstr "Wydrukuj Numer Zlecenia Budowy"
-
-#: build/templates/build/build_base.html:100
-#: build/templates/build/build_base.html:222
-msgid "Complete Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:105
-msgid "Build actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:109
-msgid "Edit Build"
-msgstr "Edytuj Budowę"
-
-#: build/templates/build/build_base.html:111
-#: build/templates/build/build_base.html:206 build/views.py:56
-msgid "Cancel Build"
-msgstr "Anuluj Budowę"
-
-#: build/templates/build/build_base.html:114
-msgid "Delete Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:124
-#: build/templates/build/detail.html:15
-msgid "Build Details"
-msgstr "Szczegóły budowy"
-
-#: build/templates/build/build_base.html:150
+#: build/templates/build/build_base.html:143
#, python-format
msgid "This build was due on %(target)s"
msgstr ""
-#: build/templates/build/build_base.html:157
-#: build/templates/build/detail.html:67
-msgid "Progress"
-msgstr "Postęp"
+#: build/templates/build/build_base.html:143
+#: build/templates/build/build_base.html:188
+#: order/templates/order/order_base.html:81
+#: order/templates/order/order_base.html:102
+#: order/templates/order/sales_order_base.html:78
+#: order/templates/order/sales_order_base.html:107
+#: templates/js/translated/table_filters.js:288
+#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:333
+msgid "Overdue"
+msgstr "Zaległe"
-#: build/templates/build/build_base.html:170
-#: build/templates/build/detail.html:87 order/models.py:848
+#: build/templates/build/build_base.html:150
+#: build/templates/build/detail.html:68 build/templates/build/detail.html:143
+#: templates/js/translated/build.js:1641
+#: templates/js/translated/table_filters.js:298
+msgid "Completed"
+msgstr "Zakończone"
+
+#: build/templates/build/build_base.html:163
+#: build/templates/build/detail.html:95 order/models.py:857
#: order/templates/order/sales_order_base.html:9
-#: order/templates/order/sales_order_base.html:35
+#: order/templates/order/sales_order_base.html:28
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:293
-#: templates/js/translated/order.js:1016
+#: stock/templates/stock/item_base.html:280
+#: templates/js/translated/order.js:1029
msgid "Sales Order"
msgstr "Zamówienie zakupu"
-#: build/templates/build/build_base.html:177
-#: build/templates/build/detail.html:101
+#: build/templates/build/build_base.html:170
+#: build/templates/build/detail.html:109
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr "Dodane przez"
-#: build/templates/build/build_base.html:214
+#: build/templates/build/build_base.html:215
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:215
+#: build/templates/build/build_base.html:216
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
@@ -1175,220 +1162,205 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/templates/build/complete_output.html:10
-msgid "Stock allocation is complete for this output"
-msgstr ""
+#: build/templates/build/detail.html:16
+msgid "Build Details"
+msgstr "Szczegóły budowy"
-#: build/templates/build/complete_output.html:14
-msgid "Stock allocation is incomplete"
-msgstr ""
-
-#: build/templates/build/complete_output.html:20
-msgid "tracked parts have not been fully allocated"
-msgstr ""
-
-#: build/templates/build/complete_output.html:41
-msgid "The following items will be created"
-msgstr ""
-
-#: build/templates/build/detail.html:38
+#: build/templates/build/detail.html:39
msgid "Stock Source"
msgstr "Źródło magazynu"
-#: build/templates/build/detail.html:43
+#: build/templates/build/detail.html:44
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134
-#: templates/js/translated/order.js:431 templates/js/translated/order.js:939
+#: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150
+#: templates/js/translated/order.js:432 templates/js/translated/order.js:952
msgid "Destination"
msgstr "Przeznaczenie"
-#: build/templates/build/detail.html:56
+#: build/templates/build/detail.html:57
msgid "Destination location not specified"
msgstr "Nie określono lokalizacji docelowej"
-#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:317
-#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852
-#: templates/js/translated/table_filters.js:129
-#: templates/js/translated/table_filters.js:211
+#: build/templates/build/detail.html:74 templates/js/translated/build.js:647
+#, fuzzy
+#| msgid "Allocated"
+msgid "Allocated Parts"
+msgstr "Przydzielono"
+
+#: build/templates/build/detail.html:81
+#: stock/templates/stock/item_base.html:304
+#: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164
+#: templates/js/translated/table_filters.js:145
+#: templates/js/translated/table_filters.js:227
msgid "Batch"
msgstr "Partia"
-#: build/templates/build/detail.html:119
-#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:118
-#: templates/js/translated/build.js:1259
+#: build/templates/build/detail.html:127
+#: order/templates/order/order_base.html:127
+#: order/templates/order/sales_order_base.html:134
+#: templates/js/translated/build.js:1663
msgid "Created"
msgstr "Utworzony"
-#: build/templates/build/detail.html:130
+#: build/templates/build/detail.html:138
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237
-#: templates/js/translated/table_filters.js:282
-msgid "Completed"
-msgstr "Zakończone"
-
-#: build/templates/build/detail.html:139
+#: build/templates/build/detail.html:147
msgid "Build not complete"
msgstr "Budowa niezakończona"
-#: build/templates/build/detail.html:150 build/templates/build/navbar.html:35
+#: build/templates/build/detail.html:158
msgid "Child Build Orders"
msgstr ""
-#: build/templates/build/detail.html:166
+#: build/templates/build/detail.html:173
msgid "Allocate Stock to Build"
msgstr "Przydziel zapasy do budowy"
-#: build/templates/build/detail.html:172
-msgid "Allocate stock to build"
-msgstr "Przydziel zapasy do budowy"
-
-#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20
-#: build/templates/build/navbar.html:23
-msgid "Allocate Stock"
-msgstr "Przydziel zapasy"
-
-#: build/templates/build/detail.html:175 templates/js/translated/build.js:817
+#: build/templates/build/detail.html:177 templates/js/translated/build.js:1202
msgid "Unallocate stock"
msgstr "Cofnij przydział zapasów"
-#: build/templates/build/detail.html:176 build/views.py:257
+#: build/templates/build/detail.html:178
msgid "Unallocate Stock"
msgstr "Cofnij przydział zapasów"
-#: build/templates/build/detail.html:179
+#: build/templates/build/detail.html:180
+msgid "Allocate stock to build"
+msgstr "Przydziel zapasy do budowy"
+
+#: build/templates/build/detail.html:181
+msgid "Allocate Stock"
+msgstr "Przydziel zapasy"
+
+#: build/templates/build/detail.html:184
msgid "Order required parts"
msgstr "Zamów wymagane komponenty"
-#: build/templates/build/detail.html:180
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72 order/views.py:509
-#: part/templates/part/category.html:140
+#: build/templates/build/detail.html:185
+#: company/templates/company/detail.html:38
+#: company/templates/company/detail.html:85 order/views.py:509
+#: part/templates/part/category.html:166
msgid "Order Parts"
msgstr "Zamów części"
-#: build/templates/build/detail.html:186
+#: build/templates/build/detail.html:197
msgid "Untracked stock has been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:190
+#: build/templates/build/detail.html:201
msgid "Untracked stock has not been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:197
+#: build/templates/build/detail.html:208
msgid "Allocate selected items"
msgstr ""
-#: build/templates/build/detail.html:209
+#: build/templates/build/detail.html:218
msgid "This Build Order does not have any associated untracked BOM items"
msgstr ""
-#: build/templates/build/detail.html:218
+#: build/templates/build/detail.html:227
msgid "Incomplete Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:223
+#: build/templates/build/detail.html:231
msgid "Create new build output"
msgstr ""
-#: build/templates/build/detail.html:224
-msgid "Create New Output"
-msgstr "Utwórz nowe wyjście"
+#: build/templates/build/detail.html:232
+#, fuzzy
+#| msgid "Create Build Output"
+msgid "New Build Output"
+msgstr "Utwórz zlecenie budowy"
-#: build/templates/build/detail.html:237
-msgid "Create a new build output"
-msgstr ""
+#: build/templates/build/detail.html:246
+#, fuzzy
+#| msgid "Actions"
+msgid "Output Actions"
+msgstr "Akcje"
-#: build/templates/build/detail.html:238
-msgid "No incomplete build outputs remain."
-msgstr ""
+#: build/templates/build/detail.html:250
+#, fuzzy
+#| msgid "Completed items"
+msgid "Complete selected items"
+msgstr "Ukończone elementy"
-#: build/templates/build/detail.html:239
-msgid "Create a new build output using the button above"
-msgstr ""
+#: build/templates/build/detail.html:251
+#, fuzzy
+#| msgid "Completed items"
+msgid "Complete outputs"
+msgstr "Ukończone elementy"
-#: build/templates/build/detail.html:247
+#: build/templates/build/detail.html:266
msgid "Completed Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42
-#: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35
-#: order/templates/order/sales_order_detail.html:43
-#: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173
-#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117
-#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47
-#: stock/templates/stock/navbar.html:50
+#: build/templates/build/detail.html:278
+#: order/templates/order/purchase_order_detail.html:60
+#: order/templates/order/sales_order_detail.html:52
+#: part/templates/part/detail.html:300 stock/templates/stock/item.html:95
msgid "Attachments"
msgstr "Załączniki"
-#: build/templates/build/detail.html:269
+#: build/templates/build/detail.html:294
msgid "Build Notes"
msgstr "Notatki tworzenia"
-#: build/templates/build/detail.html:273 build/templates/build/detail.html:414
-#: company/templates/company/detail.html:169
-#: company/templates/company/detail.html:196
-#: order/templates/order/purchase_order_detail.html:71
-#: order/templates/order/purchase_order_detail.html:104
-#: order/templates/order/sales_order_detail.html:58
-#: order/templates/order/sales_order_detail.html:85
-#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103
-#: stock/templates/stock/item.html:188
+#: build/templates/build/detail.html:298 build/templates/build/detail.html:489
+#: company/templates/company/detail.html:188
+#: company/templates/company/detail.html:215
+#: order/templates/order/purchase_order_detail.html:80
+#: order/templates/order/purchase_order_detail.html:108
+#: order/templates/order/sales_order_detail.html:72
+#: order/templates/order/sales_order_detail.html:99
+#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115
+#: stock/templates/stock/item.html:205
msgid "Edit Notes"
msgstr ""
-#: build/templates/build/detail.html:373
-#: order/templates/order/po_attachments.html:79
-#: order/templates/order/purchase_order_detail.html:166
-#: order/templates/order/sales_order_detail.html:146
-#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253
-#: templates/attachment_table.html:6
+#: build/templates/build/detail.html:448
+#: order/templates/order/purchase_order_detail.html:170
+#: order/templates/order/sales_order_detail.html:160
+#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270
+#: templates/attachment_button.html:4
msgid "Add Attachment"
msgstr "Dodaj załącznik"
-#: build/templates/build/detail.html:392
-#: order/templates/order/po_attachments.html:51
-#: order/templates/order/purchase_order_detail.html:138
-#: order/templates/order/sales_order_detail.html:119
-#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221
+#: build/templates/build/detail.html:467
+#: order/templates/order/purchase_order_detail.html:142
+#: order/templates/order/sales_order_detail.html:133
+#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238
msgid "Edit Attachment"
msgstr "Edytuj załącznik"
-#: build/templates/build/detail.html:399
-#: order/templates/order/po_attachments.html:58
-#: order/templates/order/purchase_order_detail.html:145
-#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230
-#: templates/js/translated/order.js:1230
+#: build/templates/build/detail.html:474
+#: order/templates/order/purchase_order_detail.html:149
+#: order/templates/order/sales_order_detail.html:139
+#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247
+#: templates/js/translated/order.js:1243
msgid "Confirm Delete Operation"
msgstr ""
-#: build/templates/build/detail.html:400
-#: order/templates/order/po_attachments.html:59
-#: order/templates/order/purchase_order_detail.html:146
-#: order/templates/order/sales_order_detail.html:126
-#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231
+#: build/templates/build/detail.html:475
+#: order/templates/order/purchase_order_detail.html:150
+#: order/templates/order/sales_order_detail.html:140
+#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248
msgid "Delete Attachment"
msgstr "Usuń załącznik"
-#: build/templates/build/detail.html:443
+#: build/templates/build/detail.html:513
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:444
+#: build/templates/build/detail.html:514
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/edit_build_item.html:7
-msgid "Alter the quantity of stock allocated to the build output"
-msgstr ""
-
-#: build/templates/build/index.html:28
+#: build/templates/build/index.html:18 part/templates/part/detail.html:433
msgid "New Build Order"
msgstr "Nowe zlecenie budowy"
@@ -1396,47 +1368,18 @@ msgstr "Nowe zlecenie budowy"
msgid "Print Build Orders"
msgstr "Wydrukuj zlecenia budowy"
-#: build/templates/build/index.html:43
-#: order/templates/order/purchase_orders.html:27
-#: order/templates/order/sales_orders.html:27
+#: build/templates/build/index.html:44
+#: order/templates/order/purchase_orders.html:34
+#: order/templates/order/sales_orders.html:37
msgid "Display calendar view"
msgstr "Pokaż widok kalendarza"
-#: build/templates/build/index.html:46
-#: order/templates/order/purchase_orders.html:30
-#: order/templates/order/sales_orders.html:30
+#: build/templates/build/index.html:47
+#: order/templates/order/purchase_orders.html:37
+#: order/templates/order/sales_orders.html:40
msgid "Display list view"
msgstr "Pokaż widok listy"
-#: build/templates/build/navbar.html:12
-msgid "Build Order Details"
-msgstr "Szczegóły zlecenia budowy"
-
-#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/translated/stock.js:1534
-msgid "Details"
-msgstr "Szczegóły"
-
-#: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31
-msgid "Build Outputs"
-msgstr ""
-
-#: build/templates/build/navbar.html:38
-msgid "Child Builds"
-msgstr "Budowy podrzędne"
-
-#: build/templates/build/navbar.html:49
-msgid "Build Order Notes"
-msgstr "Notatki zlecenia budowy"
-
-#: build/templates/build/unallocate.html:10
-msgid "Are you sure you wish to unallocate all stock for this build?"
-msgstr "Czy na pewno chcesz cofnąć przydział wszystkich zapasów dla tej budowy?"
-
-#: build/templates/build/unallocate.html:12
-msgid "All incomplete stock allocations will be removed from the build"
-msgstr ""
-
#: build/views.py:76
msgid "Build was cancelled"
msgstr "Tworzenie zostało przerwane"
@@ -1449,7 +1392,7 @@ msgstr "Utwórz zlecenie budowy"
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:122 stock/views.py:1366
+#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290
msgid "Serial numbers already exist"
msgstr "Numer seryjny już istnieje"
@@ -1461,11 +1404,11 @@ msgstr ""
msgid "Delete Build Output"
msgstr ""
-#: build/views.py:218 build/views.py:308
+#: build/views.py:218
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:219 build/views.py:309 stock/views.py:381
+#: build/views.py:219 stock/views.py:385
msgid "Check the confirmation box"
msgstr ""
@@ -1473,7 +1416,7 @@ msgstr ""
msgid "Build output does not match build"
msgstr ""
-#: build/views.py:233 build/views.py:434
+#: build/views.py:233
msgid "Build output must be specified"
msgstr ""
@@ -1481,39 +1424,19 @@ msgstr ""
msgid "Build output deleted"
msgstr ""
-#: build/views.py:343
+#: build/views.py:261
msgid "Complete Build Order"
msgstr ""
-#: build/views.py:349
+#: build/views.py:267
msgid "Build order cannot be completed - incomplete outputs remain"
msgstr ""
-#: build/views.py:360
+#: build/views.py:278
msgid "Completed build order"
msgstr ""
-#: build/views.py:376
-msgid "Complete Build Output"
-msgstr ""
-
-#: build/views.py:418
-msgid "Invalid stock status value selected"
-msgstr ""
-
-#: build/views.py:425
-msgid "Quantity to complete cannot exceed build output quantity"
-msgstr ""
-
-#: build/views.py:431
-msgid "Confirm completion of incomplete build"
-msgstr ""
-
-#: build/views.py:530
-msgid "Build output completed"
-msgstr ""
-
-#: build/views.py:567
+#: build/views.py:319
msgid "Delete Build Order"
msgstr ""
@@ -1554,728 +1477,738 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:308 common/models.py:887 common/models.py:1048
+#: common/models.py:340 common/models.py:970 common/models.py:1178
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:310
+#: common/models.py:342
msgid "Settings value"
msgstr "Ustawienia wartości"
-#: common/models.py:345
+#: common/models.py:377
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:368
+#: common/models.py:382
+msgid "Chosen value is not a valid option"
+msgstr ""
+
+#: common/models.py:405
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:379
+#: common/models.py:416
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:402
+#: common/models.py:439
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:509
+#: common/models.py:559
+msgid "No group"
+msgstr ""
+
+#: common/models.py:601
+#, fuzzy
+#| msgid "Required"
+msgid "Restart required"
+msgstr "Wymagane"
+
+#: common/models.py:602
+msgid "A setting has been changed which requires a server restart"
+msgstr ""
+
+#: common/models.py:609
msgid "InvenTree Instance Name"
msgstr "Nazwa instancji InvenTree"
-#: common/models.py:511
+#: common/models.py:611
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:515
+#: common/models.py:615
msgid "Use instance name"
msgstr ""
-#: common/models.py:516
+#: common/models.py:616
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:522 company/models.py:100 company/models.py:101
+#: common/models.py:622 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr "Nazwa firmy"
-#: common/models.py:523
+#: common/models.py:623
msgid "Internal company name"
msgstr ""
-#: common/models.py:528
+#: common/models.py:628
msgid "Base URL"
msgstr "Bazowy URL"
-#: common/models.py:529
+#: common/models.py:629
msgid "Base URL for server instance"
msgstr "Bazowy adres URL dla instancji serwera"
-#: common/models.py:535
+#: common/models.py:635
msgid "Default Currency"
msgstr ""
-#: common/models.py:536
+#: common/models.py:636
msgid "Default currency"
msgstr ""
-#: common/models.py:542
+#: common/models.py:642
msgid "Download from URL"
msgstr "Pobierz z adresu URL"
-#: common/models.py:543
+#: common/models.py:643
msgid "Allow download of remote images and files from external URL"
msgstr "Zezwól na pobieranie zewnętrznych obrazów i plików z zewnętrznego URL"
-#: common/models.py:549
+#: common/models.py:649
msgid "Barcode Support"
msgstr "Obsługa kodu kreskowego"
-#: common/models.py:550
+#: common/models.py:650
msgid "Enable barcode scanner support"
msgstr "Włącz obsługę skanera kodów"
-#: common/models.py:556
+#: common/models.py:656
msgid "IPN Regex"
msgstr "Wyrażenie regularne IPN"
-#: common/models.py:557
+#: common/models.py:657
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:561
+#: common/models.py:661
msgid "Allow Duplicate IPN"
msgstr "Zezwól na powtarzający się IPN"
-#: common/models.py:562
+#: common/models.py:662
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:568
+#: common/models.py:668
msgid "Allow Editing IPN"
msgstr "Zezwól na edycję IPN"
-#: common/models.py:569
+#: common/models.py:669
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:575
+#: common/models.py:675
msgid "Copy Part BOM Data"
msgstr "Skopiuj BOM komponentu"
-#: common/models.py:576
+#: common/models.py:676
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:582
+#: common/models.py:682
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:583
+#: common/models.py:683
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:589
+#: common/models.py:689
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:590
+#: common/models.py:690
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:596
+#: common/models.py:696
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:597
+#: common/models.py:697
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:603 part/models.py:2256 report/models.py:187
-#: stock/forms.py:224 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:351
+#: common/models.py:703 part/models.py:2429 report/models.py:187
+#: templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:367
msgid "Template"
msgstr "Szablon"
-#: common/models.py:604
+#: common/models.py:704
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:610 part/models.py:806
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:363
+#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954
+#: templates/js/translated/table_filters.js:162
+#: templates/js/translated/table_filters.js:379
msgid "Assembly"
msgstr "Złożenie"
-#: common/models.py:611
+#: common/models.py:711
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:617 part/models.py:812
-#: templates/js/translated/table_filters.js:367
+#: common/models.py:717 part/models.py:894
+#: templates/js/translated/table_filters.js:383
msgid "Component"
msgstr "Komponent"
-#: common/models.py:618
+#: common/models.py:718
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:624 part/models.py:823
+#: common/models.py:724 part/models.py:905
msgid "Purchaseable"
msgstr "Możliwość zakupu"
-#: common/models.py:625
+#: common/models.py:725
msgid "Parts are purchaseable by default"
msgstr "Części są domyślnie z możliwością zakupu"
-#: common/models.py:631 part/models.py:828
-#: templates/js/translated/table_filters.js:375
+#: common/models.py:731 part/models.py:910
+#: templates/js/translated/table_filters.js:391
msgid "Salable"
msgstr "Możliwość sprzedaży"
-#: common/models.py:632
+#: common/models.py:732
msgid "Parts are salable by default"
msgstr "Części są domyślnie z możliwością sprzedaży"
-#: common/models.py:638 part/models.py:818
+#: common/models.py:738 part/models.py:900
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:379
+#: templates/js/translated/table_filters.js:94
+#: templates/js/translated/table_filters.js:395
msgid "Trackable"
msgstr "Możliwość śledzenia"
-#: common/models.py:639
+#: common/models.py:739
msgid "Parts are trackable by default"
msgstr "Części są domyślnie z możliwością śledzenia"
-#: common/models.py:645 part/models.py:838
-#: part/templates/part/part_base.html:66
+#: common/models.py:745 part/models.py:920
+#: part/templates/part/part_base.html:144
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr "Wirtualny"
-#: common/models.py:646
+#: common/models.py:746
msgid "Parts are virtual by default"
msgstr "Części są domyślnie wirtualne"
-#: common/models.py:652
+#: common/models.py:752
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:653
+#: common/models.py:753
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:659
+#: common/models.py:759
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:660
+#: common/models.py:760
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:671
+#: common/models.py:771
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:672
+#: common/models.py:772
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:678
+#: common/models.py:778
msgid "Show related parts"
msgstr ""
-#: common/models.py:679
+#: common/models.py:779
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:685
+#: common/models.py:785
msgid "Create initial stock"
msgstr ""
-#: common/models.py:686
+#: common/models.py:786
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:692
+#: common/models.py:792
msgid "Internal Prices"
msgstr ""
-#: common/models.py:693
+#: common/models.py:793
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:699
+#: common/models.py:799
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:700
+#: common/models.py:800
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:706 templates/stats.html:25
+#: common/models.py:806
+msgid "Part Name Display Format"
+msgstr ""
+
+#: common/models.py:807
+msgid "Format to display the part name"
+msgstr ""
+
+#: common/models.py:814
+#, fuzzy
+#| msgid "Test Reports"
+msgid "Enable Reports"
+msgstr "Raporty testów"
+
+#: common/models.py:815
+#, fuzzy
+#| msgid "Enable generation of test reports"
+msgid "Enable generation of reports"
+msgstr "Włącz generowanie raportów testów"
+
+#: common/models.py:821 templates/stats.html:25
msgid "Debug Mode"
msgstr "Tryb Debugowania"
-#: common/models.py:707
+#: common/models.py:822
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:713
+#: common/models.py:828
msgid "Page Size"
msgstr "Rozmiar strony"
-#: common/models.py:714
+#: common/models.py:829
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:724
+#: common/models.py:839
msgid "Test Reports"
msgstr "Raporty testów"
-#: common/models.py:725
+#: common/models.py:840
msgid "Enable generation of test reports"
msgstr "Włącz generowanie raportów testów"
-#: common/models.py:731
+#: common/models.py:846
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:732
+#: common/models.py:847
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:738
+#: common/models.py:853
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:739
+#: common/models.py:854
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:745
+#: common/models.py:860
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:746
+#: common/models.py:861
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:748
+#: common/models.py:863
msgid "days"
msgstr "dni"
-#: common/models.py:753
+#: common/models.py:868
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:754
+#: common/models.py:869
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:760
+#: common/models.py:875
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:761
+#: common/models.py:876
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:767
+#: common/models.py:882
msgid "Group by Part"
msgstr "Grupuj według komponentu"
-#: common/models.py:768
+#: common/models.py:883
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:774
+#: common/models.py:889
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:775
+#: common/models.py:890
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:780
+#: common/models.py:895
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:781
+#: common/models.py:896
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:785
+#: common/models.py:900
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:786
+#: common/models.py:901
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:791
+#: common/models.py:906
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:792
+#: common/models.py:907
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:798
-msgid "Enable build"
-msgstr ""
-
-#: common/models.py:799
-msgid "Enable build functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:804
-msgid "Enable buy"
-msgstr ""
-
-#: common/models.py:805
-msgid "Enable buy functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:810
-msgid "Enable sell"
-msgstr ""
-
-#: common/models.py:811
-msgid "Enable sell functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:816
-msgid "Enable stock"
-msgstr ""
-
-#: common/models.py:817
-msgid "Enable stock functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:822
-msgid "Enable SO"
-msgstr ""
-
-#: common/models.py:823
-msgid "Enable SO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:828
-msgid "Enable PO"
-msgstr ""
-
-#: common/models.py:829
-msgid "Enable PO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:836
+#: common/models.py:913
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:837
-msgid "Enable password forgot function on the login-pages"
+#: common/models.py:914
+msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:842
+#: common/models.py:919
msgid "Enable registration"
msgstr ""
-#: common/models.py:843
-msgid "Enable self-registration for users on the login-pages"
+#: common/models.py:920
+msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:848
+#: common/models.py:925
msgid "Enable SSO"
msgstr ""
-#: common/models.py:849
-msgid "Enable SSO on the login-pages"
+#: common/models.py:926
+msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:854
-msgid "E-Mail required"
-msgstr ""
+#: common/models.py:931
+#, fuzzy
+#| msgid "Required"
+msgid "Email required"
+msgstr "Wymagane"
-#: common/models.py:855
+#: common/models.py:932
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:860
+#: common/models.py:937
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:861
+#: common/models.py:938
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:943
msgid "Mail twice"
msgstr ""
-#: common/models.py:867
+#: common/models.py:944
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:872
+#: common/models.py:949
msgid "Password twice"
msgstr ""
-#: common/models.py:873
+#: common/models.py:950
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:898
-msgid "Show starred parts"
+#: common/models.py:955
+msgid "Group on signup"
msgstr ""
-#: common/models.py:899
-msgid "Show starred parts on the homepage"
+#: common/models.py:956
+msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:904
-msgid "Show latest parts"
-msgstr ""
-
-#: common/models.py:905
-msgid "Show latest parts on the homepage"
-msgstr ""
-
-#: common/models.py:910
-msgid "Recent Part Count"
-msgstr ""
-
-#: common/models.py:911
-msgid "Number of recent parts to display on index page"
-msgstr ""
-
-#: common/models.py:917
-msgid "Show unvalidated BOMs"
-msgstr ""
-
-#: common/models.py:918
-msgid "Show BOMs that await validation on the homepage"
-msgstr ""
-
-#: common/models.py:923
-msgid "Show recent stock changes"
-msgstr ""
-
-#: common/models.py:924
-msgid "Show recently changed stock items on the homepage"
-msgstr ""
-
-#: common/models.py:929
-msgid "Recent Stock Count"
-msgstr ""
-
-#: common/models.py:930
-msgid "Number of recent stock items to display on index page"
-msgstr ""
-
-#: common/models.py:935
-msgid "Show low stock"
-msgstr ""
-
-#: common/models.py:936
-msgid "Show low stock items on the homepage"
-msgstr ""
-
-#: common/models.py:941
-msgid "Show depleted stock"
-msgstr ""
-
-#: common/models.py:942
-msgid "Show depleted stock items on the homepage"
-msgstr ""
-
-#: common/models.py:947
-msgid "Show needed stock"
-msgstr ""
-
-#: common/models.py:948
-msgid "Show stock items needed for builds on the homepage"
-msgstr ""
-
-#: common/models.py:953
-msgid "Show expired stock"
-msgstr ""
-
-#: common/models.py:954
-msgid "Show expired stock items on the homepage"
-msgstr ""
-
-#: common/models.py:959
-msgid "Show stale stock"
-msgstr ""
-
-#: common/models.py:960
-msgid "Show stale stock items on the homepage"
-msgstr ""
-
-#: common/models.py:965
-msgid "Show pending builds"
-msgstr ""
-
-#: common/models.py:966
-msgid "Show pending builds on the homepage"
-msgstr ""
-
-#: common/models.py:971
-msgid "Show overdue builds"
-msgstr ""
-
-#: common/models.py:972
-msgid "Show overdue builds on the homepage"
-msgstr ""
-
-#: common/models.py:977
-msgid "Show outstanding POs"
-msgstr ""
-
-#: common/models.py:978
-msgid "Show outstanding POs on the homepage"
-msgstr ""
-
-#: common/models.py:983
-msgid "Show overdue POs"
-msgstr ""
-
-#: common/models.py:984
-msgid "Show overdue POs on the homepage"
-msgstr ""
-
-#: common/models.py:989
-msgid "Show outstanding SOs"
-msgstr ""
-
-#: common/models.py:990
-msgid "Show outstanding SOs on the homepage"
-msgstr ""
-
-#: common/models.py:995
-msgid "Show overdue SOs"
-msgstr ""
-
-#: common/models.py:996
-msgid "Show overdue SOs on the homepage"
+#: common/models.py:1001
+msgid "Show subscribed parts"
msgstr ""
#: common/models.py:1002
+msgid "Show subscribed parts on the homepage"
+msgstr ""
+
+#: common/models.py:1007
+msgid "Show subscribed categories"
+msgstr ""
+
+#: common/models.py:1008
+msgid "Show subscribed part categories on the homepage"
+msgstr ""
+
+#: common/models.py:1013
+msgid "Show latest parts"
+msgstr ""
+
+#: common/models.py:1014
+msgid "Show latest parts on the homepage"
+msgstr ""
+
+#: common/models.py:1019
+msgid "Recent Part Count"
+msgstr ""
+
+#: common/models.py:1020
+msgid "Number of recent parts to display on index page"
+msgstr ""
+
+#: common/models.py:1026
+msgid "Show unvalidated BOMs"
+msgstr ""
+
+#: common/models.py:1027
+msgid "Show BOMs that await validation on the homepage"
+msgstr ""
+
+#: common/models.py:1032
+msgid "Show recent stock changes"
+msgstr ""
+
+#: common/models.py:1033
+msgid "Show recently changed stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1038
+msgid "Recent Stock Count"
+msgstr ""
+
+#: common/models.py:1039
+msgid "Number of recent stock items to display on index page"
+msgstr ""
+
+#: common/models.py:1044
+msgid "Show low stock"
+msgstr ""
+
+#: common/models.py:1045
+msgid "Show low stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1050
+msgid "Show depleted stock"
+msgstr ""
+
+#: common/models.py:1051
+msgid "Show depleted stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1056
+msgid "Show needed stock"
+msgstr ""
+
+#: common/models.py:1057
+msgid "Show stock items needed for builds on the homepage"
+msgstr ""
+
+#: common/models.py:1062
+msgid "Show expired stock"
+msgstr ""
+
+#: common/models.py:1063
+msgid "Show expired stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1068
+msgid "Show stale stock"
+msgstr ""
+
+#: common/models.py:1069
+msgid "Show stale stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1074
+msgid "Show pending builds"
+msgstr ""
+
+#: common/models.py:1075
+msgid "Show pending builds on the homepage"
+msgstr ""
+
+#: common/models.py:1080
+msgid "Show overdue builds"
+msgstr ""
+
+#: common/models.py:1081
+msgid "Show overdue builds on the homepage"
+msgstr ""
+
+#: common/models.py:1086
+msgid "Show outstanding POs"
+msgstr ""
+
+#: common/models.py:1087
+msgid "Show outstanding POs on the homepage"
+msgstr ""
+
+#: common/models.py:1092
+msgid "Show overdue POs"
+msgstr ""
+
+#: common/models.py:1093
+msgid "Show overdue POs on the homepage"
+msgstr ""
+
+#: common/models.py:1098
+msgid "Show outstanding SOs"
+msgstr ""
+
+#: common/models.py:1099
+msgid "Show outstanding SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Show overdue SOs"
+msgstr ""
+
+#: common/models.py:1105
+msgid "Show overdue SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1111
msgid "Inline label display"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1112
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1118
msgid "Inline report display"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1119
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1125
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1126
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:1023
+#: common/models.py:1132
+msgid "Search Show Stock"
+msgstr ""
+
+#: common/models.py:1133
+msgid "Display stock levels in search preview window"
+msgstr ""
+
+#: common/models.py:1139
+#, fuzzy
+#| msgid "New Manufacturer Part"
+msgid "Hide Inactive Parts"
+msgstr "Nowa część producenta"
+
+#: common/models.py:1140
+msgid "Hide inactive parts in search preview window"
+msgstr ""
+
+#: common/models.py:1146
msgid "Show Quantity in Forms"
msgstr "Pokaż ilość w formularzach"
-#: common/models.py:1024
+#: common/models.py:1147
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1153
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1154
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1088 company/forms.py:43
+#: common/models.py:1160
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1161
+msgid "InvenTree navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1226 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1095 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1369
+#: common/models.py:1233 company/serializers.py:264
+#: company/templates/company/supplier_part.html:256
+#: templates/js/translated/part.js:1508
msgid "Price"
msgstr "Cena"
-#: common/models.py:1096
+#: common/models.py:1234
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1189
-msgid "Default"
-msgstr "Domyślny"
-
-#: common/templates/common/edit_setting.html:11
-msgid "Current value"
-msgstr "Aktualna wartość"
-
-#: common/views.py:33
-msgid "Change Setting"
-msgstr "Zmień ustawienie"
-
-#: common/views.py:119
-msgid "Supplied value is not allowed"
-msgstr ""
-
-#: common/views.py:128
-msgid "Supplied value must be a boolean"
-msgstr ""
-
-#: common/views.py:138
-msgid "Change User Setting"
-msgstr ""
-
-#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42
-#: order/templates/order/po_navbar.html:19
-#: order/templates/order/po_navbar.html:22
-#: order/templates/order/purchase_order_detail.html:27 order/views.py:289
-#: part/templates/part/bom_upload/upload_file.html:65
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
-#: part/views.py:882
+#: common/views.py:93 order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:289
+#: part/templates/part/bom_upload/upload_file.html:51
+#: part/templates/part/import_wizard/part_upload.html:46 part/views.py:281
+#: part/views.py:923
msgid "Upload File"
msgstr "Wyślij plik"
-#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
+#: common/views.py:94 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
-#: part/views.py:883
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:282
+#: part/views.py:924
msgid "Match Fields"
msgstr ""
-#: common/views.py:215
+#: common/views.py:95
msgid "Match Items"
msgstr ""
-#: common/views.py:560
+#: common/views.py:440
msgid "Fields matching failed"
msgstr ""
-#: common/views.py:615
+#: common/views.py:495
msgid "Parts imported"
msgstr ""
-#: common/views.py:637 order/templates/order/order_wizard/match_fields.html:27
+#: common/views.py:517 order/templates/order/order_wizard/match_fields.html:27
#: order/templates/order/order_wizard/match_parts.html:19
-#: order/templates/order/order_wizard/po_upload.html:40
+#: order/templates/order/order_wizard/po_upload.html:46
#: part/templates/part/bom_upload/match_fields.html:27
#: part/templates/part/bom_upload/match_parts.html:19
-#: part/templates/part/bom_upload/upload_file.html:63
+#: part/templates/part/bom_upload/upload_file.html:49
#: part/templates/part/import_wizard/match_fields.html:27
#: part/templates/part/import_wizard/match_references.html:19
-#: part/templates/part/import_wizard/part_upload.html:43
+#: part/templates/part/import_wizard/part_upload.html:44
msgid "Previous Step"
msgstr ""
@@ -2321,6 +2254,7 @@ msgid "Contact phone number"
msgstr "Numer telefonu kontaktowego"
#: company/models.py:125 company/templates/company/company_base.html:102
+#: templates/InvenTree/settings/user.html:46
msgid "Email"
msgstr "Adres E-Mail"
@@ -2337,10 +2271,10 @@ msgid "Point of contact"
msgstr "Punkt kontaktowy"
#: company/models.py:131 company/models.py:348 company/models.py:564
-#: order/models.py:160 part/models.py:715
+#: order/models.py:163 part/models.py:797
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:536
-#: templates/js/translated/company.js:825 templates/js/translated/part.js:983
+#: templates/js/translated/company.js:825 templates/js/translated/part.js:984
msgid "Link"
msgstr "Łącze"
@@ -2348,7 +2282,7 @@ msgstr "Łącze"
msgid "Link to external company information"
msgstr "Link do informacji o zewnętrznym przedsiębiorstwie"
-#: company/models.py:139 part/models.py:725
+#: company/models.py:139 part/models.py:807
msgid "Image"
msgstr "Obraz"
@@ -2376,8 +2310,8 @@ msgstr "jest producentem"
msgid "Does this company manufacture parts?"
msgstr "Czy to przedsiębiorstwo produkuje części?"
-#: company/models.py:152 company/serializers.py:264
-#: company/templates/company/company_base.html:76 stock/serializers.py:158
+#: company/models.py:152 company/serializers.py:270
+#: company/templates/company/company_base.html:76 stock/serializers.py:172
msgid "Currency"
msgstr "Waluta"
@@ -2385,8 +2319,8 @@ msgstr "Waluta"
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:454
-#: stock/templates/stock/item_base.html:237
+#: company/models.py:320 company/models.py:535 stock/models.py:484
+#: stock/templates/stock/item_base.html:224
msgid "Base Part"
msgstr "Część bazowa"
@@ -2395,28 +2329,28 @@ msgid "Select part"
msgstr "Wybierz część"
#: company/models.py:335 company/templates/company/company_base.html:116
-#: company/templates/company/manufacturer_part.html:89
-#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:247 stock/templates/stock/item_base.html:366
+#: company/templates/company/manufacturer_part.html:93
+#: company/templates/company/supplier_part.html:104
+#: stock/templates/stock/item_base.html:353
#: templates/js/translated/company.js:332
#: templates/js/translated/company.js:513
-#: templates/js/translated/company.js:796 templates/js/translated/part.js:227
+#: templates/js/translated/company.js:796 templates/js/translated/part.js:228
msgid "Manufacturer"
msgstr "Producent"
-#: company/models.py:336 templates/js/translated/part.js:228
+#: company/models.py:336 templates/js/translated/part.js:229
msgid "Select manufacturer"
msgstr "Wybierz producenta"
-#: company/models.py:342 company/templates/company/manufacturer_part.html:93
-#: company/templates/company/supplier_part.html:106 part/bom.py:171
-#: part/bom.py:248 templates/js/translated/company.js:529
-#: templates/js/translated/company.js:814 templates/js/translated/order.js:851
-#: templates/js/translated/part.js:238
+#: company/models.py:342 company/templates/company/manufacturer_part.html:97
+#: company/templates/company/supplier_part.html:112
+#: templates/js/translated/company.js:529
+#: templates/js/translated/company.js:814 templates/js/translated/order.js:852
+#: templates/js/translated/part.js:239
msgid "MPN"
msgstr "MPN"
-#: company/models.py:343 templates/js/translated/part.js:239
+#: company/models.py:343 templates/js/translated/part.js:240
msgid "Manufacturer Part Number"
msgstr "Numer producenta"
@@ -2431,7 +2365,7 @@ msgstr ""
#: company/models.py:409 company/models.py:558
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:376
+#: stock/templates/stock/item_base.html:363
msgid "Manufacturer Part"
msgstr "Część producenta"
@@ -2440,10 +2374,9 @@ msgid "Parameter name"
msgstr ""
#: company/models.py:422
-#: report/templates/report/inventree_test_report_base.html:90
-#: stock/models.py:1816 templates/InvenTree/settings/header.html:8
-#: templates/js/translated/company.js:643 templates/js/translated/part.js:623
-#: templates/js/translated/stock.js:555
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:1867 templates/js/translated/company.js:643
+#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848
msgid "Value"
msgstr ""
@@ -2451,8 +2384,9 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:800 part/models.py:2224
-#: templates/js/translated/company.js:649 templates/js/translated/part.js:629
+#: company/models.py:429 part/models.py:882 part/models.py:2397
+#: part/templates/part/detail.html:59 templates/js/translated/company.js:649
+#: templates/js/translated/part.js:650
msgid "Units"
msgstr "Jednostki"
@@ -2465,27 +2399,27 @@ msgid "Linked manufacturer part must reference the same base part"
msgstr ""
#: company/models.py:545 company/templates/company/company_base.html:121
-#: company/templates/company/supplier_part.html:88 order/models.py:260
-#: order/templates/order/order_base.html:92
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:292 stock/templates/stock/item_base.html:383
+#: company/templates/company/supplier_part.html:94 order/models.py:263
+#: order/templates/order/order_base.html:108
+#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219
+#: part/bom.py:247 stock/templates/stock/item_base.html:370
#: templates/js/translated/company.js:336
-#: templates/js/translated/company.js:770 templates/js/translated/order.js:659
-#: templates/js/translated/part.js:208
+#: templates/js/translated/company.js:770 templates/js/translated/order.js:660
+#: templates/js/translated/part.js:209
msgid "Supplier"
msgstr "Dostawca"
-#: company/models.py:546 templates/js/translated/part.js:209
+#: company/models.py:546 templates/js/translated/part.js:210
msgid "Select supplier"
msgstr "Wybierz dostawcę"
-#: company/models.py:551 company/templates/company/supplier_part.html:92
-#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838
-#: templates/js/translated/part.js:219
+#: company/models.py:551 company/templates/company/supplier_part.html:98
+#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:839
+#: templates/js/translated/part.js:220
msgid "SKU"
msgstr "SKU"
-#: company/models.py:552 templates/js/translated/part.js:220
+#: company/models.py:552 templates/js/translated/part.js:221
msgid "Supplier stock keeping unit"
msgstr ""
@@ -2501,23 +2435,23 @@ msgstr ""
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:120
-#: part/models.py:2389 report/templates/report/inventree_po_report.html:93
+#: company/models.py:576 company/templates/company/supplier_part.html:126
+#: part/models.py:2588 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr "Uwaga"
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "base cost"
msgstr "koszt podstawowy"
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:113
-#: stock/models.py:478 stock/templates/stock/item_base.html:324
-#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036
+#: company/models.py:582 company/templates/company/supplier_part.html:119
+#: stock/models.py:507 stock/templates/stock/item_base.html:311
+#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336
msgid "Packaging"
msgstr "Opakowanie"
@@ -2525,7 +2459,7 @@ msgstr "Opakowanie"
msgid "Part packaging"
msgstr "Opakowanie części"
-#: company/models.py:584 part/models.py:1605
+#: company/models.py:584 part/models.py:1750
msgid "multiple"
msgstr "wielokrotność"
@@ -2533,46 +2467,42 @@ msgstr "wielokrotność"
msgid "Order multiple"
msgstr ""
-#: company/serializers.py:68
+#: company/serializers.py:70
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:69
+#: company/serializers.py:71
msgid "Currency Code"
msgstr ""
-#: company/templates/company/company_base.html:9
-#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321
+#: company/templates/company/company_base.html:8
+#: company/templates/company/company_base.html:12
+#: templates/InvenTree/search.html:182 templates/js/translated/company.js:321
msgid "Company"
msgstr "Firma"
-#: company/templates/company/company_base.html:25
-#: part/templates/part/part_thumb.html:21
-msgid "Upload new image"
-msgstr "Prześlij nowy obraz"
-
-#: company/templates/company/company_base.html:27
-#: part/templates/part/part_thumb.html:23
-msgid "Download image from URL"
-msgstr ""
-
-#: company/templates/company/company_base.html:46
-#: templates/js/translated/order.js:120
+#: company/templates/company/company_base.html:22
+#: templates/js/translated/order.js:121
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:51
+#: company/templates/company/company_base.html:27
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:56
-#: company/templates/company/company_base.html:153
+#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:148
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:64
-msgid "Company Details"
+#: company/templates/company/company_base.html:48
+#: part/templates/part/part_thumb.html:12
+msgid "Upload new image"
+msgstr "Prześlij nowy obraz"
+
+#: company/templates/company/company_base.html:51
+#: part/templates/part/part_thumb.html:14
+msgid "Download image from URL"
msgstr ""
#: company/templates/company/company_base.html:81
@@ -2583,145 +2513,133 @@ msgstr ""
msgid "Phone"
msgstr "Telefon"
-#: company/templates/company/company_base.html:126 order/models.py:558
-#: order/templates/order/sales_order_base.html:99 stock/models.py:496
-#: stock/models.py:497 stock/templates/stock/item_base.html:276
-#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038
-#: templates/js/translated/stock.js:1587
+#: company/templates/company/company_base.html:126 order/models.py:567
+#: order/templates/order/sales_order_base.html:114 stock/models.py:525
+#: stock/models.py:526 stock/templates/stock/item_base.html:263
+#: templates/js/translated/company.js:328 templates/js/translated/order.js:1051
+#: templates/js/translated/stock.js:1972
msgid "Customer"
msgstr "Klient"
-#: company/templates/company/company_base.html:199
-#: part/templates/part/part_base.html:424
+#: company/templates/company/company_base.html:194
+#: part/templates/part/part_base.html:342
msgid "Upload Image"
msgstr ""
-#: company/templates/company/detail.html:14
-#: company/templates/company/manufacturer_part_navbar.html:18
-#: templates/InvenTree/search.html:150
+#: company/templates/company/detail.html:15 templates/InvenTree/search.html:124
msgid "Supplier Parts"
msgstr "Komponenty dostawcy"
-#: company/templates/company/detail.html:22
+#: company/templates/company/detail.html:19
#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr "Utwórz nowego dostawcę części"
-#: company/templates/company/detail.html:23
-#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289
+#: company/templates/company/detail.html:20
+#: company/templates/company/manufacturer_part.html:112
+#: part/templates/part/detail.html:466
msgid "New Supplier Part"
msgstr "Nowy dostawca części"
-#: company/templates/company/detail.html:27
-#: company/templates/company/detail.html:67
-#: company/templates/company/manufacturer_part.html:112
-#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/category.html:135 part/templates/part/detail.html:292
-#: part/templates/part/detail.html:315
+#: company/templates/company/detail.html:32
+#: company/templates/company/detail.html:79
+#: company/templates/company/manufacturer_part.html:121
+#: company/templates/company/manufacturer_part.html:150
+#: part/templates/part/category.html:160 part/templates/part/detail.html:475
+#: part/templates/part/detail.html:503
msgid "Options"
msgstr "Opcje"
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72
-#: part/templates/part/category.html:140
+#: company/templates/company/detail.html:37
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:166
msgid "Order parts"
msgstr "Zamów części"
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:42
+#: company/templates/company/detail.html:89
msgid "Delete parts"
msgstr "Usuń części"
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:43
+#: company/templates/company/detail.html:90
msgid "Delete Parts"
msgstr "Usuń części"
-#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135
+#: company/templates/company/detail.html:62 templates/InvenTree/search.html:109
msgid "Manufacturer Parts"
msgstr "Części producenta"
-#: company/templates/company/detail.html:62
+#: company/templates/company/detail.html:66
msgid "Create new manufacturer part"
msgstr "Utwórz nową część producenta"
-#: company/templates/company/detail.html:63 part/templates/part/detail.html:312
+#: company/templates/company/detail.html:67 part/templates/part/detail.html:493
msgid "New Manufacturer Part"
msgstr "Nowa część producenta"
-#: company/templates/company/detail.html:93
+#: company/templates/company/detail.html:107
msgid "Supplier Stock"
msgstr "Zapasy dostawcy"
-#: company/templates/company/detail.html:102
-#: company/templates/company/navbar.html:46
-#: company/templates/company/navbar.html:49
+#: company/templates/company/detail.html:117
+#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
-#: order/templates/order/purchase_orders.html:13
-#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82
-#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260
-#: templates/InvenTree/search.html:229
-#: templates/InvenTree/settings/navbar.html:119
-#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44
+#: order/templates/order/purchase_orders.html:12
+#: part/templates/part/detail.html:171 templates/InvenTree/index.html:252
+#: templates/InvenTree/search.html:203 templates/navbar.html:45
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
-#: company/templates/company/detail.html:108
-#: order/templates/order/purchase_orders.html:20
+#: company/templates/company/detail.html:121
+#: order/templates/order/purchase_orders.html:17
msgid "Create new purchase order"
msgstr ""
-#: company/templates/company/detail.html:109
-#: order/templates/order/purchase_orders.html:21
+#: company/templates/company/detail.html:122
+#: order/templates/order/purchase_orders.html:18
msgid "New Purchase Order"
msgstr ""
-#: company/templates/company/detail.html:124
-#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58
+#: company/templates/company/detail.html:143
+#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
-#: order/templates/order/sales_orders.html:13
-#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91
-#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291
-#: templates/InvenTree/search.html:249
-#: templates/InvenTree/settings/navbar.html:125
-#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55
+#: order/templates/order/sales_orders.html:15
+#: part/templates/part/detail.html:194 templates/InvenTree/index.html:283
+#: templates/InvenTree/search.html:223 templates/navbar.html:56
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
-#: company/templates/company/detail.html:130
+#: company/templates/company/detail.html:147
#: order/templates/order/sales_orders.html:20
msgid "Create new sales order"
msgstr ""
-#: company/templates/company/detail.html:131
+#: company/templates/company/detail.html:148
#: order/templates/order/sales_orders.html:21
msgid "New Sales Order"
msgstr ""
-#: company/templates/company/detail.html:147
-#: company/templates/company/navbar.html:61
-#: company/templates/company/navbar.html:64
-#: templates/js/translated/build.js:622
+#: company/templates/company/detail.html:168
+#: templates/js/translated/build.js:999
msgid "Assigned Stock"
msgstr ""
-#: company/templates/company/detail.html:165
+#: company/templates/company/detail.html:184
msgid "Company Notes"
msgstr ""
-#: company/templates/company/detail.html:364
-#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:357
+#: company/templates/company/detail.html:383
+#: company/templates/company/manufacturer_part.html:209
+#: part/templates/part/detail.html:546
msgid "Delete Supplier Parts?"
msgstr ""
-#: company/templates/company/detail.html:365
-#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:358
+#: company/templates/company/detail.html:384
+#: company/templates/company/manufacturer_part.html:210
+#: part/templates/part/detail.html:547
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2729,204 +2647,174 @@ msgstr ""
msgid "Supplier List"
msgstr "Lista dostawców"
-#: company/templates/company/manufacturer_part.html:40
-#: company/templates/company/supplier_part.html:40
-#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116
+#: company/templates/company/manufacturer_part.html:14 company/views.py:55
+#: part/templates/part/prices.html:167 templates/InvenTree/search.html:184
+#: templates/navbar.html:44
+msgid "Manufacturers"
+msgstr "Producenci"
+
+#: company/templates/company/manufacturer_part.html:35
+#: company/templates/company/supplier_part.html:34
+#: company/templates/company/supplier_part.html:159
+#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76
msgid "Order part"
msgstr "Zamów część"
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:40
#: templates/js/translated/company.js:561
msgid "Edit manufacturer part"
msgstr "Edytuj część producenta"
-#: company/templates/company/manufacturer_part.html:49
+#: company/templates/company/manufacturer_part.html:44
#: templates/js/translated/company.js:562
msgid "Delete manufacturer part"
msgstr "Usuń cześć producenta"
-#: company/templates/company/manufacturer_part.html:61
-msgid "Manufacturer Part Details"
-msgstr "Szczegóły części producenta"
-
-#: company/templates/company/manufacturer_part.html:66
-#: company/templates/company/supplier_part.html:65
+#: company/templates/company/manufacturer_part.html:70
+#: company/templates/company/supplier_part.html:71
msgid "Internal Part"
msgstr "Część wewnętrzna"
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/manufacturer_part_navbar.html:21
-#: company/views.py:49 part/templates/part/navbar.html:75
-#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163
-#: templates/InvenTree/search.html:220 templates/navbar.html:41
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: part/templates/part/prices.html:163 templates/InvenTree/search.html:194
+#: templates/navbar.html:43
msgid "Suppliers"
msgstr "Dostawcy"
-#: company/templates/company/manufacturer_part.html:114
-#: part/templates/part/detail.html:294
+#: company/templates/company/manufacturer_part.html:123
+#: part/templates/part/detail.html:477
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: company/templates/company/manufacturer_part.html:138
-#: company/templates/company/manufacturer_part.html:239
-#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/translated/company.js:424
-#: templates/js/translated/helpers.js:31 users/models.py:199
+#: company/templates/company/manufacturer_part.html:123
+#: company/templates/company/manufacturer_part.html:152
+#: company/templates/company/manufacturer_part.html:248
+#: part/templates/part/detail.html:351 part/templates/part/detail.html:477
+#: part/templates/part/detail.html:505 templates/js/translated/company.js:424
+#: templates/js/translated/helpers.js:31 users/models.py:204
msgid "Delete"
msgstr "Usuń"
-#: company/templates/company/manufacturer_part.html:127
-#: company/templates/company/manufacturer_part_navbar.html:11
-#: company/templates/company/manufacturer_part_navbar.html:14
-#: part/templates/part/category_navbar.html:38
-#: part/templates/part/category_navbar.html:41
-#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20
-#: part/templates/part/navbar.html:23
+#: company/templates/company/manufacturer_part.html:137
+#: part/templates/part/detail.html:277
msgid "Parameters"
msgstr "Parametry"
-#: company/templates/company/manufacturer_part.html:133
-#: part/templates/part/detail.html:162
-#: templates/InvenTree/settings/category.html:26
-#: templates/InvenTree/settings/part.html:63
+#: company/templates/company/manufacturer_part.html:141
+#: part/templates/part/detail.html:282
+#: templates/InvenTree/settings/category.html:12
+#: templates/InvenTree/settings/part.html:65
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:138
+#: company/templates/company/manufacturer_part.html:152
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:805
+#: company/templates/company/manufacturer_part.html:185
+#: part/templates/part/detail.html:983
msgid "Add Parameter"
msgstr "Dodaj parametr"
-#: company/templates/company/manufacturer_part.html:224
+#: company/templates/company/manufacturer_part.html:233
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:236
+#: company/templates/company/manufacturer_part.html:245
msgid "Delete Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part_navbar.html:26
-msgid "Manufacturer Part Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:29
-#: company/templates/company/navbar.html:39
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/navbar.html:38 stock/api.py:52
-#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182
-#: templates/InvenTree/settings/navbar.html:107
-#: templates/InvenTree/settings/navbar.html:109
-#: templates/js/translated/part.js:540 templates/js/translated/part.js:769
-#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182
-#: templates/js/translated/stock.js:829 templates/navbar.html:32
-msgid "Stock"
-msgstr "Stan"
-
-#: company/templates/company/manufacturer_part_navbar.html:33
-msgid "Manufacturer Part Orders"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:36
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr "Zamówienia"
-
-#: company/templates/company/navbar.html:17
-#: company/templates/company/navbar.html:20
-msgid "Manufactured Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:26
-#: company/templates/company/navbar.html:29
-msgid "Supplied Parts"
-msgstr "Dostarczone części"
-
-#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35
-#: stock/templates/stock/location.html:119
-#: stock/templates/stock/location.html:134
-#: stock/templates/stock/location.html:148
-#: stock/templates/stock/location_navbar.html:18
-#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486
-#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
-msgid "Stock Items"
-msgstr ""
-
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:463
-#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993
+#: company/templates/company/supplier_part.html:24 stock/models.py:492
+#: stock/templates/stock/item_base.html:375
+#: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44
+#: company/templates/company/supplier_part.html:38
#: templates/js/translated/company.js:859
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48
+#: company/templates/company/supplier_part.html:42
#: templates/js/translated/company.js:860
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:60
-msgid "Supplier Part Details"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:131
+#: company/templates/company/supplier_part.html:138
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:140
+#: company/templates/company/supplier_part.html:141
+#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147
+#, fuzzy
+#| msgid "Create new Stock Location"
+msgid "Create new stock item"
+msgstr "Utwórz nową lokalizację magazynową"
+
+#: company/templates/company/supplier_part.html:142
+#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148
+#: templates/js/translated/stock.js:324
+msgid "New Stock Item"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:155
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:147
-#: part/templates/part/detail.html:56
+#: company/templates/company/supplier_part.html:160
+#: part/templates/part/detail.html:175
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:158
-#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7
+#: company/templates/company/supplier_part.html:179
+#: part/templates/part/prices.html:7
msgid "Pricing Information"
msgstr "Informacja cenowa"
-#: company/templates/company/supplier_part.html:164
-#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:271 part/views.py:1730
+#: company/templates/company/supplier_part.html:184
+#: company/templates/company/supplier_part.html:290
+#: part/templates/part/prices.html:271 part/views.py:1782
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:185
+#: company/templates/company/supplier_part.html:210
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:1792
+#: company/templates/company/supplier_part.html:224 part/views.py:1844
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:1778
+#: company/templates/company/supplier_part.html:238 part/views.py:1830
msgid "Edit Price Break"
msgstr "Edytuj przedział cenowy"
-#: company/templates/company/supplier_part.html:238
+#: company/templates/company/supplier_part.html:263
msgid "Edit price break"
msgstr "Edytuj przedział cenowy"
-#: company/templates/company/supplier_part.html:239
+#: company/templates/company/supplier_part.html:264
msgid "Delete price break"
msgstr ""
+#: company/templates/company/supplier_part_navbar.html:15
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426
+#: templates/js/translated/part.js:561 templates/js/translated/part.js:786
+#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479
+#: templates/js/translated/stock.js:1132 templates/navbar.html:26
+msgid "Stock"
+msgstr "Stan"
+
+#: company/templates/company/supplier_part_navbar.html:22
+msgid "Orders"
+msgstr "Zamówienia"
+
#: company/templates/company/supplier_part_navbar.html:26
msgid "Supplier Part Pricing"
msgstr ""
@@ -2939,17 +2827,12 @@ msgstr "Cennik"
msgid "New Supplier"
msgstr "Nowy dostawca"
-#: company/views.py:55 part/templates/part/prices.html:167
-#: templates/InvenTree/search.html:210 templates/navbar.html:42
-msgid "Manufacturers"
-msgstr "Producenci"
-
#: company/views.py:56
msgid "New Manufacturer"
msgstr "Now producent"
-#: company/views.py:61 templates/InvenTree/search.html:240
-#: templates/navbar.html:53
+#: company/views.py:61 templates/InvenTree/search.html:214
+#: templates/navbar.html:55
msgid "Customers"
msgstr "Klienci"
@@ -2965,24 +2848,24 @@ msgstr "Firmy"
msgid "New Company"
msgstr "Nowa firma"
-#: company/views.py:129 part/views.py:608
+#: company/views.py:129 part/views.py:649
msgid "Download Image"
msgstr "Pobierz obraz"
-#: company/views.py:158 part/views.py:640
+#: company/views.py:158 part/views.py:681
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:647
+#: company/views.py:165 part/views.py:688
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:656
+#: company/views.py:174 part/views.py:697
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:57 report/api.py:201
+#: label/api.py:57 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -2994,7 +2877,7 @@ msgstr "Nazwa etykiety"
msgid "Label description"
msgstr "Opis etykiety"
-#: label/models.py:127 stock/forms.py:167
+#: label/models.py:127
msgid "Label"
msgstr "Etykieta"
@@ -3039,7 +2922,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:259 label/models.py:319 label/models.py:366
-#: report/models.py:322 report/models.py:457 report/models.py:495
+#: report/models.py:322 report/models.py:459 report/models.py:497
msgid "Filters"
msgstr "Filtry"
@@ -3051,240 +2934,236 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:250
-msgid "Matching purchase order does not exist"
-msgstr ""
-
-#: order/forms.py:27 order/templates/order/order_base.html:50
+#: order/forms.py:26 order/templates/order/order_base.html:52
msgid "Place order"
msgstr "Złóż zamówienie"
-#: order/forms.py:38 order/templates/order/order_base.html:57
+#: order/forms.py:37 order/templates/order/order_base.html:59
msgid "Mark order as complete"
msgstr "Oznacz zamówienie jako zakończone"
-#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:64
+#: order/forms.py:48 order/forms.py:59 order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
msgid "Cancel order"
msgstr "Anuluj zamówienie"
-#: order/forms.py:71 order/templates/order/sales_order_base.html:61
+#: order/forms.py:70
msgid "Ship order"
msgstr "Wyślij zamówienie"
-#: order/forms.py:97
+#: order/forms.py:98
msgid "Enter stock item serial numbers"
msgstr ""
-#: order/forms.py:103
+#: order/forms.py:104
msgid "Enter quantity of stock items"
msgstr "Wprowadź ilość produktów magazynowych"
-#: order/models.py:158
+#: order/models.py:161
msgid "Order description"
msgstr "Opis Zamówienia"
-#: order/models.py:160
+#: order/models.py:163
msgid "Link to external page"
msgstr "Link do zewnętrznej witryny"
-#: order/models.py:168
+#: order/models.py:171
msgid "Created By"
msgstr "Utworzony przez"
-#: order/models.py:175
+#: order/models.py:178
msgid "User or group responsible for this order"
msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie"
-#: order/models.py:180
+#: order/models.py:183
msgid "Order notes"
msgstr "Notatki do zamówienia"
-#: order/models.py:247 order/models.py:548
+#: order/models.py:250 order/models.py:557
msgid "Order reference"
msgstr "Odniesienie zamówienia"
-#: order/models.py:252 order/models.py:563
+#: order/models.py:255 order/models.py:572
msgid "Purchase order status"
msgstr "Status zamówienia zakupu"
-#: order/models.py:261
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/translated/order.js:668
+#: order/models.py:267 order/templates/order/order_base.html:114
+#: templates/js/translated/order.js:669
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:264
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:271
+#: order/models.py:274
msgid "received by"
msgstr "odebrane przez"
-#: order/models.py:276
+#: order/models.py:279
msgid "Issue Date"
msgstr "Data wydania"
-#: order/models.py:277
+#: order/models.py:280
msgid "Date order was issued"
msgstr "Data wystawienia zamówienia"
-#: order/models.py:282
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr "Data Dostawy Towaru"
-#: order/models.py:283
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:289
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:318
+#: order/models.py:321
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:428
+#: order/models.py:431
msgid "Quantity must be an integer"
msgstr "Wartość musi być liczbą całkowitą"
-#: order/models.py:432
+#: order/models.py:435
msgid "Quantity must be a positive number"
msgstr "Wartość musi być liczbą dodatnią"
-#: order/models.py:559
+#: order/models.py:568
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer Reference "
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:570
+#: order/models.py:579
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:573 templates/js/translated/order.js:1079
+#: order/models.py:582 templates/js/translated/order.js:1092
msgid "Shipment Date"
msgstr "Data wysyłki"
-#: order/models.py:580
+#: order/models.py:589
msgid "shipped by"
msgstr "wysłane przez"
-#: order/models.py:624
+#: order/models.py:633
msgid "SalesOrder cannot be shipped as it is not currently pending"
msgstr ""
-#: order/models.py:721
+#: order/models.py:730
msgid "Item quantity"
msgstr "Ilość elementów"
-#: order/models.py:727
+#: order/models.py:736
msgid "Line item reference"
msgstr ""
-#: order/models.py:729
+#: order/models.py:738
msgid "Line item notes"
msgstr ""
-#: order/models.py:759 order/models.py:847
-#: templates/js/translated/order.js:1131
+#: order/models.py:768 order/models.py:856
+#: templates/js/translated/order.js:1144
msgid "Order"
msgstr "Zamówienie"
-#: order/models.py:760 order/templates/order/order_base.html:9
-#: order/templates/order/order_base.html:24
+#: order/models.py:769 order/templates/order/order_base.html:9
+#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:338
-#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970
-#: templates/js/translated/stock.js:1568
+#: stock/templates/stock/item_base.html:325
+#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1270
+#: templates/js/translated/stock.js:1953
msgid "Purchase Order"
msgstr "Zlecenie zakupu"
-#: order/models.py:781
+#: order/models.py:790
msgid "Supplier part"
msgstr ""
-#: order/models.py:788 order/templates/order/order_base.html:131
-#: order/templates/order/sales_order_base.html:138
-#: templates/js/translated/order.js:428 templates/js/translated/order.js:919
+#: order/models.py:797 order/templates/order/order_base.html:147
+#: order/templates/order/sales_order_base.html:154
+#: templates/js/translated/order.js:429 templates/js/translated/order.js:932
msgid "Received"
msgstr "Odebrane"
-#: order/models.py:789
+#: order/models.py:798
msgid "Number of items received"
msgstr ""
-#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588
-#: stock/serializers.py:150 stock/templates/stock/item_base.html:345
-#: templates/js/translated/stock.js:1024
+#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619
+#: stock/serializers.py:163 stock/templates/stock/item_base.html:332
+#: templates/js/translated/stock.js:1324
msgid "Purchase Price"
msgstr "Cena zakupu"
-#: order/models.py:797
+#: order/models.py:806
msgid "Unit purchase price"
msgstr "Cena zakupu jednostkowego"
-#: order/models.py:805
+#: order/models.py:814
msgid "Where does the Purchaser want this item to be stored?"
msgstr "Gdzie kupujący chce przechowywać ten przedmiot?"
-#: order/models.py:857 part/templates/part/part_pricing.html:112
+#: order/models.py:866 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:116 part/templates/part/prices.html:284
msgid "Sale Price"
msgstr "Cena sprzedaży"
-#: order/models.py:858
+#: order/models.py:867
msgid "Unit sale price"
msgstr "Jednostkowa cena sprzedaży"
-#: order/models.py:937 order/models.py:939
+#: order/models.py:946 order/models.py:948
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:943
+#: order/models.py:952
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:945
+#: order/models.py:954
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:948
+#: order/models.py:957
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie"
-#: order/models.py:952
+#: order/models.py:961
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:958
+#: order/models.py:967
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:966
+#: order/models.py:975
msgid "Line"
msgstr "Linia"
-#: order/models.py:978
+#: order/models.py:987
msgid "Item"
msgstr "Komponent"
-#: order/models.py:979
+#: order/models.py:988
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:982
+#: order/models.py:991
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3300,7 +3179,7 @@ msgstr ""
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:218 order/serializers.py:285
+#: order/serializers.py:218 order/serializers.py:286
msgid "Select destination location for received items"
msgstr ""
@@ -3312,72 +3191,76 @@ msgstr ""
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:259
+#: order/serializers.py:260
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:297
+#: order/serializers.py:298
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:314
+#: order/serializers.py:315
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:325
+#: order/serializers.py:326
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:569
+#: order/serializers.py:568
msgid "Sale price currency"
msgstr ""
#: order/templates/order/delete_attachment.html:5
#: stock/templates/stock/attachment_delete.html:5
-#: templates/attachment_delete.html:5
msgid "Are you sure you want to delete this attachment?"
msgstr "Jesteś pewien, że chcesz usunąć ten załącznik?"
-#: order/templates/order/order_base.html:39
-#: order/templates/order/sales_order_base.html:50
-msgid "Print"
-msgstr ""
+#: order/templates/order/order_base.html:33
+#, fuzzy
+#| msgid "Purchase order status"
+msgid "Print purchase order report"
+msgstr "Status zamówienia zakupu"
-#: order/templates/order/order_base.html:42
-#: order/templates/order/sales_order_base.html:53
+#: order/templates/order/order_base.html:35
+#: order/templates/order/sales_order_base.html:45
msgid "Export order to file"
msgstr "Eksportuj zamówienie do pliku"
-#: order/templates/order/order_base.html:46
-#: order/templates/order/sales_order_base.html:57
-msgid "Edit order information"
-msgstr ""
+#: order/templates/order/order_base.html:41
+#: order/templates/order/sales_order_base.html:54
+#, fuzzy
+#| msgid "Barcode actions"
+msgid "Order actions"
+msgstr "Akcje kodów kreskowych"
-#: order/templates/order/order_base.html:54
+#: order/templates/order/order_base.html:45
+#: order/templates/order/sales_order_base.html:58
+#, fuzzy
+#| msgid "Ship order"
+msgid "Edit order"
+msgstr "Wyślij zamówienie"
+
+#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
-#: order/templates/order/order_base.html:72
-#: order/templates/order/po_navbar.html:12
-msgid "Purchase Order Details"
-msgstr "Szczegóły zamówienia"
-
-#: order/templates/order/order_base.html:77
-#: order/templates/order/sales_order_base.html:84
+#: order/templates/order/order_base.html:93
+#: order/templates/order/sales_order_base.html:98
msgid "Order Reference"
msgstr "Numer zamówienia"
-#: order/templates/order/order_base.html:82
-#: order/templates/order/sales_order_base.html:89
+#: order/templates/order/order_base.html:98
+#: order/templates/order/sales_order_base.html:103
msgid "Order Status"
msgstr "Status zamówienia"
-#: order/templates/order/order_base.html:117
+#: order/templates/order/order_base.html:133
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr "Wydany"
-#: order/templates/order/order_base.html:185
+#: order/templates/order/order_base.html:203
msgid "Edit Purchase Order"
msgstr ""
@@ -3453,7 +3336,8 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/build.js:869 templates/js/translated/order.js:376
+#: templates/js/translated/build.js:240 templates/js/translated/build.js:1251
+#: templates/js/translated/order.js:377
msgid "Remove row"
msgstr ""
@@ -3475,19 +3359,19 @@ msgstr "Wiersz"
msgid "Select Supplier Part"
msgstr "Wybierz dostawcę części"
-#: order/templates/order/order_wizard/po_upload.html:11
+#: order/templates/order/order_wizard/po_upload.html:16
msgid "Upload File for Purchase Order"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:18
-#: part/templates/part/bom_upload/upload_file.html:34
+#: order/templates/order/order_wizard/po_upload.html:24
+#: part/templates/part/bom_upload/upload_file.html:20
#: part/templates/part/import_wizard/ajax_part_upload.html:10
-#: part/templates/part/import_wizard/part_upload.html:21
+#: part/templates/part/import_wizard/part_upload.html:22
#, python-format
msgid "Step %(step)s of %(count)s"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/order_wizard/po_upload.html:54
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
@@ -3530,7 +3414,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084
+#: templates/js/translated/order.js:695 templates/js/translated/order.js:1097
msgid "Items"
msgstr "Przedmioty"
@@ -3548,30 +3432,14 @@ msgstr ""
msgid "Select a purchase order for %(name)s"
msgstr ""
-#: order/templates/order/po_attachments.html:12
-#: order/templates/order/po_navbar.html:32
-#: order/templates/order/purchase_order_detail.html:56
-msgid "Purchase Order Attachments"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:26
-msgid "Received Stock Items"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:29
-#: order/templates/order/po_received_items.html:12
-#: order/templates/order/purchase_order_detail.html:47
-msgid "Received Items"
-msgstr "Otrzymane elementy"
-
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:24
-#: order/templates/order/purchase_order_detail.html:212
+#: order/templates/order/purchase_order_detail.html:27
+#: order/templates/order/purchase_order_detail.html:216
#: order/templates/order/sales_order_detail.html:23
-#: order/templates/order/sales_order_detail.html:177
+#: order/templates/order/sales_order_detail.html:191
msgid "Add Line Item"
msgstr "Dodaj element zamówienia"
@@ -3583,34 +3451,45 @@ msgstr ""
msgid "Receive Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
-#: order/templates/order/sales_order_detail.html:54
+#: order/templates/order/purchase_order_detail.html:50
+msgid "Received Items"
+msgstr "Otrzymane elementy"
+
+#: order/templates/order/purchase_order_detail.html:76
+#: order/templates/order/sales_order_detail.html:68
msgid "Order Notes"
msgstr "Notatki zamówień"
-#: order/templates/order/purchase_orders.html:24
-#: order/templates/order/sales_orders.html:24
+#: order/templates/order/purchase_orders.html:30
+#: order/templates/order/sales_orders.html:33
msgid "Print Order Reports"
msgstr ""
-#: order/templates/order/sales_order_base.html:16
+#: order/templates/order/sales_order_base.html:43
+msgid "Print sales order report"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:47
+#, fuzzy
+#| msgid "Print actions"
+msgid "Print packing list"
+msgstr "Akcje drukowania"
+
+#: order/templates/order/sales_order_base.html:66
+#: order/templates/order/sales_order_base.html:67 order/views.py:222
+msgid "Ship Order"
+msgstr "Wyślij zamówienie"
+
+#: order/templates/order/sales_order_base.html:86
msgid "This Sales Order has not been fully allocated"
msgstr ""
-#: order/templates/order/sales_order_base.html:70
-msgid "Packing List"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:79
-msgid "Sales Order Details"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:105
-#: templates/js/translated/order.js:1051
+#: order/templates/order/sales_order_base.html:121
+#: templates/js/translated/order.js:1064
msgid "Customer Reference"
msgstr ""
-#: order/templates/order/sales_order_base.html:183
+#: order/templates/order/sales_order_base.html:194
msgid "Edit Sales Order"
msgstr ""
@@ -3625,7 +3504,7 @@ msgstr "Ostrzeżenie"
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -3653,18 +3532,6 @@ msgstr ""
msgid "Allocate stock items by serial number"
msgstr ""
-#: order/templates/order/so_navbar.html:12
-msgid "Sales Order Line Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:15
-msgid "Order Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:26
-msgid "Sales Order Attachments"
-msgstr ""
-
#: order/views.py:103
msgid "Cancel Order"
msgstr "Anuluj zamówienie"
@@ -3705,10 +3572,6 @@ msgstr ""
msgid "Purchase order completed"
msgstr ""
-#: order/views.py:222
-msgid "Ship Order"
-msgstr "Wyślij zamówienie"
-
#: order/views.py:238
msgid "Confirm order shipment"
msgstr ""
@@ -3776,40 +3639,28 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7
-#: part/templates/part/category.html:108 part/templates/part/category.html:122
-#: part/templates/part/category_navbar.html:21
-#: part/templates/part/category_navbar.html:24
-#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97
-#: templates/js/translated/part.js:1165 templates/navbar.html:29
-#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
-msgid "Parts"
-msgstr "Części"
-
-#: part/api.py:700
+#: part/api.py:731
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:704
+#: part/api.py:735
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:719
+#: part/api.py:750
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773
+#: part/api.py:781 part/api.py:785 part/api.py:800 part/api.py:804
msgid "This field is required"
msgstr ""
-#: part/bom.py:133 part/models.py:76 part/models.py:734
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:290
+#: part/bom.py:125 part/models.py:81 part/models.py:816
+#: part/templates/part/category.html:90 part/templates/part/detail.html:104
msgid "Default Location"
msgstr "Domyślna lokalizacja"
-#: part/bom.py:134 part/templates/part/part_base.html:156
+#: part/bom.py:126 part/templates/part/part_base.html:167
msgid "Available Stock"
msgstr "Dostępna ilość"
@@ -3869,7 +3720,7 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:96 part/models.py:2254
+#: part/forms.py:96 part/models.py:2427
msgid "Parent Part"
msgstr "Część nadrzędna"
@@ -3901,456 +3752,469 @@ msgstr "Powiązane części"
msgid "Select part category"
msgstr "Wybierz kategorię części"
-#: part/forms.py:226
+#: part/forms.py:214
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:230
+#: part/forms.py:218
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:250
+#: part/forms.py:238
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:77
+#: part/models.py:82
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords"
msgstr "Domyślne słowa kluczowe"
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:90 part/models.py:2300
+#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:91 part/templates/part/category.html:32
-#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
-#: templates/stats.html:84 users/models.py:40
+#: part/models.py:96 part/templates/part/category.html:117
+#: templates/InvenTree/search.html:101 templates/stats.html:84
+#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:384
+#: part/models.py:358 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:13 part/templates/part/category.html:122
+#: part/templates/part/category.html:142 templates/InvenTree/index.html:85
+#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304
+#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89
+#: users/models.py:41
+msgid "Parts"
+msgstr "Części"
+
+#: part/models.py:450
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:436 part/models.py:448
+#: part/models.py:502 part/models.py:514
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:545
+#: part/models.py:611
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:549
+#: part/models.py:615
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:554
+#: part/models.py:620
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:633
+#: part/models.py:715
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:658
+#: part/models.py:740
msgid "Part name"
msgstr "Nazwa części"
-#: part/models.py:665
+#: part/models.py:747
msgid "Is Template"
msgstr ""
-#: part/models.py:666
+#: part/models.py:748
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:676
+#: part/models.py:758
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:677
+#: part/models.py:759
msgid "Variant Of"
msgstr "Wariant"
-#: part/models.py:683
+#: part/models.py:765
msgid "Part description"
msgstr "Opis części"
-#: part/models.py:688 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:259
+#: part/models.py:770 part/templates/part/category.html:97
+#: part/templates/part/detail.html:73
msgid "Keywords"
msgstr "Słowa kluczowe"
-#: part/models.py:689
+#: part/models.py:771
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:696 part/models.py:2299
-#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:169
-#: templates/js/translated/part.js:927
+#: part/models.py:778 part/models.py:2223 part/models.py:2472
+#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15
+#: templates/InvenTree/settings/settings.html:163
+#: templates/js/translated/part.js:928
msgid "Category"
msgstr "Kategoria"
-#: part/models.py:697
+#: part/models.py:779
msgid "Part category"
msgstr ""
-#: part/models.py:702 part/templates/part/part_base.html:235
-#: templates/js/translated/part.js:528 templates/js/translated/part.js:760
+#: part/models.py:784 part/templates/part/detail.html:45
+#: templates/js/translated/part.js:549
msgid "IPN"
msgstr "IPN"
-#: part/models.py:703
+#: part/models.py:785
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:709
+#: part/models.py:791
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:710 part/templates/part/part_base.html:252
-#: report/models.py:200 templates/js/translated/part.js:532
+#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200
+#: templates/js/translated/part.js:553
msgid "Revision"
msgstr "Wersja"
-#: part/models.py:732
+#: part/models.py:814
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:779 part/templates/part/part_base.html:297
+#: part/models.py:861 part/templates/part/detail.html:113
msgid "Default Supplier"
msgstr ""
-#: part/models.py:780
+#: part/models.py:862
msgid "Default supplier part"
msgstr ""
-#: part/models.py:787
+#: part/models.py:869
msgid "Default Expiry"
msgstr ""
-#: part/models.py:788
+#: part/models.py:870
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:793
+#: part/models.py:875 part/templates/part/part_base.html:178
msgid "Minimum Stock"
msgstr "Minimalny stan magazynowy"
-#: part/models.py:794
+#: part/models.py:876
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:801
+#: part/models.py:883
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:807
+#: part/models.py:889
msgid "Can this part be built from other parts?"
msgstr "Czy ta część może być zbudowana z innych części?"
-#: part/models.py:813
+#: part/models.py:895
msgid "Can this part be used to build other parts?"
msgstr "Czy ta część może być użyta do budowy innych części?"
-#: part/models.py:819
+#: part/models.py:901
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:824
+#: part/models.py:906
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:911
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:833 templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:82
-#: templates/js/translated/table_filters.js:268
-#: templates/js/translated/table_filters.js:346
+#: part/models.py:915 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:362
msgid "Active"
msgstr "Aktywny"
-#: part/models.py:834
+#: part/models.py:916
msgid "Is this part active?"
msgstr "Czy ta część jest aktywna?"
-#: part/models.py:839
+#: part/models.py:921
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:844
+#: part/models.py:926
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "BOM checksum"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:850
+#: part/models.py:932
msgid "BOM checked by"
msgstr ""
-#: part/models.py:852
+#: part/models.py:934
msgid "BOM checked date"
msgstr ""
-#: part/models.py:856
+#: part/models.py:938
msgid "Creation User"
msgstr ""
-#: part/models.py:1605
+#: part/models.py:1750
msgid "Sell multiple"
msgstr "Sprzedaj wiele"
-#: part/models.py:2100
+#: part/models.py:2273
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2117
+#: part/models.py:2290
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2137 templates/js/translated/part.js:1216
-#: templates/js/translated/stock.js:535
+#: part/models.py:2310 templates/js/translated/part.js:1355
+#: templates/js/translated/stock.js:828
msgid "Test Name"
msgstr "Nazwa testu"
-#: part/models.py:2138
+#: part/models.py:2311
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2143
+#: part/models.py:2316
msgid "Test Description"
msgstr ""
-#: part/models.py:2144
+#: part/models.py:2317
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2149 templates/js/translated/part.js:1225
-#: templates/js/translated/table_filters.js:254
+#: part/models.py:2322 templates/js/translated/part.js:1364
+#: templates/js/translated/table_filters.js:270
msgid "Required"
msgstr "Wymagane"
-#: part/models.py:2150
+#: part/models.py:2323
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2155 templates/js/translated/part.js:1233
+#: part/models.py:2328 templates/js/translated/part.js:1372
msgid "Requires Value"
msgstr ""
-#: part/models.py:2156
+#: part/models.py:2329
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2161 templates/js/translated/part.js:1240
+#: part/models.py:2334 templates/js/translated/part.js:1379
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2162
+#: part/models.py:2335
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2173
+#: part/models.py:2346
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2209
+#: part/models.py:2382
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2217
+#: part/models.py:2390
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2224
+#: part/models.py:2397
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2256 part/models.py:2305 part/models.py:2306
-#: templates/InvenTree/settings/settings.html:164
+#: part/models.py:2429 part/models.py:2478 part/models.py:2479
+#: templates/InvenTree/settings/settings.html:158
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Data"
msgstr "Dane"
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2310 templates/InvenTree/settings/settings.html:173
+#: part/models.py:2483 templates/InvenTree/settings/settings.html:167
msgid "Default Value"
msgstr "Wartość domyślna"
-#: part/models.py:2311
+#: part/models.py:2484
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2561
msgid "Select parent part"
msgstr ""
-#: part/models.py:2370
+#: part/models.py:2569
msgid "Sub part"
msgstr "Podczęść"
-#: part/models.py:2371
+#: part/models.py:2570
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2377
+#: part/models.py:2576
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2379 templates/js/translated/bom.js:275
-#: templates/js/translated/bom.js:335
+#: part/models.py:2578 templates/js/translated/bom.js:452
+#: templates/js/translated/bom.js:526
+#: templates/js/translated/table_filters.js:86
msgid "Optional"
msgstr ""
-#: part/models.py:2379
+#: part/models.py:2578
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2382
+#: part/models.py:2581
msgid "Overage"
msgstr ""
-#: part/models.py:2383
+#: part/models.py:2582
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2585
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2588
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "Checksum"
msgstr "Suma kontrolna"
-#: part/models.py:2391
+#: part/models.py:2590
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2395 templates/js/translated/bom.js:352
-#: templates/js/translated/bom.js:359
+#: part/models.py:2594 templates/js/translated/bom.js:543
+#: templates/js/translated/bom.js:550
#: templates/js/translated/table_filters.js:68
+#: templates/js/translated/table_filters.js:82
msgid "Inherited"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2595
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2401 templates/js/translated/bom.js:344
+#: part/models.py:2600 templates/js/translated/bom.js:535
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2402
+#: part/models.py:2601
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2487 stock/models.py:341
+#: part/models.py:2686 stock/models.py:371
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2496 part/models.py:2498
+#: part/models.py:2695 part/models.py:2697
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2620
+#: part/models.py:2826
+msgid "BOM Item Substitute"
+msgstr ""
+
+#: part/models.py:2848
+msgid "Substitute part cannot be the same as the master part"
+msgstr ""
+
+#: part/models.py:2860
+#, fuzzy
+#| msgid "Parent Build"
+msgid "Parent BOM item"
+msgstr "Budowa nadrzędna"
+
+#: part/models.py:2868
+#, fuzzy
+#| msgid "Sub part"
+msgid "Substitute part"
+msgstr "Podczęść"
+
+#: part/models.py:2879
msgid "Part 1"
msgstr "Część 1"
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Part 2"
msgstr "Część 2"
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Select Related Part"
msgstr "Wybierz powiązaną część"
-#: part/models.py:2656
+#: part/models.py:2915
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
+#: part/tasks.py:53
+#, fuzzy
+#| msgid "Confirm stock allocation"
+msgid "Low stock notification"
+msgstr "Potwierdź przydział zapasów"
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr "Nie masz uprawnień do edycji BOM."
-#: part/templates/part/bom.html:14
+#: part/templates/part/bom.html:15
#, python-format
msgid "The BOM for %(part)s has changed, and must be validated.
"
msgstr ""
-#: part/templates/part/bom.html:16
+#: part/templates/part/bom.html:17
#, python-format
msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s"
msgstr ""
-#: part/templates/part/bom.html:20
+#: part/templates/part/bom.html:21
#, python-format
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:27
-msgid "Remove selected BOM items"
-msgstr ""
-
-#: part/templates/part/bom.html:30
-msgid "Import BOM data"
-msgstr "Importuj dane BOM"
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:383
+#, fuzzy
+#| msgid "Barcode actions"
+msgid "BOM actions"
+msgstr "Akcje kodów kreskowych"
#: part/templates/part/bom.html:34
-msgid "Copy BOM from parent part"
-msgstr "Kopiuj BOM z części nadrzędnej"
-
-#: part/templates/part/bom.html:38
-msgid "New BOM Item"
-msgstr ""
-
-#: part/templates/part/bom.html:41
-msgid "Finish Editing"
-msgstr "Zakończ edycję"
-
-#: part/templates/part/bom.html:46
-msgid "Edit BOM"
-msgstr ""
-
-#: part/templates/part/bom.html:50
-msgid "Validate Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:56 part/views.py:1220
-msgid "Export Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:59
-msgid "Print BOM Report"
-msgstr ""
+#, fuzzy
+#| msgid "Delete Item"
+msgid "Delete Items"
+msgstr "Usuń element"
#: part/templates/part/bom_duplicate.html:13
msgid "This part already has a Bill of Materials"
@@ -4360,28 +4224,23 @@ msgstr ""
msgid "Select Part"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:13
-#: part/templates/part/bom_upload/upload_file.html:16
-msgid "Return To BOM"
-msgstr ""
-
-#: part/templates/part/bom_upload/upload_file.html:27
+#: part/templates/part/bom_upload/upload_file.html:12
msgid "Upload Bill of Materials"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:46
+#: part/templates/part/bom_upload/upload_file.html:32
msgid "Requirements for BOM upload"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "The BOM file must contain the required named columns as provided in the "
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "BOM Upload Template"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:49
+#: part/templates/part/bom_upload/upload_file.html:35
msgid "Each part must already exist in the database"
msgstr ""
@@ -4394,93 +4253,117 @@ msgstr ""
msgid "This will validate each line in the BOM."
msgstr ""
-#: part/templates/part/category.html:33
-msgid "All parts"
-msgstr "Wszystkie części"
+#: part/templates/part/category.html:24 part/templates/part/category.html:28
+msgid "You are subscribed to notifications for this category"
+msgstr ""
+
+#: part/templates/part/category.html:32
+msgid "Subscribe to notifications for this category"
+msgstr ""
#: part/templates/part/category.html:38
+#, fuzzy
+#| msgid "Category"
+msgid "Category Actions"
+msgstr "Kategoria"
+
+#: part/templates/part/category.html:43
+#, fuzzy
+#| msgid "Set category"
+msgid "Edit category"
+msgstr "Ustaw kategorię"
+
+#: part/templates/part/category.html:44
+#, fuzzy
+#| msgid "Edit Part Category"
+msgid "Edit Category"
+msgstr "Edytuj kategorię części"
+
+#: part/templates/part/category.html:48
+#, fuzzy
+#| msgid "Set category"
+msgid "Delete category"
+msgstr "Ustaw kategorię"
+
+#: part/templates/part/category.html:49
+#, fuzzy
+#| msgid "Select Category"
+msgid "Delete Category"
+msgstr "Wybierz kategorię"
+
+#: part/templates/part/category.html:57
msgid "Create new part category"
msgstr "Stwórz nową kategorię komponentów"
-#: part/templates/part/category.html:44
-msgid "Edit part category"
-msgstr ""
+#: part/templates/part/category.html:58
+#, fuzzy
+#| msgid "Set Category"
+msgid "New Category"
+msgstr "Ustaw kategorię"
-#: part/templates/part/category.html:49
-msgid "Delete part category"
-msgstr ""
+#: part/templates/part/category.html:67
+#, fuzzy
+#| msgid "Select part category"
+msgid "Top level part category"
+msgstr "Wybierz kategorię części"
-#: part/templates/part/category.html:59 part/templates/part/category.html:98
-msgid "Category Details"
-msgstr ""
-
-#: part/templates/part/category.html:64
+#: part/templates/part/category.html:79
msgid "Category Path"
msgstr ""
-#: part/templates/part/category.html:69
+#: part/templates/part/category.html:84
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:175
-#: part/templates/part/category_navbar.html:14
-#: part/templates/part/category_navbar.html:17
+#: part/templates/part/category.html:103 part/templates/part/category.html:194
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:93
+#: part/templates/part/category.html:108
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:126
+#: part/templates/part/category.html:145
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:142
+#: part/templates/part/category.html:146 part/templates/part/category.html:170
msgid "Export"
msgstr "Eksportuj"
-#: part/templates/part/category.html:130
+#: part/templates/part/category.html:149
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 templates/js/translated/bom.js:39
+#: part/templates/part/category.html:150 templates/js/translated/bom.js:40
msgid "New Part"
msgstr "Nowy komponent"
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set category"
msgstr "Ustaw kategorię"
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set Category"
msgstr "Ustaw kategorię"
-#: part/templates/part/category.html:141
+#: part/templates/part/category.html:168
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:142
+#: part/templates/part/category.html:170
msgid "Export Data"
msgstr "Eksportuj dane"
-#: part/templates/part/category.html:146
-msgid "View list display"
-msgstr ""
-
-#: part/templates/part/category.html:149
-msgid "View grid display"
-msgstr ""
-
-#: part/templates/part/category.html:165
+#: part/templates/part/category.html:184
msgid "Part Parameters"
msgstr "Parametry części"
-#: part/templates/part/category.html:254
+#: part/templates/part/category.html:261
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:281
+#: part/templates/part/category.html:288
msgid "Create Part"
msgstr ""
@@ -4519,12 +4402,7 @@ msgstr ""
msgid "If this category is deleted, these parts will be moved to the top-level category Teile"
msgstr ""
-#: part/templates/part/category_navbar.html:29
-#: part/templates/part/category_navbar.html:32
-msgid "Import Parts"
-msgstr ""
-
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365
msgid "Duplicate Part"
msgstr "Duplikuj część"
@@ -4549,311 +4427,327 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)"
msgstr ""
#: part/templates/part/detail.html:16
+#, fuzzy
+#| msgid "Details"
+msgid "Part Details"
+msgstr "Szczegóły"
+
+#: part/templates/part/detail.html:66
+#, fuzzy
+#| msgid "Minimum Stock"
+msgid "Minimum stock level"
+msgstr "Minimalny stan magazynowy"
+
+#: part/templates/part/detail.html:97
+msgid "Latest Serial Number"
+msgstr "Ostatni numer seryjny"
+
+#: part/templates/part/detail.html:124
msgid "Part Stock"
msgstr "Zapasy części"
-#: part/templates/part/detail.html:21
+#: part/templates/part/detail.html:136
#, python-format
msgid "Showing stock for all variants of %(full_name)s"
msgstr ""
-#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99
+#: part/templates/part/detail.html:146
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:36
+#: part/templates/part/detail.html:151
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:77
-msgid "New sales order"
-msgstr ""
-
-#: part/templates/part/detail.html:77
-msgid "New Order"
-msgstr ""
-
-#: part/templates/part/detail.html:90
+#: part/templates/part/detail.html:208
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27
+#: part/templates/part/detail.html:249
msgid "Part Variants"
msgstr "Warianty Części"
-#: part/templates/part/detail.html:137
+#: part/templates/part/detail.html:253
msgid "Create new variant"
msgstr "Utwórz nowy wariant"
-#: part/templates/part/detail.html:138
+#: part/templates/part/detail.html:254
msgid "New Variant"
msgstr "Nowy wariant"
-#: part/templates/part/detail.html:161
+#: part/templates/part/detail.html:281
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107
-#: part/templates/part/navbar.html:110
+#: part/templates/part/detail.html:315
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:188
+#: part/templates/part/detail.html:319 part/templates/part/detail.html:320
msgid "Add Related"
msgstr "Dodaj powiązane"
-#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43
-#: part/templates/part/navbar.html:46
+#: part/templates/part/detail.html:366
msgid "Bill of Materials"
msgstr "Zestawienie materiałowe"
-#: part/templates/part/detail.html:237
+#: part/templates/part/detail.html:371
+#, fuzzy
+#| msgid "Print actions"
+msgid "Export actions"
+msgstr "Akcje drukowania"
+
+#: part/templates/part/detail.html:375
+#, fuzzy
+#| msgid "Export"
+msgid "Export BOM"
+msgstr "Eksportuj"
+
+#: part/templates/part/detail.html:377
+msgid "Print BOM Report"
+msgstr ""
+
+#: part/templates/part/detail.html:387
+#, fuzzy
+#| msgid "Upload File"
+msgid "Upload BOM"
+msgstr "Wyślij plik"
+
+#: part/templates/part/detail.html:389 templates/js/translated/part.js:266
+msgid "Copy BOM"
+msgstr "Kopiuj BOM"
+
+#: part/templates/part/detail.html:391 part/views.py:820
+msgid "Validate BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:396
+msgid "New BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:397
+#, fuzzy
+#| msgid "Add Line Item"
+msgid "Add BOM Item"
+msgstr "Dodaj element zamówienia"
+
+#: part/templates/part/detail.html:410
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:253
+#: part/templates/part/detail.html:427
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:260
-msgid "Start New Build"
-msgstr ""
-
-#: part/templates/part/detail.html:274
+#: part/templates/part/detail.html:452
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:283
+#: part/templates/part/detail.html:462
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:305
+#: part/templates/part/detail.html:489
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:317
+#: part/templates/part/detail.html:505
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:502
+#: part/templates/part/detail.html:686
msgid "Delete selected BOM items?"
msgstr ""
-#: part/templates/part/detail.html:503
+#: part/templates/part/detail.html:687
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:554
+#: part/templates/part/detail.html:738
msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:699
+#: part/templates/part/detail.html:876
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:755
+#: part/templates/part/detail.html:933
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:907
+#: part/templates/part/detail.html:1085
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:919
+#: part/templates/part/detail.html:1097
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:931
+#: part/templates/part/detail.html:1109
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1020
+#: part/templates/part/detail.html:1198
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
#: part/templates/part/import_wizard/ajax_part_upload.html:29
-#: part/templates/part/import_wizard/part_upload.html:51
+#: part/templates/part/import_wizard/part_upload.html:52
msgid "Unsuffitient privileges."
msgstr ""
-#: part/templates/part/import_wizard/part_upload.html:14
+#: part/templates/part/import_wizard/part_upload.html:15
msgid "Import Parts from File"
msgstr ""
-#: part/templates/part/navbar.html:30
-msgid "Variants"
-msgstr ""
-
-#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62
-msgid "Used In"
-msgstr "Użyte w"
-
-#: part/templates/part/navbar.html:70
-msgid "Prices"
-msgstr "Ceny"
-
-#: part/templates/part/navbar.html:102
-msgid "Test Templates"
-msgstr ""
-
#: part/templates/part/part_app_base.html:12
msgid "Part List"
msgstr "Lista części"
+#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31
+msgid "You are subscribed to notifications for this part"
+msgstr ""
+
#: part/templates/part/part_base.html:35
-msgid "Part is a template part (variants can be made from this part)"
+msgid "Subscribe to notifications for this part"
msgstr ""
-#: part/templates/part/part_base.html:38
-msgid "Part can be assembled from other parts"
-msgstr ""
-
-#: part/templates/part/part_base.html:41
-msgid "Part can be used in assemblies"
-msgstr ""
-
-#: part/templates/part/part_base.html:44
-msgid "Part stock is tracked by serial number"
-msgstr ""
-
-#: part/templates/part/part_base.html:47
-msgid "Part can be purchased from external suppliers"
-msgstr ""
-
-#: part/templates/part/part_base.html:50
-msgid "Part can be sold to customers"
-msgstr ""
-
-#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65
-msgid "Part is virtual (not a physical part)"
-msgstr "Część jest wirtualna (nie fizyczna)"
-
-#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504
-#: templates/js/translated/company.js:761 templates/js/translated/part.js:443
-#: templates/js/translated/part.js:520
-msgid "Inactive"
-msgstr "Nieaktywny"
-
-#: part/templates/part/part_base.html:73
-msgid "Star this part"
-msgstr ""
-
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:75
-#: stock/templates/stock/location.html:51
+#: part/templates/part/part_base.html:43
+#: stock/templates/stock/item_base.html:28
+#: stock/templates/stock/location.html:29
msgid "Barcode actions"
msgstr "Akcje kodów kreskowych"
-#: part/templates/part/part_base.html:82
-#: stock/templates/stock/item_base.html:77
-#: stock/templates/stock/location.html:53 templates/qr_button.html:1
+#: part/templates/part/part_base.html:45
+#: stock/templates/stock/item_base.html:32
+#: stock/templates/stock/location.html:31 templates/qr_button.html:1
msgid "Show QR Code"
msgstr "Pokaż Kod QR"
-#: part/templates/part/part_base.html:83
-#: stock/templates/stock/item_base.html:93
-#: stock/templates/stock/location.html:54
+#: part/templates/part/part_base.html:46
+#: stock/templates/stock/item_base.html:48
+#: stock/templates/stock/location.html:32
msgid "Print Label"
msgstr "Drukuj etykietę"
-#: part/templates/part/part_base.html:89
+#: part/templates/part/part_base.html:51
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:95
-#: stock/templates/stock/item_base.html:142
-#: stock/templates/stock/location.html:62
+#: part/templates/part/part_base.html:56
+#: stock/templates/stock/item_base.html:103
+#: stock/templates/stock/location.html:40
msgid "Stock actions"
msgstr "Akcje magazynowe"
-#: part/templates/part/part_base.html:102
+#: part/templates/part/part_base.html:63
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:108
+#: part/templates/part/part_base.html:69
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:125
+#: part/templates/part/part_base.html:84
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:128
+#: part/templates/part/part_base.html:87
msgid "Duplicate part"
msgstr "Duplikuj część"
-#: part/templates/part/part_base.html:131
+#: part/templates/part/part_base.html:90
msgid "Edit part"
msgstr "Edytuj część"
-#: part/templates/part/part_base.html:134
+#: part/templates/part/part_base.html:93
msgid "Delete part"
msgstr "Usuń część"
-#: part/templates/part/part_base.html:146
+#: part/templates/part/part_base.html:109
+msgid "Part is a template part (variants can be made from this part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:113
+msgid "Part can be assembled from other parts"
+msgstr ""
+
+#: part/templates/part/part_base.html:117
+msgid "Part can be used in assemblies"
+msgstr ""
+
+#: part/templates/part/part_base.html:121
+msgid "Part stock is tracked by serial number"
+msgstr ""
+
+#: part/templates/part/part_base.html:125
+msgid "Part can be purchased from external suppliers"
+msgstr ""
+
+#: part/templates/part/part_base.html:129
+msgid "Part can be sold to customers"
+msgstr ""
+
+#: part/templates/part/part_base.html:135
+#: part/templates/part/part_base.html:143
+msgid "Part is virtual (not a physical part)"
+msgstr "Część jest wirtualna (nie fizyczna)"
+
+#: part/templates/part/part_base.html:136
+#: templates/js/translated/company.js:504
+#: templates/js/translated/company.js:761
+#: templates/js/translated/model_renderers.js:175
+#: templates/js/translated/part.js:464 templates/js/translated/part.js:541
+msgid "Inactive"
+msgstr "Nieaktywny"
+
+#: part/templates/part/part_base.html:155
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:161
-#: templates/js/translated/model_renderers.js:169
-#: templates/js/translated/order.js:1503
-#: templates/js/translated/table_filters.js:166
+#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524
+#: templates/js/translated/table_filters.js:182
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960
+#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961
msgid "On Order"
msgstr ""
-#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:181
+#: part/templates/part/part_base.html:199
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:188
+#: part/templates/part/part_base.html:206
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373
+#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776
-#: templates/js/translated/part.js:964
+#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793
+#: templates/js/translated/part.js:965
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:223
-#: part/templates/part/part_base.html:531
-#: part/templates/part/part_base.html:557
-msgid "Show Part Details"
-msgstr ""
-
-#: part/templates/part/part_base.html:283
-msgid "Latest Serial Number"
-msgstr "Ostatni numer seryjny"
-
-#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144
+#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:445
+#: part/templates/part/part_base.html:363
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:526
-#: part/templates/part/part_base.html:551
-msgid "Hide Part Details"
-msgstr ""
-
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4877,7 +4771,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
-#: templates/js/translated/bom.js:327
+#: templates/js/translated/bom.js:518
msgid "No supplier pricing available"
msgstr ""
@@ -4911,13 +4805,14 @@ msgstr ""
msgid "No pricing information is available for this part."
msgstr ""
-#: part/templates/part/part_thumb.html:20
+#: part/templates/part/part_thumb.html:11
msgid "Select from existing images"
msgstr ""
#: part/templates/part/partial_delete.html:9
#, python-format
-msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
+msgid ""
+"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
"
Disable the \"Active\" part attribute and re-try.\n"
" "
msgstr ""
@@ -4980,7 +4875,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321
+#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512
msgid "Supplier Cost"
msgstr ""
@@ -5002,7 +4897,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:215 part/views.py:1801
+#: part/templates/part/prices.html:215 part/views.py:1853
msgid "Add Internal Price Break"
msgstr ""
@@ -5022,13 +4917,13 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297
-#: templates/js/translated/model_renderers.js:167
-#: templates/js/translated/part.js:766 templates/js/translated/part.js:968
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474
+#: templates/js/translated/part.js:428 templates/js/translated/part.js:783
+#: templates/js/translated/part.js:969
msgid "No Stock"
msgstr ""
-#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166
+#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158
msgid "Low Stock"
msgstr ""
@@ -5041,135 +4936,140 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:106
+#: part/templatetags/inventree_extras.py:113
msgid "Unknown database"
msgstr ""
-#: part/views.py:94
+#: part/views.py:95
msgid "Add Related Part"
msgstr "Dodaj powiązaną część"
-#: part/views.py:149
+#: part/views.py:150
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:160
+#: part/views.py:161
msgid "Set Part Category"
msgstr ""
-#: part/views.py:210
+#: part/views.py:211
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:270
+#: part/views.py:283
msgid "Match References"
msgstr ""
-#: part/views.py:526
+#: part/views.py:567
msgid "None"
msgstr ""
-#: part/views.py:585
+#: part/views.py:626
msgid "Part QR Code"
msgstr ""
-#: part/views.py:687
+#: part/views.py:728
msgid "Select Part Image"
msgstr ""
-#: part/views.py:713
+#: part/views.py:754
msgid "Updated part image"
msgstr ""
-#: part/views.py:716
+#: part/views.py:757
msgid "Part image not found"
msgstr ""
-#: part/views.py:728
+#: part/views.py:769
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:758
+#: part/views.py:799
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:779
-msgid "Validate BOM"
-msgstr ""
-
-#: part/views.py:800
+#: part/views.py:841
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:811
+#: part/views.py:852
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:884
+#: part/views.py:925
msgid "Match Parts"
msgstr ""
-#: part/views.py:1272
+#: part/views.py:1261
+msgid "Export Bill of Materials"
+msgstr ""
+
+#: part/views.py:1313
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1279
+#: part/views.py:1320
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1288
+#: part/views.py:1329
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1437
+#: part/views.py:1478
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1447
+#: part/views.py:1488
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1454
+#: part/views.py:1495
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1502 templates/js/translated/part.js:308
+#: part/views.py:1554 templates/js/translated/part.js:309
msgid "Edit Part Category"
msgstr "Edytuj kategorię części"
-#: part/views.py:1540
+#: part/views.py:1592
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1546
+#: part/views.py:1598
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1555
+#: part/views.py:1607
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1656
+#: part/views.py:1708
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1712
+#: part/views.py:1764
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:1734
+#: part/views.py:1786
msgid "Added new price break"
msgstr ""
-#: part/views.py:1810
+#: part/views.py:1862
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:1818
+#: part/views.py:1870
msgid "Delete Internal Price Break"
msgstr ""
+#: report/api.py:234 report/api.py:278
+#, python-brace-format
+msgid "Template file '{filename}' is missing or does not exist"
+msgstr ""
+
#: report/models.py:182
msgid "Template name"
msgstr ""
@@ -5206,51 +5106,51 @@ msgstr ""
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:380
+#: report/models.py:382
msgid "Build Filters"
msgstr ""
-#: report/models.py:381
+#: report/models.py:383
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:423
+#: report/models.py:425
msgid "Part Filters"
msgstr "Filtr części"
-#: report/models.py:424
+#: report/models.py:426
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:458
+#: report/models.py:460
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:496
+#: report/models.py:498
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:546
+#: report/models.py:548
msgid "Snippet"
msgstr ""
-#: report/models.py:547
+#: report/models.py:549
msgid "Report snippet file"
msgstr ""
-#: report/models.py:551
+#: report/models.py:553
msgid "Snippet file description"
msgstr ""
-#: report/models.py:586
+#: report/models.py:588
msgid "Asset"
msgstr ""
-#: report/models.py:587
+#: report/models.py:589
msgid "Report asset file"
msgstr ""
-#: report/models.py:590
+#: report/models.py:592
msgid "Asset file description"
msgstr ""
@@ -5267,543 +5167,593 @@ msgstr ""
msgid "Stock Item Test Report"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:83
+#: report/templates/report/inventree_test_report_base.html:79
+#: stock/models.py:530 stock/templates/stock/item_base.html:238
+#: templates/js/translated/build.js:233 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1013
+#: templates/js/translated/model_renderers.js:95
+#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355
+msgid "Serial Number"
+msgstr "Numer Seryjny"
+
+#: report/templates/report/inventree_test_report_base.html:88
msgid "Test Results"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:1804
+#: report/templates/report/inventree_test_report_base.html:93
+#: stock/models.py:1855
msgid "Test"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:89
-#: stock/models.py:1810
+#: report/templates/report/inventree_test_report_base.html:94
+#: stock/models.py:1861
msgid "Result"
msgstr "Wynik"
-#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502
+#: report/templates/report/inventree_test_report_base.html:97
+#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887
msgid "Date"
msgstr "Data"
-#: report/templates/report/inventree_test_report_base.html:103
+#: report/templates/report/inventree_test_report_base.html:108
msgid "Pass"
msgstr "Zaliczone"
-#: report/templates/report/inventree_test_report_base.html:105
+#: report/templates/report/inventree_test_report_base.html:110
msgid "Fail"
msgstr "Niezaliczone"
-#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556
-#: stock/templates/stock/item_base.html:395
-#: templates/js/translated/stock.js:946
+#: report/templates/report/inventree_test_report_base.html:123
+msgid "Installed Items"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:137
+#: templates/js/translated/stock.js:2147
+msgid "Serial"
+msgstr ""
+
+#: stock/api.py:422
+#, fuzzy
+#| msgid "Quantity Per"
+msgid "Quantity is required"
+msgstr "Ilość za"
+
+#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587
+#: stock/templates/stock/item_base.html:382
+#: templates/js/translated/stock.js:1246
msgid "Expiry Date"
msgstr "Data ważności"
-#: stock/forms.py:80 stock/forms.py:308
+#: stock/forms.py:92 stock/forms.py:266
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:83
+#: stock/forms.py:95
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:134
+#: stock/forms.py:150
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Serial numbers"
msgstr "Numery seryjne"
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:138 stock/forms.py:282
+#: stock/forms.py:154 stock/forms.py:238
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:168 stock/forms.py:224
-msgid "Select test report template"
-msgstr ""
-
-#: stock/forms.py:240
+#: stock/forms.py:194
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:270
+#: stock/forms.py:224
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:280
+#: stock/forms.py:236
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm removal of installed stock items"
msgstr ""
-#: stock/models.py:57 stock/models.py:593
+#: stock/models.py:60 stock/models.py:624
+#: stock/templates/stock/item_base.html:422
msgid "Owner"
msgstr ""
-#: stock/models.py:58 stock/models.py:594
+#: stock/models.py:61 stock/models.py:625
msgid "Select Owner"
msgstr ""
-#: stock/models.py:322
+#: stock/models.py:352
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:358
+#: stock/models.py:388
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:368 stock/models.py:377
+#: stock/models.py:398 stock/models.py:407
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:369
+#: stock/models.py:399
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:391
+#: stock/models.py:421
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:397
+#: stock/models.py:427
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:404
+#: stock/models.py:434
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:446
+#: stock/models.py:476
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:455
+#: stock/models.py:485
msgid "Base part"
msgstr "Część podstawowa"
-#: stock/models.py:464
+#: stock/models.py:493
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8
+#: stock/models.py:498 stock/templates/stock/location.html:12
+#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:472
+#: stock/models.py:501
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:479
+#: stock/models.py:508
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:484 stock/templates/stock/item_base.html:284
+#: stock/models.py:513 stock/templates/stock/item_base.html:271
msgid "Installed In"
msgstr ""
-#: stock/models.py:487
+#: stock/models.py:516
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:503
+#: stock/models.py:532
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:515
+#: stock/models.py:546
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:519
+#: stock/models.py:550
msgid "Stock Quantity"
msgstr "Ilość w magazynie"
-#: stock/models.py:528
+#: stock/models.py:559
msgid "Source Build"
msgstr ""
-#: stock/models.py:530
+#: stock/models.py:561
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:541
+#: stock/models.py:572
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:544
+#: stock/models.py:575
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:550
+#: stock/models.py:581
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:557
+#: stock/models.py:588
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:580 stock/templates/stock/item.html:99
-#: stock/templates/stock/navbar.html:54
+#: stock/models.py:611 stock/templates/stock/item.html:111
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:589
+#: stock/models.py:620
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:599
+#: stock/models.py:630
msgid "Scheduled for deletion"
msgstr ""
-#: stock/models.py:600
+#: stock/models.py:631
msgid "This StockItem will be deleted by the background worker"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1094
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1069
+#: stock/models.py:1100
msgid "Quantity must be integer"
msgstr "Ilość musi być liczbą całkowitą"
-#: stock/models.py:1075
+#: stock/models.py:1106
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1078
+#: stock/models.py:1109
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1081
+#: stock/models.py:1112
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1088
+#: stock/models.py:1119
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1246
+#: stock/models.py:1277
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:1724
+#: stock/models.py:1775
msgid "Entry notes"
msgstr ""
-#: stock/models.py:1781
+#: stock/models.py:1832
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:1787
+#: stock/models.py:1838
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:1805
+#: stock/models.py:1856
msgid "Test name"
msgstr ""
-#: stock/models.py:1811 templates/js/translated/table_filters.js:244
+#: stock/models.py:1862 templates/js/translated/table_filters.js:260
msgid "Test result"
msgstr ""
-#: stock/models.py:1817
+#: stock/models.py:1868
msgid "Test output value"
msgstr ""
-#: stock/models.py:1824
+#: stock/models.py:1875
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:1830
+#: stock/models.py:1881
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:424
-msgid "StockItem primary key value"
+#: stock/serializers.py:166
+#, fuzzy
+#| msgid "Source stock item"
+msgid "Purchase price of this stock item"
+msgstr "Lokalizacja magazynowania przedmiotu"
+
+#: stock/serializers.py:173
+msgid "Purchase currency of this stock item"
msgstr ""
-#: stock/serializers.py:452
-msgid "Stock transaction notes"
-msgstr ""
+#: stock/serializers.py:287
+#, fuzzy
+#| msgid "Number of stock items to build"
+msgid "Enter number of stock items to serialize"
+msgstr "Ilość przedmiotów do zbudowania"
-#: stock/serializers.py:462
-msgid "A list of stock items must be provided"
-msgstr ""
+#: stock/serializers.py:302
+#, fuzzy, python-brace-format
+#| msgid "Allocation quantity cannot exceed stock quantity"
+msgid "Quantity must not exceed available stock quantity ({q})"
+msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie"
-#: stock/serializers.py:554
+#: stock/serializers.py:308
+#, fuzzy
+#| msgid "No serial numbers found"
+msgid "Enter serial numbers for new items"
+msgstr "Nie znaleziono numerów seryjnych"
+
+#: stock/serializers.py:319 stock/serializers.py:687
msgid "Destination stock location"
msgstr ""
-#: stock/templates/stock/item.html:17
+#: stock/serializers.py:326
+msgid "Optional note field"
+msgstr ""
+
+#: stock/serializers.py:339
+#, fuzzy
+#| msgid "Serial numbers already exist"
+msgid "Serial numbers cannot be assigned to this part"
+msgstr "Numer seryjny już istnieje"
+
+#: stock/serializers.py:557
+msgid "StockItem primary key value"
+msgstr ""
+
+#: stock/serializers.py:585
+msgid "Stock transaction notes"
+msgstr ""
+
+#: stock/serializers.py:595
+msgid "A list of stock items must be provided"
+msgstr ""
+
+#: stock/templates/stock/item.html:18
msgid "Stock Tracking Information"
msgstr ""
-#: stock/templates/stock/item.html:30
+#: stock/templates/stock/item.html:29
msgid "New Entry"
msgstr ""
-#: stock/templates/stock/item.html:43
+#: stock/templates/stock/item.html:48
msgid "Child Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:50
+#: stock/templates/stock/item.html:55
msgid "This stock item does not have any child items"
msgstr ""
-#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19
-#: stock/templates/stock/navbar.html:22
+#: stock/templates/stock/item.html:64
msgid "Test Data"
msgstr ""
-#: stock/templates/stock/item.html:66
-msgid "Delete Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:70
-msgid "Add Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95
+#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50
msgid "Test Report"
msgstr ""
-#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27
+#: stock/templates/stock/item.html:72
+msgid "Delete Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:76
+msgid "Add Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:133
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:125 stock/views.py:511
+#: stock/templates/stock/item.html:137 stock/views.py:515
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326
+#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:346
+#: stock/templates/stock/item.html:363
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:360
+#: stock/templates/stock/item.html:377
msgid "Delete Test Result"
msgstr ""
-#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:399
-#: templates/js/translated/table_filters.js:225
-msgid "Expired"
-msgstr "Termin minął"
-
-#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:401
-#: templates/js/translated/table_filters.js:231
-msgid "Stale"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:80
-#: templates/js/translated/barcode.js:331
-#: templates/js/translated/barcode.js:336
+#: stock/templates/stock/item_base.html:35
+#: templates/js/translated/barcode.js:330
+#: templates/js/translated/barcode.js:335
msgid "Unlink Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/item_base.html:37
msgid "Link Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31
+#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24
msgid "Scan to Location"
msgstr ""
-#: stock/templates/stock/item_base.html:91
+#: stock/templates/stock/item_base.html:46
msgid "Printing actions"
msgstr ""
-#: stock/templates/stock/item_base.html:104
+#: stock/templates/stock/item_base.html:65
msgid "Stock adjustment actions"
msgstr ""
-#: stock/templates/stock/item_base.html:108
-#: stock/templates/stock/location.html:69 templates/stock_table.html:57
+#: stock/templates/stock/item_base.html:69
+#: stock/templates/stock/location.html:47 templates/stock_table.html:50
msgid "Count stock"
msgstr ""
-#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55
+#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48
msgid "Add stock"
msgstr ""
-#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56
+#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49
msgid "Remove stock"
msgstr ""
-#: stock/templates/stock/item_base.html:117
+#: stock/templates/stock/item_base.html:78
msgid "Serialize stock"
msgstr ""
-#: stock/templates/stock/item_base.html:121
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/location.html:53
msgid "Transfer stock"
msgstr ""
-#: stock/templates/stock/item_base.html:124
+#: stock/templates/stock/item_base.html:85
msgid "Assign to customer"
msgstr ""
-#: stock/templates/stock/item_base.html:127
+#: stock/templates/stock/item_base.html:88
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install"
msgstr ""
-#: stock/templates/stock/item_base.html:145
+#: stock/templates/stock/item_base.html:106
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:109
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:150
+#: stock/templates/stock/item_base.html:111
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:153
+#: stock/templates/stock/item_base.html:114
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:173
+#: stock/templates/stock/item_base.html:136
+#: stock/templates/stock/item_base.html:386
+#: templates/js/translated/table_filters.js:241
+msgid "Expired"
+msgstr "Termin minął"
+
+#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/table_filters.js:247
+msgid "Stale"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:161
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:180
+#: stock/templates/stock/item_base.html:168
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:181
+#: stock/templates/stock/item_base.html:169
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:194
+#: stock/templates/stock/item_base.html:182
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:202
+#: stock/templates/stock/item_base.html:190
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:210
+#: stock/templates/stock/item_base.html:198
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:216
+#: stock/templates/stock/item_base.html:204
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:220
+#: stock/templates/stock/item_base.html:208
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:224
+#: stock/templates/stock/item_base.html:212
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:232
-msgid "Stock Item Details"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:241
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:260
+#: stock/templates/stock/item_base.html:247
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:303
-#: templates/js/translated/build.js:658
+#: stock/templates/stock/item_base.html:290
+#: templates/js/translated/build.js:1035
msgid "No location set"
msgstr "Lokacje nie są ustawione"
-#: stock/templates/stock/item_base.html:310
+#: stock/templates/stock/item_base.html:297
msgid "Barcode Identifier"
msgstr "Skaner kodów"
-#: stock/templates/stock/item_base.html:352
+#: stock/templates/stock/item_base.html:339
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:370
+#: stock/templates/stock/item_base.html:357
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:399
+#: stock/templates/stock/item_base.html:386
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:401
+#: stock/templates/stock/item_base.html:388
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:408
-#: templates/js/translated/stock.js:959
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1259
msgid "Last Updated"
msgstr "Ostatnia aktualizacja"
-#: stock/templates/stock/item_base.html:413
+#: stock/templates/stock/item_base.html:400
msgid "Last Stocktake"
msgstr "Ostatnia inwentaryzacja"
-#: stock/templates/stock/item_base.html:417
+#: stock/templates/stock/item_base.html:404
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:428
+#: stock/templates/stock/item_base.html:415
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:516
-msgid "Save"
-msgstr "Zapisz"
-
-#: stock/templates/stock/item_base.html:528
+#: stock/templates/stock/item_base.html:504
msgid "Edit Stock Status"
msgstr ""
@@ -5857,106 +5807,70 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:20
-msgid "You are not in the list of owners of this location. This stock location cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/location.html:37
-msgid "All stock items"
-msgstr ""
-
-#: stock/templates/stock/location.html:42
-msgid "Create new stock location"
-msgstr ""
-
-#: stock/templates/stock/location.html:55
+#: stock/templates/stock/location.html:33
msgid "Check-in Items"
msgstr ""
-#: stock/templates/stock/location.html:83
+#: stock/templates/stock/location.html:61
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:85
+#: stock/templates/stock/location.html:63
msgid "Edit location"
msgstr "Edytuj lokację"
-#: stock/templates/stock/location.html:87
+#: stock/templates/stock/location.html:65
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:99
-msgid "Location Details"
+#: stock/templates/stock/location.html:75
+msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:104
-msgid "Location Path"
+#: stock/templates/stock/location.html:76
+msgid "New Location"
+msgstr "Nowa lokalizacja"
+
+#: stock/templates/stock/location.html:86
+#, fuzzy
+#| msgid "Confirm stock allocation"
+msgid "Top level stock location"
+msgstr "Potwierdź przydział zapasów"
+
+#: stock/templates/stock/location.html:95
+msgid "You are not in the list of owners of this location. This stock location cannot be edited."
msgstr ""
-#: stock/templates/stock/location.html:109
-msgid "Location Description"
-msgstr ""
-
-#: stock/templates/stock/location.html:114
-#: stock/templates/stock/location.html:155
-#: stock/templates/stock/location_navbar.html:11
-#: stock/templates/stock/location_navbar.html:14
+#: stock/templates/stock/location.html:113
+#: stock/templates/stock/location.html:160
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:124
-msgid "Stock Details"
+#: stock/templates/stock/location.html:118
+#: stock/templates/stock/location.html:132
+#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158
+#: templates/js/translated/stock.js:1871 templates/stats.html:93
+#: templates/stats.html:102 users/models.py:43
+msgid "Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196
+#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170
#: templates/stats.html:97 users/models.py:42
msgid "Stock Locations"
msgstr ""
-#: stock/templates/stock/location.html:162 templates/stock_table.html:37
+#: stock/templates/stock/location.html:167 templates/stock_table.html:30
msgid "Printing Actions"
msgstr ""
-#: stock/templates/stock/location.html:166 templates/stock_table.html:41
+#: stock/templates/stock/location.html:171 templates/stock_table.html:34
msgid "Print labels"
msgstr "Drukuj etykiety"
-#: stock/templates/stock/location.html:250
-msgid "New Location"
-msgstr "Nowa lokalizacja"
-
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
-msgstr ""
-
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr "Czy na pewno chcesz skasować tą lokację?"
-#: stock/templates/stock/navbar.html:11
-msgid "Stock Item Tracking"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:14
-msgid "History"
-msgstr "Historia"
-
-#: stock/templates/stock/navbar.html:30
-msgid "Installed Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:38
-msgid "Child Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:41
-msgid "Children"
-msgstr ""
-
-#: stock/templates/stock/stock_adjust.html:43
-msgid "Remove item"
-msgstr ""
-
#: stock/templates/stock/stock_app_base.html:16
msgid "Loading..."
msgstr ""
@@ -5965,7 +5879,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912
msgid "Convert Stock Item"
msgstr ""
@@ -5986,104 +5900,100 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:158
+#: stock/views.py:162
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:265 stock/views.py:888 stock/views.py:1010
-#: stock/views.py:1375
+#: stock/views.py:269 stock/views.py:891 stock/views.py:1017
+#: stock/views.py:1299
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:280
+#: stock/views.py:284
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:299
+#: stock/views.py:303
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:308
+#: stock/views.py:312
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:332
+#: stock/views.py:336
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:345
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:352
+#: stock/views.py:356
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:363
+#: stock/views.py:367
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:380
+#: stock/views.py:384
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:485
+#: stock/views.py:489
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:660
+#: stock/views.py:663
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:757 templates/js/translated/stock.js:321
+#: stock/views.py:760 templates/js/translated/stock.js:618
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:768
+#: stock/views.py:771
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:790
+#: stock/views.py:793 templates/js/translated/stock.js:288
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:936
+#: stock/views.py:943
msgid "Create new Stock Location"
msgstr "Utwórz nową lokalizację magazynową"
-#: stock/views.py:1027
-msgid "Serialize Stock"
-msgstr ""
-
-#: stock/views.py:1120
+#: stock/views.py:1044
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1262
+#: stock/views.py:1186 templates/js/translated/stock.js:268
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1344
+#: stock/views.py:1268
msgid "Quantity cannot be negative"
msgstr "Ilość nie może być ujemna"
-#: stock/views.py:1444
+#: stock/views.py:1368
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1457
+#: stock/views.py:1381
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1468
+#: stock/views.py:1392
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1475
+#: stock/views.py:1399
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1484
+#: stock/views.py:1408
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6107,63 +6017,71 @@ msgstr ""
msgid "Index"
msgstr "Indeks"
-#: templates/InvenTree/index.html:105
-msgid "Starred Parts"
-msgstr ""
+#: templates/InvenTree/index.html:88
+#, fuzzy
+#| msgid "Supplied Parts"
+msgid "Subscribed Parts"
+msgstr "Dostarczone części"
-#: templates/InvenTree/index.html:115
+#: templates/InvenTree/index.html:98
+#, fuzzy
+#| msgid "Set Category"
+msgid "Subscribed Categories"
+msgstr "Ustaw kategorię"
+
+#: templates/InvenTree/index.html:108
msgid "Latest Parts"
msgstr ""
-#: templates/InvenTree/index.html:126
+#: templates/InvenTree/index.html:119
msgid "BOM Waiting Validation"
msgstr ""
-#: templates/InvenTree/index.html:153
+#: templates/InvenTree/index.html:145
msgid "Recently Updated"
msgstr ""
-#: templates/InvenTree/index.html:176
+#: templates/InvenTree/index.html:168
msgid "Depleted Stock"
msgstr ""
-#: templates/InvenTree/index.html:199
+#: templates/InvenTree/index.html:191
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:202
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:232
+#: templates/InvenTree/index.html:224
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:243
+#: templates/InvenTree/index.html:235
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:263
+#: templates/InvenTree/index.html:255
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:274
+#: templates/InvenTree/index.html:266
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:294
+#: templates/InvenTree/index.html:286
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:305
+#: templates/InvenTree/index.html:297
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14
+#: templates/InvenTree/search.html:8
msgid "Search Results"
msgstr ""
-#: templates/InvenTree/search.html:24
+#: templates/InvenTree/search.html:22
msgid "Enter a search query"
msgstr ""
@@ -6183,23 +6101,23 @@ msgstr ""
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:23
+#: templates/InvenTree/settings/currencies.html:19
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:27
+#: templates/InvenTree/settings/currencies.html:24
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:37
+#: templates/InvenTree/settings/currencies.html:38
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:43
+#: templates/InvenTree/settings/currencies.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:48
+#: templates/InvenTree/settings/currencies.html:49
msgid "Update Now"
msgstr ""
@@ -6207,147 +6125,78 @@ msgstr ""
msgid "Server Settings"
msgstr ""
-#: templates/InvenTree/settings/header.html:7
-msgid "Setting"
-msgstr ""
-
#: templates/InvenTree/settings/login.html:9
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:12
-#: templates/InvenTree/settings/user_settings.html:9
-msgid "User Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:15
-#: templates/InvenTree/settings/navbar.html:17
-msgid "Account"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:21
-#: templates/InvenTree/settings/navbar.html:23
-msgid "Home Page"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29
-#: templates/js/translated/tables.js:375 templates/search_form.html:6
-#: templates/search_form.html:8
-msgid "Search"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:33
-#: templates/InvenTree/settings/navbar.html:35
-msgid "Labels"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:39
-#: templates/InvenTree/settings/navbar.html:41
-msgid "Reports"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:45
-#: templates/InvenTree/settings/navbar.html:47
-msgid "Forms"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:52
-#: templates/InvenTree/settings/navbar.html:54
-#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90
-msgid "Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:62
-msgid "InvenTree Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:65
-#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87
-msgid "Login"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:77
-#: templates/InvenTree/settings/navbar.html:79
-msgid "Barcodes"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85
-msgid "Currencies"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91
-msgid "Reporting"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103
-msgid "Categories"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:7
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:12
-msgid "Part Options"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:43
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:47
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:59
+#: templates/InvenTree/settings/part.html:61
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/po.html:9
+#: templates/InvenTree/settings/po.html:7
msgid "Purchase Order Settings"
msgstr ""
-#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:29
+#: templates/InvenTree/settings/setting.html:28
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:41
+#: templates/InvenTree/settings/setting.html:39
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:154
+#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93
+msgid "Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+#, fuzzy
+#| msgid "Edit location"
+msgid "Edit Global Setting"
+msgstr "Edytuj lokację"
+
+#: templates/InvenTree/settings/settings.html:65
+#, fuzzy
+#| msgid "Edit User Information"
+msgid "Edit User Setting"
+msgstr "Edytuj informacje użytkownika"
+
+#: templates/InvenTree/settings/settings.html:148
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:176
-#: templates/InvenTree/settings/settings.html:275
+#: templates/InvenTree/settings/settings.html:170
+#: templates/InvenTree/settings/settings.html:269
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:177
-#: templates/InvenTree/settings/settings.html:276
+#: templates/InvenTree/settings/settings.html:171
+#: templates/InvenTree/settings/settings.html:270
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:255
+#: templates/InvenTree/settings/settings.html:249
msgid "No part parameter templates found"
msgstr ""
@@ -6363,134 +6212,166 @@ msgstr ""
msgid "Account Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:19
+#: templates/InvenTree/settings/user.html:18
#: templates/js/translated/helpers.js:26
msgid "Edit"
msgstr ""
-#: templates/InvenTree/settings/user.html:21
+#: templates/InvenTree/settings/user.html:20
#: templates/account/password_reset_from_key.html:4
#: templates/account/password_reset_from_key.html:7
msgid "Change Password"
msgstr ""
-#: templates/InvenTree/settings/user.html:28
+#: templates/InvenTree/settings/user.html:31
msgid "Username"
msgstr ""
-#: templates/InvenTree/settings/user.html:32
+#: templates/InvenTree/settings/user.html:35
msgid "First Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:36
+#: templates/InvenTree/settings/user.html:39
msgid "Last Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:42
-msgid "E-Mail"
+#: templates/InvenTree/settings/user.html:54
+msgid "The following email addresses are associated with your account:"
msgstr ""
-#: templates/InvenTree/settings/user.html:47
-msgid "The following e-mail addresses are associated with your account:"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:61
+#: templates/InvenTree/settings/user.html:74
msgid "Verified"
msgstr ""
-#: templates/InvenTree/settings/user.html:63
+#: templates/InvenTree/settings/user.html:76
msgid "Unverified"
msgstr ""
-#: templates/InvenTree/settings/user.html:65
+#: templates/InvenTree/settings/user.html:78
msgid "Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:71
+#: templates/InvenTree/settings/user.html:84
msgid "Make Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:72
+#: templates/InvenTree/settings/user.html:85
msgid "Re-send Verification"
msgstr ""
-#: templates/InvenTree/settings/user.html:73
-#: templates/InvenTree/settings/user.html:130
+#: templates/InvenTree/settings/user.html:86
+#: templates/InvenTree/settings/user.html:153
msgid "Remove"
msgstr ""
-#: templates/InvenTree/settings/user.html:80
+#: templates/InvenTree/settings/user.html:93
msgid "Warning:"
msgstr ""
-#: templates/InvenTree/settings/user.html:81
-msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc."
+#: templates/InvenTree/settings/user.html:94
+msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc."
msgstr ""
-#: templates/InvenTree/settings/user.html:88
-msgid "Add E-mail Address"
-msgstr ""
+#: templates/InvenTree/settings/user.html:101
+#, fuzzy
+#| msgid "Contact email address"
+msgid "Add Email Address"
+msgstr "Kontaktowy adres e-mail"
-#: templates/InvenTree/settings/user.html:93
-msgid "Add E-mail"
-msgstr ""
+#: templates/InvenTree/settings/user.html:111
+#, fuzzy
+#| msgid "Contact email address"
+msgid "Enter e-mail address"
+msgstr "Kontaktowy adres e-mail"
-#: templates/InvenTree/settings/user.html:100
+#: templates/InvenTree/settings/user.html:113
+#, fuzzy
+#| msgid "Email"
+msgid "Add Email"
+msgstr "Adres E-Mail"
+
+#: templates/InvenTree/settings/user.html:123
msgid "Social Accounts"
msgstr ""
-#: templates/InvenTree/settings/user.html:105
+#: templates/InvenTree/settings/user.html:128
msgid "You can sign in to your account using any of the following third party accounts:"
msgstr ""
-#: templates/InvenTree/settings/user.html:138
-msgid "You currently have no social network accounts connected to this account."
+#: templates/InvenTree/settings/user.html:162
+msgid "There are no social network accounts connected to your InvenTree account"
msgstr ""
-#: templates/InvenTree/settings/user.html:142
+#: templates/InvenTree/settings/user.html:167
msgid "Add a 3rd Party Account"
msgstr ""
-#: templates/InvenTree/settings/user.html:153
-msgid "Theme Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:174
-msgid "Set Theme"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:181
+#: templates/InvenTree/settings/user.html:177
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:200
+#: templates/InvenTree/settings/user.html:186
+#, fuzzy
+#| msgid "Select manufacturer"
+msgid "Select language"
+msgstr "Wybierz producenta"
+
+#: templates/InvenTree/settings/user.html:202
#, python-format
msgid "%(lang_translated)s%% translated"
msgstr ""
-#: templates/InvenTree/settings/user.html:202
+#: templates/InvenTree/settings/user.html:204
msgid "No translations available"
msgstr ""
-#: templates/InvenTree/settings/user.html:209
+#: templates/InvenTree/settings/user.html:211
msgid "Set Language"
msgstr ""
-#: templates/InvenTree/settings/user.html:214
-msgid "Help the translation efforts!"
+#: templates/InvenTree/settings/user.html:213
+msgid "Some languages are not complete"
msgstr ""
#: templates/InvenTree/settings/user.html:215
+msgid "Show only sufficent"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:217
+msgid "Show them too"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:224
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:225
#, python-format
msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
msgstr ""
-#: templates/InvenTree/settings/user.html:223
-msgid "Do you really want to remove the selected e-mail address?"
+#: templates/InvenTree/settings/user.html:233
+msgid "Do you really want to remove the selected email address?"
msgstr ""
-#: templates/InvenTree/settings/user_forms.html:9
-msgid "Form Settings"
+#: templates/InvenTree/settings/user_display.html:9
+#, fuzzy
+#| msgid "Display list view"
+msgid "Display Settings"
+msgstr "Pokaż widok listy"
+
+#: templates/InvenTree/settings/user_display.html:25
+msgid "Theme Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:35
+#, fuzzy
+#| msgid "Select part"
+msgid "Select theme"
+msgstr "Wybierz część"
+
+#: templates/InvenTree/settings/user_display.html:46
+msgid "Set Theme"
msgstr ""
#: templates/InvenTree/settings/user_homepage.html:9
@@ -6505,124 +6386,143 @@ msgstr ""
msgid "Search Settings"
msgstr ""
-#: templates/about.html:13
+#: templates/InvenTree/settings/user_settings.html:9
+msgid "User Settings"
+msgstr ""
+
+#: templates/about.html:10
msgid "InvenTree Version Information"
msgstr ""
-#: templates/about.html:22
+#: templates/about.html:11 templates/about.html:105
+#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:964 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
+msgid "Close"
+msgstr ""
+
+#: templates/about.html:20
msgid "InvenTree Version"
msgstr ""
-#: templates/about.html:27
+#: templates/about.html:25
msgid "Development Version"
msgstr ""
-#: templates/about.html:30
+#: templates/about.html:28
msgid "Up to Date"
msgstr ""
-#: templates/about.html:32
+#: templates/about.html:30
msgid "Update Available"
msgstr ""
-#: templates/about.html:42
+#: templates/about.html:40
msgid "Commit Hash"
msgstr ""
-#: templates/about.html:49
+#: templates/about.html:47
msgid "Commit Date"
msgstr ""
-#: templates/about.html:55
+#: templates/about.html:53
msgid "InvenTree Documentation"
msgstr ""
-#: templates/about.html:60
+#: templates/about.html:58
msgid "API Version"
msgstr ""
-#: templates/about.html:65
+#: templates/about.html:63
msgid "Python Version"
msgstr ""
-#: templates/about.html:70
+#: templates/about.html:68
msgid "Django Version"
msgstr ""
-#: templates/about.html:75
+#: templates/about.html:73
msgid "View Code on GitHub"
msgstr ""
-#: templates/about.html:80
+#: templates/about.html:78
msgid "Credits"
msgstr ""
-#: templates/about.html:85
+#: templates/about.html:83
msgid "Mobile App"
msgstr ""
-#: templates/about.html:90
+#: templates/about.html:88
msgid "Submit Bug Report"
msgstr ""
-#: templates/about.html:97 templates/clip.html:4
+#: templates/about.html:95 templates/clip.html:4
msgid "copy to clipboard"
msgstr ""
-#: templates/about.html:97
+#: templates/about.html:95
msgid "copy version information"
msgstr ""
-#: templates/about.html:107 templates/js/translated/modals.js:50
-#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678
-#: templates/js/translated/modals.js:982 templates/modals.html:29
-#: templates/modals.html:54
-msgid "Close"
-msgstr ""
-
#: templates/account/email_confirm.html:6
#: templates/account/email_confirm.html:10
-msgid "Confirm E-mail Address"
-msgstr ""
+#, fuzzy
+#| msgid "Contact email address"
+msgid "Confirm Email Address"
+msgstr "Kontaktowy adres e-mail"
#: templates/account/email_confirm.html:16
#, python-format
-msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s."
+msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
#: templates/account/email_confirm.html:27
#, python-format
-msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request."
+msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:5 templates/account/login.html:14
-#: templates/account/login.html:36
+#: templates/account/login.html:6 templates/account/login.html:16
+#: templates/account/login.html:39
msgid "Sign In"
msgstr ""
-#: templates/account/login.html:19
+#: templates/account/login.html:21
#, python-format
-msgid "Please sign in with one\n"
+msgid ""
+"Please sign in with one\n"
"of your existing third party accounts or sign up\n"
"for a account and sign in below:"
msgstr ""
-#: templates/account/login.html:23
+#: templates/account/login.html:25
#, python-format
-msgid "If you have not created an account yet, then please\n"
+msgid ""
+"If you have not created an account yet, then please\n"
"sign up first."
msgstr ""
-#: templates/account/login.html:38
+#: templates/account/login.html:42
msgid "Forgot Password?"
msgstr ""
-#: templates/account/login.html:45
+#: templates/account/login.html:47
+#, fuzzy
+#| msgid "InvenTree Instance Name"
+msgid "InvenTree demo instance"
+msgstr "Nazwa instancji InvenTree"
+
+#: templates/account/login.html:47
+msgid "Click here for login details"
+msgstr ""
+
+#: templates/account/login.html:55
msgid "or use SSO"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
-#: templates/account/logout.html:17
+#: templates/account/logout.html:20
msgid "Sign Out"
msgstr ""
@@ -6630,13 +6530,17 @@ msgstr ""
msgid "Are you sure you want to sign out?"
msgstr ""
+#: templates/account/logout.html:19
+msgid "Back to Site"
+msgstr ""
+
#: templates/account/password_reset.html:5
#: templates/account/password_reset.html:12
msgid "Password Reset"
msgstr ""
#: templates/account/password_reset.html:18
-msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it."
+msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it."
msgstr ""
#: templates/account/password_reset.html:23
@@ -6656,11 +6560,13 @@ msgstr ""
msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
msgstr ""
-#: templates/account/password_reset_from_key.html:17
-msgid "change password"
-msgstr ""
+#: templates/account/password_reset_from_key.html:18
+#, fuzzy
+#| msgid "Enter password"
+msgid "Change password"
+msgstr "Wprowadź hasło"
-#: templates/account/password_reset_from_key.html:20
+#: templates/account/password_reset_from_key.html:22
msgid "Your password is now changed."
msgstr ""
@@ -6677,6 +6583,87 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/admin_button.html:2
+msgid "View in administration panel"
+msgstr ""
+
+#: templates/base.html:96
+msgid "Server Restart Required"
+msgstr ""
+
+#: templates/base.html:99
+msgid "A configuration option has been changed which requires a server restart"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Contact your system administrator for further information"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:7
+#, fuzzy
+#| msgid "User responsible for this build order"
+msgid "Stock is required for the following build order"
+msgstr "Użytkownik odpowiedzialny za to zamówienie budowy"
+
+#: templates/email/build_order_required_stock.html:8
+#, python-format
+msgid "Build order %(build)s - building %(quantity)s x %(part)s"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:10
+msgid "Click on the following link to view this build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:14
+msgid "The following parts are low on required stock"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:18
+#: templates/js/translated/bom.js:989
+#, fuzzy
+#| msgid "Build Quantity"
+msgid "Required Quantity"
+msgstr "Ilość do stworzenia"
+
+#: templates/email/build_order_required_stock.html:19
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129
+#: templates/js/translated/build.js:1749
+msgid "Available"
+msgstr "Dostępne"
+
+#: templates/email/build_order_required_stock.html:38
+#: templates/email/low_stock_notification.html:31
+msgid "You are receiving this email because you are subscribed to notifications for this part "
+msgstr ""
+
+#: templates/email/email.html:35
+#, fuzzy
+#| msgid "InvenTree Instance Name"
+msgid "InvenTree version"
+msgstr "Nazwa instancji InvenTree"
+
+#: templates/email/low_stock_notification.html:7
+#, python-format
+msgid " The available stock for %(part)s has fallen below the configured minimum level"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:9
+msgid "Click on the following link to view this part"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:17
+#, fuzzy
+#| msgid "Part Stock"
+msgid "Total Stock"
+msgstr "Zapasy części"
+
+#: templates/email/low_stock_notification.html:19
+#, fuzzy
+#| msgid "Build Quantity"
+msgid "Minimum Quantity"
+msgstr "Ilość do stworzenia"
+
#: templates/image_download.html:8
msgid "Specify URL for downloading image"
msgstr ""
@@ -6693,138 +6680,59 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/report.js:47 templates/js/translated/report.js:67
-msgid "items selected"
-msgstr ""
-
-#: templates/js/report.js:55 templates/js/translated/report.js:75
-msgid "Select Report Template"
-msgstr ""
-
-#: templates/js/report.js:70 templates/js/translated/report.js:90
-msgid "Select Test Report Template"
-msgstr ""
-
-#: templates/js/report.js:98 templates/js/translated/label.js:29
-#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/report.js:99 templates/js/translated/report.js:119
-msgid "Stock item(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:116 templates/js/report.js:169
-#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331 templates/js/translated/report.js:136
-#: templates/js/translated/report.js:189 templates/js/translated/report.js:243
-#: templates/js/translated/report.js:297 templates/js/translated/report.js:351
-msgid "No Reports Found"
-msgstr ""
-
-#: templates/js/report.js:117 templates/js/translated/report.js:137
-msgid "No report templates found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/report.js:152 templates/js/translated/report.js:172
-msgid "Select Builds"
-msgstr ""
-
-#: templates/js/report.js:153 templates/js/translated/report.js:173
-msgid "Build(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:170 templates/js/translated/report.js:190
-msgid "No report templates found which match selected build(s)"
-msgstr ""
-
-#: templates/js/report.js:205 templates/js/translated/build.js:948
-#: templates/js/translated/label.js:134 templates/js/translated/report.js:225
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/report.js:206 templates/js/translated/report.js:226
-msgid "Part(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:224 templates/js/translated/report.js:244
-msgid "No report templates found which match selected part(s)"
-msgstr ""
-
-#: templates/js/report.js:259 templates/js/translated/report.js:279
-msgid "Select Purchase Orders"
-msgstr ""
-
-#: templates/js/report.js:260 templates/js/translated/report.js:280
-msgid "Purchase Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/report.js:278 templates/js/report.js:332
-#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
-msgid "No report templates found which match selected orders"
-msgstr ""
-
-#: templates/js/report.js:313 templates/js/translated/report.js:333
-msgid "Select Sales Orders"
-msgstr ""
-
-#: templates/js/report.js:314 templates/js/translated/report.js:334
-msgid "Sales Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053
+#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035
msgid "No response from the InvenTree server"
msgstr ""
-#: templates/js/translated/api.js:181
+#: templates/js/translated/api.js:191
msgid "Error 400: Bad request"
msgstr ""
-#: templates/js/translated/api.js:182
+#: templates/js/translated/api.js:192
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063
+#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049
msgid "Error 403: Permission Denied"
msgstr "Błąd 403: Odmowa dostępu"
-#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050
msgid "You do not have the required permissions to access this function"
msgstr "Nie masz uprawnień wymaganych do dostępu do tej funkcji"
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055
msgid "The requested resource could not be located on the server"
msgstr ""
-#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060
msgid "Connection timeout while requesting data from server"
msgstr ""
-#: templates/js/translated/api.js:205
+#: templates/js/translated/api.js:215
msgid "Unhandled Error Code"
msgstr ""
-#: templates/js/translated/api.js:206
+#: templates/js/translated/api.js:216
msgid "Error code"
msgstr ""
@@ -6832,292 +6740,391 @@ msgstr ""
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:91
+#: templates/js/translated/attachment.js:95
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:104
+#: templates/js/translated/attachment.js:108
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:115
msgid "Delete attachment"
msgstr ""
-#: templates/js/translated/barcode.js:30
+#: templates/js/translated/barcode.js:29
msgid "Scan barcode data here using wedge scanner"
msgstr ""
-#: templates/js/translated/barcode.js:32
+#: templates/js/translated/barcode.js:31
msgid "Enter barcode data"
msgstr ""
-#: templates/js/translated/barcode.js:36
+#: templates/js/translated/barcode.js:35
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:54
+#: templates/js/translated/barcode.js:53
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:55
+#: templates/js/translated/barcode.js:54
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:93
+#: templates/js/translated/barcode.js:92
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:114
+#: templates/js/translated/barcode.js:113
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:141
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/barcode.js:140
+#: templates/js/translated/modals.js:1024
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:234
+#: templates/js/translated/barcode.js:233
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:281 templates/navbar.html:65
+#: templates/js/translated/barcode.js:280 templates/navbar.html:69
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:292
+#: templates/js/translated/barcode.js:291
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:310
+#: templates/js/translated/barcode.js:309
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:333
+#: templates/js/translated/barcode.js:332
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:339
+#: templates/js/translated/barcode.js:338
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273
+#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:440
+#: templates/js/translated/barcode.js:439
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:444
-#: templates/js/translated/barcode.js:571
+#: templates/js/translated/barcode.js:443
+#: templates/js/translated/barcode.js:573
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:486
-#: templates/js/translated/barcode.js:610
+#: templates/js/translated/barcode.js:485
+#: templates/js/translated/barcode.js:612
msgid "Error transferring stock"
msgstr ""
-#: templates/js/translated/barcode.js:505
+#: templates/js/translated/barcode.js:507
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:509
+#: templates/js/translated/barcode.js:511
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:516
+#: templates/js/translated/barcode.js:518
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:523
+#: templates/js/translated/barcode.js:525
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:566
+#: templates/js/translated/barcode.js:568
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:629
+#: templates/js/translated/barcode.js:633
msgid "Barcode does not match a valid location"
msgstr ""
-#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495
+#: templates/js/translated/bom.js:184
+#, fuzzy
+#| msgid "Remove part"
+msgid "Remove substitute part"
+msgstr "Usuń część"
+
+#: templates/js/translated/bom.js:226
+msgid "Select and add a new variant item using the input below"
+msgstr ""
+
+#: templates/js/translated/bom.js:237
+#, fuzzy
+#| msgid "Are you sure you wish to cancel this build?"
+msgid "Are you sure you wish to remove this substitute part link?"
+msgstr "Czy na pewno przerwać tę budowę?"
+
+#: templates/js/translated/bom.js:243
+#, fuzzy
+#| msgid "Remove part"
+msgid "Remove Substitute Part"
+msgstr "Usuń część"
+
+#: templates/js/translated/bom.js:282
+msgid "Add Substitute"
+msgstr ""
+
+#: templates/js/translated/bom.js:283
+msgid "Edit BOM Item Substitutes"
+msgstr ""
+
+#: templates/js/translated/bom.js:402
+#, fuzzy
+#| msgid "Available"
+msgid "Substitutes Available"
+msgstr "Dostępne"
+
+#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111
+msgid "Variant stock allowed"
+msgstr ""
+
+#: templates/js/translated/bom.js:411
msgid "Open subassembly"
msgstr ""
-#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744
-#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522
-msgid "Available"
-msgstr "Dostępne"
+#: templates/js/translated/bom.js:483
+msgid "Substitutes"
+msgstr ""
-#: templates/js/translated/bom.js:307
+#: templates/js/translated/bom.js:498
msgid "Purchase Price Range"
msgstr ""
-#: templates/js/translated/bom.js:314
+#: templates/js/translated/bom.js:505
msgid "Purchase Price Average"
msgstr ""
-#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449
+#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798
-#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285
+#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183
+#: templates/js/translated/order.js:1298
msgid "Actions"
msgstr "Akcje"
-#: templates/js/translated/bom.js:423
+#: templates/js/translated/bom.js:614
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:425
+#: templates/js/translated/bom.js:616
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590
+#: templates/js/translated/bom.js:618
+#, fuzzy
+#| msgid "Edit manufacturer part"
+msgid "Edit substitute parts"
+msgstr "Edytuj część producenta"
+
+#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575
+#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:1593
+#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/build.js:71
-msgid "Edit Build Order"
-msgstr ""
+#: templates/js/translated/bom.js:772
+#, fuzzy
+#| msgid "Are you sure you want to delete this stock item?"
+msgid "Are you sure you want to delete this BOM item?"
+msgstr "Czy na pewno chcesz usunąć tą część?"
-#: templates/js/translated/build.js:105
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/translated/build.js:138
-msgid "Allocate stock items to this build output"
-msgstr ""
-
-#: templates/js/translated/build.js:146
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/translated/build.js:155
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:164
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:265
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356
-#: templates/js/translated/order.js:1292
-msgid "Edit stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357
-#: templates/js/translated/order.js:1293
-msgid "Delete stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:695
-msgid "Edit Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:705
-msgid "Remove Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:718
+#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095
msgid "Required Part"
msgstr ""
-#: templates/js/translated/build.js:739
+#: templates/js/translated/bom.js:994
+msgid "Inherited from parent BOM"
+msgstr ""
+
+#: templates/js/translated/build.js:78
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:112
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:133
+msgid "Allocate stock items to this build output"
+msgstr ""
+
+#: templates/js/translated/build.js:144
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:153
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:161
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:184
+#, fuzzy
+#| msgid "Are you sure you wish to unallocate all stock for this build?"
+msgid "Are you sure you wish to unallocate stock items from this build?"
+msgstr "Czy na pewno chcesz cofnąć przydział wszystkich zapasów dla tej budowy?"
+
+#: templates/js/translated/build.js:202
+#, fuzzy
+#| msgid "Unallocate Stock"
+msgid "Unallocate Stock Items"
+msgstr "Cofnij przydział zapasów"
+
+#: templates/js/translated/build.js:220
+#, fuzzy
+#| msgid "Create Build Output"
+msgid "Select Build Outputs"
+msgstr "Utwórz zlecenie budowy"
+
+#: templates/js/translated/build.js:221
+msgid "At least one build output must be selected"
+msgstr ""
+
+#: templates/js/translated/build.js:275
+msgid "Output"
+msgstr ""
+
+#: templates/js/translated/build.js:291
+#, fuzzy
+#| msgid "Create Build Output"
+msgid "Complete Build Outputs"
+msgstr "Utwórz zlecenie budowy"
+
+#: templates/js/translated/build.js:386
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:603
+#, fuzzy
+#| msgid "No build output specified"
+msgid "No active build outputs found"
+msgstr "Nie określono danych wyjściowych budowy"
+
+#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760
+#: templates/js/translated/order.js:1305
+msgid "Edit stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761
+#: templates/js/translated/order.js:1306
+msgid "Delete stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1072
+msgid "Edit Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1082
+msgid "Remove Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1107
+msgid "Substitute parts available"
+msgstr ""
+
+#: templates/js/translated/build.js:1124
msgid "Quantity Per"
msgstr "Ilość za"
-#: templates/js/translated/build.js:749 templates/js/translated/build.js:975
-#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514
+#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360
+#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535
msgid "Allocated"
msgstr "Przydzielono"
-#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553
-#: templates/js/translated/order.js:1567
+#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557
-#: templates/stock_table.html:59
+#: templates/js/translated/build.js:1194 templates/stock_table.html:52
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560
+#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:880
+#: templates/js/translated/build.js:1262
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:949
+#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134
+#: templates/js/translated/report.js:225
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/translated/build.js:1334
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:963
+#: templates/js/translated/build.js:1348
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:992
+#: templates/js/translated/build.js:1377
msgid "Confirm stock allocation"
msgstr "Potwierdź przydział zapasów"
-#: templates/js/translated/build.js:993
+#: templates/js/translated/build.js:1378
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:1004
+#: templates/js/translated/build.js:1389
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:1048
+#: templates/js/translated/build.js:1451
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:1172
+#: templates/js/translated/build.js:1576
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856
-#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762
-#: templates/js/translated/stock.js:1456
+#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873
+#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064
+#: templates/js/translated/stock.js:1841
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:1209
+#: templates/js/translated/build.js:1613
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675
+#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:1282
+#: templates/js/translated/build.js:1686
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:1333
+#: templates/js/translated/build.js:1737
msgid "No parts allocated for"
msgstr ""
@@ -7137,7 +7144,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:164 templates/js/translated/order.js:89
+#: templates/js/translated/company.js:164 templates/js/translated/order.js:90
msgid "Add Supplier"
msgstr ""
@@ -7186,34 +7193,34 @@ msgid "No manufacturer parts found"
msgstr ""
#: templates/js/translated/company.js:496
-#: templates/js/translated/company.js:753 templates/js/translated/part.js:427
-#: templates/js/translated/part.js:512
+#: templates/js/translated/company.js:753 templates/js/translated/part.js:448
+#: templates/js/translated/part.js:533
msgid "Template part"
msgstr ""
#: templates/js/translated/company.js:500
-#: templates/js/translated/company.js:757 templates/js/translated/part.js:431
-#: templates/js/translated/part.js:516
+#: templates/js/translated/company.js:757 templates/js/translated/part.js:452
+#: templates/js/translated/part.js:537
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:627 templates/js/translated/part.js:604
+#: templates/js/translated/company.js:627 templates/js/translated/part.js:625
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:664 templates/js/translated/part.js:646
+#: templates/js/translated/company.js:664 templates/js/translated/part.js:667
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:665 templates/js/translated/part.js:647
+#: templates/js/translated/company.js:665 templates/js/translated/part.js:668
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:684 templates/js/translated/part.js:664
+#: templates/js/translated/company.js:684 templates/js/translated/part.js:685
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:695 templates/js/translated/part.js:676
+#: templates/js/translated/company.js:695 templates/js/translated/part.js:697
msgid "Delete Parameter"
msgstr ""
@@ -7222,12 +7229,12 @@ msgid "No supplier parts found"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:407
+#: templates/js/translated/filters.js:420
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:408
+#: templates/js/translated/filters.js:421
msgid "false"
msgstr ""
@@ -7235,57 +7242,63 @@ msgstr ""
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:284
+#: templates/js/translated/filters.js:286
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:286
+#: templates/js/translated/filters.js:290
msgid "Add new filter"
msgstr "Dodaj nowy filtr"
-#: templates/js/translated/filters.js:289
+#: templates/js/translated/filters.js:293
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:317
+#: templates/js/translated/filters.js:329
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336
-#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360
+#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364
+#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:324
+#: templates/js/translated/forms.js:351
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:337
+#: templates/js/translated/forms.js:366
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:349
+#: templates/js/translated/forms.js:380
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:361
+#: templates/js/translated/forms.js:394
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:968 templates/modals.html:21
-#: templates/modals.html:47
+#: templates/js/translated/forms.js:679
+#, fuzzy
+#| msgid "Must be a valid number"
+msgid "Enter a valid number"
+msgstr "Numer musi być prawidłowy"
+
+#: templates/js/translated/forms.js:1071 templates/modals.html:19
+#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1323
+#: templates/js/translated/forms.js:1457
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1525
+#: templates/js/translated/forms.js:1661
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:1742
+#: templates/js/translated/forms.js:1878
msgid "Clear input"
msgstr ""
@@ -7297,6 +7310,11 @@ msgstr ""
msgid "NO"
msgstr ""
+#: templates/js/translated/label.js:29 templates/js/translated/report.js:118
+#: templates/js/translated/stock.js:594
+msgid "Select Stock Items"
+msgstr ""
+
#: templates/js/translated/label.js:30
msgid "Stock item(s) must be selected before printing labels"
msgstr ""
@@ -7342,62 +7360,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119
+#: templates/js/translated/modals.js:593
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981
-#: templates/modals.html:30 templates/modals.html:55
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963
+#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:117
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:397
+#: templates/js/translated/modals.js:380
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:556
+#: templates/js/translated/modals.js:539
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:592
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:649
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:945
+#: templates/js/translated/modals.js:927
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/modals.js:1024
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1057
+#: templates/js/translated/modals.js:1039
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1058
+#: templates/js/translated/modals.js:1040
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1081
+#: templates/js/translated/modals.js:1063
msgid "Error requesting form data"
msgstr ""
@@ -7405,35 +7423,35 @@ msgstr ""
msgid "Company ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:90
+#: templates/js/translated/model_renderers.js:77
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:125
+#: templates/js/translated/model_renderers.js:130
msgid "Location ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:142
+#: templates/js/translated/model_renderers.js:147
msgid "Build ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:177
+#: templates/js/translated/model_renderers.js:182
msgid "Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:231
+#: templates/js/translated/model_renderers.js:236
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:251
+#: templates/js/translated/model_renderers.js:256
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:288
+#: templates/js/translated/model_renderers.js:293
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:317
+#: templates/js/translated/model_renderers.js:322
msgid "Supplier Part ID"
msgstr ""
@@ -7445,565 +7463,712 @@ msgstr ""
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:207
+#: templates/js/translated/order.js:208
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96
+#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393
msgid "Format"
msgstr ""
-#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97
+#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394
msgid "Select file format"
msgstr ""
-#: templates/js/translated/order.js:299
+#: templates/js/translated/order.js:300
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:300
+#: templates/js/translated/order.js:301
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:325
+#: templates/js/translated/order.js:326
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343
+#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:426
+#: templates/js/translated/order.js:427
msgid "Order Code"
msgstr "Kod zamówienia"
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:428
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:429
+#: templates/js/translated/order.js:430
msgid "Receive"
msgstr "Odbierz"
-#: templates/js/translated/order.js:448
+#: templates/js/translated/order.js:449
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:449
+#: templates/js/translated/order.js:450
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:626
+#: templates/js/translated/order.js:627
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028
+#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602
+#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613
+#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:800
+#: templates/js/translated/order.js:801
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432
+#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457
-#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554
+#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470
+#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693
msgid "Unit Price"
msgstr "Cena jednostkowa"
-#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464
-msgid "Total price"
-msgstr ""
+#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486
+#, fuzzy
+#| msgid "Sale Price"
+msgid "Total Price"
+msgstr "Cena sprzedaży"
-#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573
+#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:963
+#: templates/js/translated/order.js:976
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:967
+#: templates/js/translated/order.js:980
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1004
+#: templates/js/translated/order.js:1017
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1055
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1120
+#: templates/js/translated/order.js:1133
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:1213
+#: templates/js/translated/order.js:1226
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1231
+#: templates/js/translated/order.js:1244
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1273
+#: templates/js/translated/order.js:1286
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:1514
+#: templates/js/translated/order.js:1535
msgid "Fulfilled"
msgstr ""
-#: templates/js/translated/order.js:1557
+#: templates/js/translated/order.js:1579
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1585
msgid "Purchase stock"
msgstr "Cena zakupu"
-#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725
+#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771
msgid "Calculate price"
msgstr "Oblicz cenę"
-#: templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1596
msgid "Delete line item "
msgstr ""
-#: templates/js/translated/order.js:1673
+#: templates/js/translated/order.js:1719
msgid "Allocate Stock Item"
msgstr ""
-#: templates/js/translated/order.js:1733
+#: templates/js/translated/order.js:1779
msgid "Update Unit Price"
msgstr "Zaktualizuj cenę jednostkową"
-#: templates/js/translated/order.js:1747
+#: templates/js/translated/order.js:1793
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/part.js:49
+#: templates/js/translated/part.js:50
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:53
+#: templates/js/translated/part.js:54
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:57
+#: templates/js/translated/part.js:58
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:61
+#: templates/js/translated/part.js:62
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:75
+#: templates/js/translated/part.js:76
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:164
+#: templates/js/translated/part.js:165
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:165
+#: templates/js/translated/part.js:166
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:172
+#: templates/js/translated/part.js:173
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:173
+#: templates/js/translated/part.js:174
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:180
+#: templates/js/translated/part.js:181
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:191
+#: templates/js/translated/part.js:192
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:192
+#: templates/js/translated/part.js:193
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:201
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:202
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:257
+#: templates/js/translated/part.js:258
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:258
+#: templates/js/translated/part.js:259
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:265
-msgid "Copy BOM"
-msgstr "Kopiuj BOM"
-
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:267
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:273
+#: templates/js/translated/part.js:274
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:274
+#: templates/js/translated/part.js:275
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:287
+#: templates/js/translated/part.js:288
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:331
+#: templates/js/translated/part.js:332
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:419 templates/js/translated/part.js:504
+#: templates/js/translated/part.js:334
+#, fuzzy
+#| msgid "Part List"
+msgid "Part edited"
+msgstr "Lista części"
+
+#: templates/js/translated/part.js:402
+msgid "You are subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:404
+msgid "You have subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:409
+msgid "Subscribe to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:411
+msgid "You have unsubscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:440 templates/js/translated/part.js:525
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:423 templates/js/translated/part.js:508
+#: templates/js/translated/part.js:444 templates/js/translated/part.js:529
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:435
-msgid "Starred part"
-msgstr ""
+#: templates/js/translated/part.js:456
+#, fuzzy
+#| msgid "Sub part"
+msgid "Subscribed part"
+msgstr "Podczęść"
-#: templates/js/translated/part.js:439
+#: templates/js/translated/part.js:460
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:554
+#: templates/js/translated/part.js:575
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005
+#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:932
+#: templates/js/translated/part.js:933
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:955
-#: templates/js/translated/table_filters.js:359
+#: templates/js/translated/part.js:956
+#: templates/js/translated/table_filters.js:375
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480
+#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200
+#: templates/js/translated/stock.js:1802
+#, fuzzy
+#| msgid "Display list view"
+msgid "Display as list"
+msgstr "Pokaż widok listy"
+
+#: templates/js/translated/part.js:1044
+#, fuzzy
+#| msgid "Display list view"
+msgid "Display as grid"
+msgstr "Pokaż widok listy"
+
+#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821
+#, fuzzy
+#| msgid "Display list view"
+msgid "Display as tree"
+msgstr "Pokaż widok listy"
+
+#: templates/js/translated/part.js:1283
+#, fuzzy
+#| msgid "Set category"
+msgid "Subscribed category"
+msgstr "Ustaw kategorię"
+
+#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1202
+#: templates/js/translated/part.js:1341
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493
+#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494
+#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1260
+#: templates/js/translated/part.js:1399
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1282
+#: templates/js/translated/part.js:1421
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1296
+#: templates/js/translated/part.js:1435
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1321
+#: templates/js/translated/part.js:1460
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1376
+#: templates/js/translated/part.js:1515
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1377
+#: templates/js/translated/part.js:1516
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1478
+#: templates/js/translated/part.js:1617
msgid "Single Price"
msgstr "Cena jednostkowa"
-#: templates/js/translated/part.js:1497
+#: templates/js/translated/part.js:1636
msgid "Single Price Difference"
msgstr ""
-#: templates/js/translated/stock.js:63
+#: templates/js/translated/report.js:67
+msgid "items selected"
+msgstr ""
+
+#: templates/js/translated/report.js:75
+msgid "Select Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:90
+msgid "Select Test Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:119
+msgid "Stock item(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:136 templates/js/translated/report.js:189
+#: templates/js/translated/report.js:243 templates/js/translated/report.js:297
+#: templates/js/translated/report.js:351
+msgid "No Reports Found"
+msgstr ""
+
+#: templates/js/translated/report.js:137
+msgid "No report templates found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:172
+msgid "Select Builds"
+msgstr ""
+
+#: templates/js/translated/report.js:173
+msgid "Build(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:190
+msgid "No report templates found which match selected build(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:226
+msgid "Part(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:244
+msgid "No report templates found which match selected part(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:279
+msgid "Select Purchase Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:280
+msgid "Purchase Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
+msgid "No report templates found which match selected orders"
+msgstr ""
+
+#: templates/js/translated/report.js:333
+msgid "Select Sales Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:334
+msgid "Sales Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/stock.js:70
+#, fuzzy
+#| msgid "Stock Item"
+msgid "Serialize Stock Item"
+msgstr "Element magazynowy"
+
+#: templates/js/translated/stock.js:90
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:126
+#, fuzzy
+#| msgid "New Location"
+msgid "New Stock Location"
+msgstr "Nowa lokalizacja"
+
+#: templates/js/translated/stock.js:189
+#, fuzzy
+#| msgid "Enter quantity of stock items"
+msgid "Enter initial quantity for this stock item"
+msgstr "Wprowadź ilość produktów magazynowych"
+
+#: templates/js/translated/stock.js:195
+msgid "Enter serial numbers for new stock (or leave blank)"
+msgstr ""
+
+#: templates/js/translated/stock.js:338
+#, fuzzy
+#| msgid "Create new Stock Location"
+msgid "Created new stock item"
+msgstr "Utwórz nową lokalizację magazynową"
+
+#: templates/js/translated/stock.js:351
+#, fuzzy
+#| msgid "Enter quantity of stock items"
+msgid "Created multiple stock items"
+msgstr "Wprowadź ilość produktów magazynowych"
+
+#: templates/js/translated/stock.js:390
msgid "Export Stock"
msgstr ""
-#: templates/js/translated/stock.js:104
+#: templates/js/translated/stock.js:401
msgid "Include Sublocations"
msgstr ""
-#: templates/js/translated/stock.js:105
+#: templates/js/translated/stock.js:402
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:444
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:148
+#: templates/js/translated/stock.js:445
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:154
+#: templates/js/translated/stock.js:451
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:155
+#: templates/js/translated/stock.js:452
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:159
+#: templates/js/translated/stock.js:456
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:160
+#: templates/js/translated/stock.js:457
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:164
+#: templates/js/translated/stock.js:461
msgid "Add Stock"
msgstr "Dodaj stan"
-#: templates/js/translated/stock.js:165 users/models.py:195
+#: templates/js/translated/stock.js:462 users/models.py:200
msgid "Add"
msgstr "Dodaj"
-#: templates/js/translated/stock.js:169 templates/stock_table.html:63
+#: templates/js/translated/stock.js:466 templates/stock_table.html:56
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:298
+#: templates/js/translated/stock.js:595
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:456
+#: templates/js/translated/stock.js:753
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:458
+#: templates/js/translated/stock.js:755
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:463
+#: templates/js/translated/stock.js:760
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:489
+#: templates/js/translated/stock.js:782
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:515
+#: templates/js/translated/stock.js:808
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:563
+#: templates/js/translated/stock.js:865
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:670
+#: templates/js/translated/stock.js:972
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:674
+#: templates/js/translated/stock.js:976
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:678
+#: templates/js/translated/stock.js:980
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:984
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:688
+#: templates/js/translated/stock.js:990
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:844
+#: templates/js/translated/stock.js:1148
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:849
+#: templates/js/translated/stock.js:1153
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:852
+#: templates/js/translated/stock.js:1156
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:856
+#: templates/js/translated/stock.js:1160
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:858
+#: templates/js/translated/stock.js:1162
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:1166
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:866
+#: templates/js/translated/stock.js:1170
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:873
+#: templates/js/translated/stock.js:1177
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:1179
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:877
+#: templates/js/translated/stock.js:1181
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:881
-#: templates/js/translated/table_filters.js:161
+#: templates/js/translated/stock.js:1185
+#: templates/js/translated/table_filters.js:177
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:935
+#: templates/js/translated/stock.js:1235
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1308
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1046
+#: templates/js/translated/stock.js:1346
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115
+#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415
msgid "items"
msgstr ""
-#: templates/js/translated/stock.js:1155
+#: templates/js/translated/stock.js:1455
msgid "batches"
msgstr ""
-#: templates/js/translated/stock.js:1182
+#: templates/js/translated/stock.js:1482
msgid "locations"
msgstr ""
-#: templates/js/translated/stock.js:1184
+#: templates/js/translated/stock.js:1484
msgid "Undefined location"
msgstr ""
-#: templates/js/translated/stock.js:1358
+#: templates/js/translated/stock.js:1658
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:1372
+#: templates/js/translated/stock.js:1672
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:1373
+#: templates/js/translated/stock.js:1673
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:1512
+#: templates/js/translated/stock.js:1897
msgid "Invalid date"
msgstr ""
-#: templates/js/translated/stock.js:1559
+#: templates/js/translated/stock.js:1919
+msgid "Details"
+msgstr "Szczegóły"
+
+#: templates/js/translated/stock.js:1944
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1578
+#: templates/js/translated/stock.js:1963
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1597
+#: templates/js/translated/stock.js:1982
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1615
+#: templates/js/translated/stock.js:2000
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1638
+#: templates/js/translated/stock.js:2023
msgid "Added"
msgstr "Dodano"
-#: templates/js/translated/stock.js:1646
+#: templates/js/translated/stock.js:2031
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:1687
+#: templates/js/translated/stock.js:2072
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1688
+#: templates/js/translated/stock.js:2073
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:2124
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:1835
-msgid "Serial"
-msgstr ""
-
-#: templates/js/translated/stock.js:1863
+#: templates/js/translated/stock.js:2175
msgid "Uninstall Stock Item"
msgstr ""
@@ -8023,254 +8188,266 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:156
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:172
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:93
+#: templates/js/translated/table_filters.js:105
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:103
-#: templates/js/translated/table_filters.js:104
-#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:115
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:352
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:114
-#: templates/js/translated/table_filters.js:191
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:117
-#: templates/js/translated/table_filters.js:198
-msgid "Serial number GTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:118
-#: templates/js/translated/table_filters.js:199
-msgid "Serial number greater than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:121
-#: templates/js/translated/table_filters.js:202
-msgid "Serial number LTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:122
-#: templates/js/translated/table_filters.js:203
-msgid "Serial number less than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:125
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:195
-msgid "Serial number"
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:387
+msgid "Subscribed"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:212
-msgid "Batch code"
+#: templates/js/translated/table_filters.js:207
+msgid "Is Serialized"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:214
+msgid "Serial number GTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:134
+#: templates/js/translated/table_filters.js:215
+msgid "Serial number greater than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:137
+#: templates/js/translated/table_filters.js:218
+msgid "Serial number LTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:138
+#: templates/js/translated/table_filters.js:219
+msgid "Serial number less than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:141
-#: templates/js/translated/table_filters.js:326
-msgid "Active parts"
-msgstr ""
-
#: templates/js/translated/table_filters.js:142
-msgid "Show stock for active parts"
+#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:211
+msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:147
-msgid "Part is an assembly"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:151
-msgid "Is allocated"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:152
-msgid "Item has been allocated"
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:228
+msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:157
-msgid "Include stock in sublocations"
+#: templates/js/translated/table_filters.js:342
+msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:162
-msgid "Show stock items which are depleted"
+#: templates/js/translated/table_filters.js:158
+msgid "Show stock for active parts"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:163
+msgid "Part is an assembly"
msgstr ""
#: templates/js/translated/table_filters.js:167
+msgid "Is allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:168
+msgid "Item has been allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:173
+msgid "Include stock in sublocations"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:178
+msgid "Show stock items which are depleted"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:183
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:187
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:188
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:176
+#: templates/js/translated/table_filters.js:192
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:177
+#: templates/js/translated/table_filters.js:193
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:197
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:182
+#: templates/js/translated/table_filters.js:198
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:187
+#: templates/js/translated/table_filters.js:203
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:207
-#: templates/js/translated/table_filters.js:208
+#: templates/js/translated/table_filters.js:223
+#: templates/js/translated/table_filters.js:224
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/table_filters.js:232
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:233
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:242
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:248
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:279
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:291
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:307
+#: templates/js/translated/table_filters.js:324
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:296
-#: templates/js/translated/table_filters.js:313
+#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:329
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:337
+#: templates/js/translated/table_filters.js:353
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:341
+#: templates/js/translated/table_filters.js:357
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:342
+#: templates/js/translated/table_filters.js:358
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:347
+#: templates/js/translated/table_filters.js:363
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:355
+#: templates/js/translated/table_filters.js:371
msgid "Stock available"
msgstr ""
-#: templates/js/translated/table_filters.js:371
-msgid "Starred"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:383
+#: templates/js/translated/table_filters.js:399
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/tables.js:366
+#: templates/js/translated/tables.js:368
msgid "Loading data"
msgstr ""
-#: templates/js/translated/tables.js:369
+#: templates/js/translated/tables.js:371
msgid "rows per page"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "Showing"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "to"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "of"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "rows"
msgstr ""
-#: templates/js/translated/tables.js:378
+#: templates/js/translated/tables.js:377 templates/search_form.html:6
+#: templates/search_form.html:7
+msgid "Search"
+msgstr ""
+
+#: templates/js/translated/tables.js:380
msgid "No matching results"
msgstr ""
-#: templates/js/translated/tables.js:381
+#: templates/js/translated/tables.js:383
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/translated/tables.js:384
+#: templates/js/translated/tables.js:386
msgid "Refresh"
msgstr ""
-#: templates/js/translated/tables.js:387
+#: templates/js/translated/tables.js:389
msgid "Toggle"
msgstr ""
-#: templates/js/translated/tables.js:390
+#: templates/js/translated/tables.js:392
msgid "Columns"
msgstr ""
-#: templates/js/translated/tables.js:393
+#: templates/js/translated/tables.js:395
msgid "All"
msgstr ""
-#: templates/navbar.html:19
-msgid "Toggle navigation"
-msgstr ""
-
-#: templates/navbar.html:39
+#: templates/navbar.html:40
msgid "Buy"
msgstr ""
-#: templates/navbar.html:51
+#: templates/navbar.html:52
msgid "Sell"
msgstr ""
-#: templates/navbar.html:83 users/models.py:39
+#: templates/navbar.html:86 users/models.py:39
msgid "Admin"
msgstr ""
-#: templates/navbar.html:85
+#: templates/navbar.html:88
msgid "Logout"
msgstr ""
-#: templates/navbar.html:106
+#: templates/navbar.html:90
+msgid "Login"
+msgstr ""
+
+#: templates/navbar.html:111
msgid "About InvenTree"
msgstr ""
+#: templates/navbar_demo.html:5
+#, fuzzy
+#| msgid "InvenTree Instance Name"
+msgid "InvenTree demo mode"
+msgstr "Nazwa instancji InvenTree"
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -8283,6 +8460,10 @@ msgstr ""
msgid "Log in again"
msgstr ""
+#: templates/stats.html:9
+msgid "Server"
+msgstr ""
+
#: templates/stats.html:13
msgid "Instance Name"
msgstr ""
@@ -8336,54 +8517,50 @@ msgid "Export Stock Information"
msgstr ""
#: templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/stock_table.html:27
msgid "Barcode Actions"
msgstr ""
-#: templates/stock_table.html:43
+#: templates/stock_table.html:36
msgid "Print test reports"
msgstr ""
-#: templates/stock_table.html:50
+#: templates/stock_table.html:43
msgid "Stock Options"
msgstr ""
-#: templates/stock_table.html:55
+#: templates/stock_table.html:48
msgid "Add to selected stock items"
msgstr ""
-#: templates/stock_table.html:56
+#: templates/stock_table.html:49
msgid "Remove from selected stock items"
msgstr ""
-#: templates/stock_table.html:57
+#: templates/stock_table.html:50
msgid "Stocktake selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move stock"
msgstr ""
-#: templates/stock_table.html:59
+#: templates/stock_table.html:52
msgid "Order selected items"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change status"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change stock status"
msgstr ""
-#: templates/stock_table.html:63
+#: templates/stock_table.html:56
msgid "Delete selected items"
msgstr ""
@@ -8419,35 +8596,100 @@ msgstr "Uprawnienia"
msgid "Important dates"
msgstr ""
-#: users/models.py:182
+#: users/models.py:187
msgid "Permission set"
msgstr "Uprawnienia nadane"
-#: users/models.py:190
+#: users/models.py:195
msgid "Group"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "View"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "Permission to view items"
msgstr "Uprawnienie do wyświetlania przedmiotów"
-#: users/models.py:195
+#: users/models.py:200
msgid "Permission to add items"
msgstr "Uprawnienie do dodawania przedmiotów"
-#: users/models.py:197
+#: users/models.py:202
msgid "Change"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Permissions to edit items"
msgstr "Uprawnienie do edycji przedmiotów"
-#: users/models.py:199
+#: users/models.py:204
msgid "Permission to delete items"
msgstr "Uprawnienie do usuwania przedmiotów"
+#~ msgid "Build Order reference"
+#~ msgstr "Numer Zlecenia Budowy"
+
+#~ msgid "Confirm unallocation of stock"
+#~ msgstr "Potwierdź brak alokacji zapasów"
+
+#~ msgid "Confirm incomplete"
+#~ msgstr "Potwierdź nieukończone"
+
+#~ msgid "Admin view"
+#~ msgstr "Widok administratora"
+
+#~ msgid "Progress"
+#~ msgstr "Postęp"
+
+#~ msgid "Create New Output"
+#~ msgstr "Utwórz nowe wyjście"
+
+#~ msgid "Build Order Details"
+#~ msgstr "Szczegóły zlecenia budowy"
+
+#~ msgid "Child Builds"
+#~ msgstr "Budowy podrzędne"
+
+#~ msgid "Build Order Notes"
+#~ msgstr "Notatki zlecenia budowy"
+
+#~ msgid "Default"
+#~ msgstr "Domyślny"
+
+#~ msgid "Current value"
+#~ msgstr "Aktualna wartość"
+
+#~ msgid "Change Setting"
+#~ msgstr "Zmień ustawienie"
+
+#~ msgid "Manufacturer Part Details"
+#~ msgstr "Szczegóły części producenta"
+
+#~ msgid "Purchase Order Details"
+#~ msgstr "Szczegóły zamówienia"
+
+#~ msgid "Import BOM data"
+#~ msgstr "Importuj dane BOM"
+
+#~ msgid "Copy BOM from parent part"
+#~ msgstr "Kopiuj BOM z części nadrzędnej"
+
+#~ msgid "Finish Editing"
+#~ msgstr "Zakończ edycję"
+
+#~ msgid "All parts"
+#~ msgstr "Wszystkie części"
+
+#~ msgid "Used In"
+#~ msgstr "Użyte w"
+
+#~ msgid "Prices"
+#~ msgstr "Ceny"
+
+#~ msgid "Save"
+#~ msgstr "Zapisz"
+
+#~ msgid "History"
+#~ msgstr "Historia"
diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po
index 487219d34c..5162bf6bc2 100644
--- a/InvenTree/locale/pt/LC_MESSAGES/django.po
+++ b/InvenTree/locale/pt/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-11-13 22:45+1100\n"
+"POT-Creation-Date: 2021-11-22 22:08+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -115,7 +115,7 @@ msgstr ""
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/models.py:109 stock/models.py:1875
+#: InvenTree/models.py:109 stock/models.py:1874
msgid "Attachment"
msgstr ""
@@ -131,8 +131,8 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1170
-#: common/models.py:1171 part/models.py:2219 part/models.py:2239
+#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185
+#: common/models.py:1186 part/models.py:2205 part/models.py:2225
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2054
msgid "User"
@@ -172,10 +172,10 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415
-#: label/models.py:112 part/models.py:741 part/models.py:2403
+#: label/models.py:112 part/models.py:741 part/models.py:2389
#: part/templates/part/detail.html:25 report/models.py:181
-#: templates/js/translated/company.js:637 templates/js/translated/part.js:497
-#: templates/js/translated/part.js:634 templates/js/translated/part.js:1271
+#: templates/js/translated/company.js:637 templates/js/translated/part.js:498
+#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272
#: templates/js/translated/stock.js:1847
msgid "Name"
msgstr ""
@@ -188,15 +188,15 @@ msgstr ""
#: part/templates/part/set_category.html:14 report/models.py:194
#: report/models.py:553 report/models.py:592
#: report/templates/report/inventree_build_order_base.html:118
-#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:213
-#: templates/js/translated/bom.js:425 templates/js/translated/build.js:1621
+#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214
+#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621
#: templates/js/translated/company.js:344
#: templates/js/translated/company.js:547
#: templates/js/translated/company.js:836 templates/js/translated/order.js:673
#: templates/js/translated/order.js:833 templates/js/translated/order.js:1069
-#: templates/js/translated/part.js:556 templates/js/translated/part.js:744
-#: templates/js/translated/part.js:913 templates/js/translated/part.js:1290
-#: templates/js/translated/part.js:1359 templates/js/translated/stock.js:1121
+#: templates/js/translated/part.js:557 templates/js/translated/part.js:745
+#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291
+#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121
#: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904
msgid "Description"
msgstr ""
@@ -209,7 +209,7 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:62 part/models.py:2688
+#: InvenTree/serializers.py:62 part/models.py:2674
msgid "Must be a valid number"
msgstr ""
@@ -217,79 +217,83 @@ msgstr ""
msgid "Filename"
msgstr ""
-#: InvenTree/settings.py:654
+#: InvenTree/settings.py:663
msgid "German"
msgstr ""
-#: InvenTree/settings.py:655
+#: InvenTree/settings.py:664
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:656
+#: InvenTree/settings.py:665
msgid "English"
msgstr ""
-#: InvenTree/settings.py:657
+#: InvenTree/settings.py:666
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:658
-msgid "French"
-msgstr ""
-
-#: InvenTree/settings.py:659
-msgid "Hebrew"
-msgstr ""
-
-#: InvenTree/settings.py:660
-msgid "Italian"
-msgstr ""
-
-#: InvenTree/settings.py:661
-msgid "Japanese"
-msgstr ""
-
-#: InvenTree/settings.py:662
-msgid "Korean"
-msgstr ""
-
-#: InvenTree/settings.py:663
-msgid "Dutch"
-msgstr ""
-
-#: InvenTree/settings.py:664
-msgid "Norwegian"
-msgstr ""
-
-#: InvenTree/settings.py:665
-msgid "Polish"
-msgstr ""
-
-#: InvenTree/settings.py:666
-msgid "Portugese"
-msgstr ""
-
#: InvenTree/settings.py:667
-msgid "Russian"
+msgid "Spanish (Mexican)"
msgstr ""
#: InvenTree/settings.py:668
-msgid "Swedish"
+msgid "French"
msgstr ""
#: InvenTree/settings.py:669
-msgid "Thai"
+msgid "Hebrew"
msgstr ""
#: InvenTree/settings.py:670
-msgid "Turkish"
+msgid "Italian"
msgstr ""
#: InvenTree/settings.py:671
-msgid "Vietnamese"
+msgid "Japanese"
msgstr ""
#: InvenTree/settings.py:672
+msgid "Korean"
+msgstr ""
+
+#: InvenTree/settings.py:673
+msgid "Dutch"
+msgstr ""
+
+#: InvenTree/settings.py:674
+msgid "Norwegian"
+msgstr ""
+
+#: InvenTree/settings.py:675
+msgid "Polish"
+msgstr ""
+
+#: InvenTree/settings.py:676
+msgid "Portugese"
+msgstr ""
+
+#: InvenTree/settings.py:677
+msgid "Russian"
+msgstr ""
+
+#: InvenTree/settings.py:678
+msgid "Swedish"
+msgstr ""
+
+#: InvenTree/settings.py:679
+msgid "Thai"
+msgstr ""
+
+#: InvenTree/settings.py:680
+msgid "Turkish"
+msgstr ""
+
+#: InvenTree/settings.py:681
+msgid "Vietnamese"
+msgstr ""
+
+#: InvenTree/settings.py:682
msgid "Chinese"
msgstr ""
@@ -414,7 +418,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:190
+#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202
msgid "Sent to customer"
msgstr ""
@@ -482,11 +486,11 @@ msgstr ""
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:15
+#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:19
+#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21
msgid "Set Password"
msgstr ""
@@ -494,7 +498,7 @@ msgstr ""
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:863 templates/navbar.html:97
+#: InvenTree/views.py:863 templates/navbar.html:101
msgid "System Information"
msgstr ""
@@ -540,23 +544,23 @@ msgstr ""
#: build/forms.py:36 build/models.py:1283
#: build/templates/build/build_base.html:124
-#: build/templates/build/detail.html:35 common/models.py:1210
+#: build/templates/build/detail.html:35 common/models.py:1225
#: company/forms.py:42 company/templates/company/supplier_part.html:251
#: order/forms.py:102 order/models.py:729 order/models.py:991
#: order/templates/order/order_wizard/match_parts.html:30
#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237
-#: part/forms.py:253 part/forms.py:269 part/models.py:2590
+#: part/forms.py:253 part/forms.py:269 part/models.py:2576
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:1128 part/templates/part/detail.html:1214
+#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/forms.py:156 stock/serializers.py:275
+#: stock/forms.py:156 stock/serializers.py:286
#: stock/templates/stock/item_base.html:256
-#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:440
+#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441
#: templates/js/translated/build.js:235 templates/js/translated/build.js:435
#: templates/js/translated/build.js:629 templates/js/translated/build.js:639
#: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362
@@ -564,8 +568,8 @@ msgstr ""
#: templates/js/translated/order.js:870 templates/js/translated/order.js:1183
#: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268
#: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457
-#: templates/js/translated/part.js:1502 templates/js/translated/part.js:1625
-#: templates/js/translated/part.js:1703 templates/js/translated/stock.js:347
+#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626
+#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347
#: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141
msgid "Quantity"
msgstr ""
@@ -575,7 +579,7 @@ msgid "Enter quantity for build output"
msgstr ""
#: build/forms.py:41 order/forms.py:96 stock/forms.py:95
-#: stock/serializers.py:296 templates/js/translated/stock.js:194
+#: stock/serializers.py:307 templates/js/translated/stock.js:194
#: templates/js/translated/stock.js:348
msgid "Serial Numbers"
msgstr ""
@@ -628,11 +632,11 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:199 order/models.py:249 order/models.py:556
-#: order/models.py:736 part/models.py:2599
+#: order/models.py:736 part/models.py:2585
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:432 templates/js/translated/build.js:1119
+#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119
#: templates/js/translated/order.js:864 templates/js/translated/order.js:1451
msgid "Reference"
msgstr ""
@@ -654,9 +658,9 @@ msgstr ""
#: build/templates/build/detail.html:30 company/models.py:705
#: order/models.py:789 order/models.py:860
#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357
-#: part/models.py:2165 part/models.py:2181 part/models.py:2200
-#: part/models.py:2217 part/models.py:2319 part/models.py:2441
-#: part/models.py:2574 part/models.py:2881 part/templates/part/detail.html:336
+#: part/models.py:2151 part/models.py:2167 part/models.py:2186
+#: part/models.py:2203 part/models.py:2305 part/models.py:2427
+#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -666,13 +670,13 @@ msgstr ""
#: templates/InvenTree/search.html:86
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
-#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:212
-#: templates/js/translated/bom.js:390 templates/js/translated/build.js:620
+#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213
+#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620
#: templates/js/translated/build.js:988 templates/js/translated/build.js:1359
#: templates/js/translated/build.js:1626 templates/js/translated/company.js:488
#: templates/js/translated/company.js:745 templates/js/translated/order.js:426
#: templates/js/translated/order.js:818 templates/js/translated/order.js:1435
-#: templates/js/translated/part.js:725 templates/js/translated/part.js:891
+#: templates/js/translated/part.js:726 templates/js/translated/part.js:892
#: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078
#: templates/js/translated/stock.js:2129
msgid "Part"
@@ -730,7 +734,7 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:285 stock/models.py:545
+#: build/models.py:285 stock/models.py:544
msgid "Batch Code"
msgstr ""
@@ -784,23 +788,23 @@ msgstr ""
#: build/models.py:329 build/templates/build/detail.html:102
#: company/templates/company/manufacturer_part.html:87
#: company/templates/company/supplier_part.html:88
-#: part/templates/part/detail.html:80 stock/models.py:539
+#: part/templates/part/detail.html:80 stock/models.py:538
#: stock/templates/stock/item_base.html:346
msgid "External Link"
msgstr ""
-#: build/models.py:330 part/models.py:798 stock/models.py:541
+#: build/models.py:330 part/models.py:798 stock/models.py:540
msgid "Link to external URL"
msgstr ""
-#: build/models.py:334 build/serializers.py:200 company/models.py:142
+#: build/models.py:334 build/serializers.py:201 company/models.py:142
#: company/models.py:577 order/models.py:183 order/models.py:738
#: part/models.py:925 part/templates/part/detail.html:223
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:611
-#: stock/models.py:1775 stock/models.py:1881 stock/serializers.py:314
-#: stock/serializers.py:573 templates/js/translated/barcode.js:58
-#: templates/js/translated/bom.js:596 templates/js/translated/company.js:841
+#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610
+#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325
+#: stock/serializers.py:584 templates/js/translated/barcode.js:58
+#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841
#: templates/js/translated/order.js:963 templates/js/translated/order.js:1561
#: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340
msgid "Notes"
@@ -849,7 +853,7 @@ msgstr ""
#: build/models.py:1253 stock/templates/stock/item_base.html:318
#: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599
-#: templates/navbar.html:32
+#: templates/navbar.html:33
msgid "Build"
msgstr ""
@@ -857,7 +861,7 @@ msgstr ""
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1270 build/serializers.py:327
+#: build/models.py:1270 build/serializers.py:328
#: stock/templates/stock/item_base.html:8
#: stock/templates/stock/item_base.html:16
#: stock/templates/stock/item_base.html:340
@@ -884,28 +888,28 @@ msgstr ""
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:136 build/serializers.py:356
+#: build/serializers.py:137 build/serializers.py:357
msgid "Build Output"
msgstr ""
-#: build/serializers.py:145
+#: build/serializers.py:146
msgid "Build output does not match the parent build"
msgstr ""
-#: build/serializers.py:149
+#: build/serializers.py:150
msgid "Output part does not match BuildOrder part"
msgstr ""
-#: build/serializers.py:153
+#: build/serializers.py:154
msgid "This build output has already been completed"
msgstr ""
-#: build/serializers.py:157
+#: build/serializers.py:158
msgid "This build output is not fully allocated"
msgstr ""
-#: build/serializers.py:189 order/serializers.py:216 order/serializers.py:284
-#: stock/forms.py:236 stock/serializers.py:307 stock/serializers.py:675
+#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285
+#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686
#: stock/templates/stock/item_base.html:286
#: templates/js/translated/barcode.js:384
#: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420
@@ -917,13 +921,13 @@ msgstr ""
msgid "Location"
msgstr ""
-#: build/serializers.py:190
+#: build/serializers.py:191
msgid "Location for completed build outputs"
msgstr ""
-#: build/serializers.py:196 build/templates/build/build_base.html:129
+#: build/serializers.py:197 build/templates/build/build_base.html:129
#: build/templates/build/detail.html:63 order/models.py:572
-#: order/serializers.py:237 stock/templates/stock/item_base.html:409
+#: order/serializers.py:238 stock/templates/stock/item_base.html:409
#: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655
#: templates/js/translated/order.js:431 templates/js/translated/order.js:677
#: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196
@@ -931,50 +935,50 @@ msgstr ""
msgid "Status"
msgstr ""
-#: build/serializers.py:212
+#: build/serializers.py:213
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:258 build/serializers.py:307 part/models.py:2714
-#: part/models.py:2873
+#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700
+#: part/models.py:2859
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:268
+#: build/serializers.py:269
msgid "Build output"
msgstr ""
-#: build/serializers.py:277
+#: build/serializers.py:278
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:318
+#: build/serializers.py:319
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:333
+#: build/serializers.py:334
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:347 order/models.py:316 order/serializers.py:230
-#: stock/models.py:382 stock/models.py:1104 stock/serializers.py:287
+#: build/serializers.py:348 order/models.py:316 order/serializers.py:231
+#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298
msgid "Quantity must be greater than zero"
msgstr ""
-#: build/serializers.py:389
+#: build/serializers.py:390
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:395
+#: build/serializers.py:396
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:402
+#: build/serializers.py:403
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:430
+#: build/serializers.py:431
msgid "Allocation items must be provided"
msgstr ""
@@ -1062,16 +1066,16 @@ msgstr ""
#: order/templates/order/order_base.html:102
#: order/templates/order/sales_order_base.html:78
#: order/templates/order/sales_order_base.html:107
-#: templates/js/translated/table_filters.js:276
-#: templates/js/translated/table_filters.js:304
-#: templates/js/translated/table_filters.js:321
+#: templates/js/translated/table_filters.js:288
+#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:333
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:150
#: build/templates/build/detail.html:68 build/templates/build/detail.html:143
#: templates/js/translated/build.js:1641
-#: templates/js/translated/table_filters.js:286
+#: templates/js/translated/table_filters.js:298
msgid "Completed"
msgstr ""
@@ -1173,8 +1177,8 @@ msgstr ""
#: build/templates/build/detail.html:81
#: stock/templates/stock/item_base.html:304
#: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164
-#: templates/js/translated/table_filters.js:133
-#: templates/js/translated/table_filters.js:215
+#: templates/js/translated/table_filters.js:145
+#: templates/js/translated/table_filters.js:227
msgid "Batch"
msgstr ""
@@ -1298,7 +1302,7 @@ msgstr ""
#: build/templates/build/detail.html:448
#: order/templates/order/purchase_order_detail.html:170
#: order/templates/order/sales_order_detail.html:160
-#: part/templates/part/detail.html:1075 stock/templates/stock/item.html:270
+#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270
#: templates/attachment_button.html:4
msgid "Add Attachment"
msgstr ""
@@ -1306,14 +1310,14 @@ msgstr ""
#: build/templates/build/detail.html:467
#: order/templates/order/purchase_order_detail.html:142
#: order/templates/order/sales_order_detail.html:133
-#: part/templates/part/detail.html:1029 stock/templates/stock/item.html:238
+#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238
msgid "Edit Attachment"
msgstr ""
#: build/templates/build/detail.html:474
#: order/templates/order/purchase_order_detail.html:149
#: order/templates/order/sales_order_detail.html:139
-#: part/templates/part/detail.html:1038 stock/templates/stock/item.html:247
+#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247
#: templates/js/translated/order.js:1243
msgid "Confirm Delete Operation"
msgstr ""
@@ -1321,7 +1325,7 @@ msgstr ""
#: build/templates/build/detail.html:475
#: order/templates/order/purchase_order_detail.html:150
#: order/templates/order/sales_order_detail.html:140
-#: part/templates/part/detail.html:1039 stock/templates/stock/item.html:248
+#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248
msgid "Delete Attachment"
msgstr ""
@@ -1333,7 +1337,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:435
+#: build/templates/build/index.html:18 part/templates/part/detail.html:433
msgid "New Build Order"
msgstr ""
@@ -1365,7 +1369,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:122 stock/serializers.py:345 stock/views.py:1290
+#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290
msgid "Serial numbers already exist"
msgstr ""
@@ -1450,687 +1454,688 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:338 common/models.py:955 common/models.py:1163
+#: common/models.py:340 common/models.py:970 common/models.py:1178
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:340
+#: common/models.py:342
msgid "Settings value"
msgstr ""
-#: common/models.py:375
+#: common/models.py:377
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:380
+#: common/models.py:382
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:403
+#: common/models.py:405
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:414
+#: common/models.py:416
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:437
+#: common/models.py:439
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:544
+#: common/models.py:559
msgid "No group"
msgstr ""
-#: common/models.py:586
+#: common/models.py:601
msgid "Restart required"
msgstr ""
-#: common/models.py:587
+#: common/models.py:602
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:594
+#: common/models.py:609
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:596
+#: common/models.py:611
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:600
+#: common/models.py:615
msgid "Use instance name"
msgstr ""
-#: common/models.py:601
+#: common/models.py:616
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:607 company/models.py:100 company/models.py:101
+#: common/models.py:622 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr ""
-#: common/models.py:608
+#: common/models.py:623
msgid "Internal company name"
msgstr ""
-#: common/models.py:613
+#: common/models.py:628
msgid "Base URL"
msgstr ""
-#: common/models.py:614
+#: common/models.py:629
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:620
+#: common/models.py:635
msgid "Default Currency"
msgstr ""
-#: common/models.py:621
+#: common/models.py:636
msgid "Default currency"
msgstr ""
-#: common/models.py:627
+#: common/models.py:642
msgid "Download from URL"
msgstr ""
-#: common/models.py:628
+#: common/models.py:643
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:634
+#: common/models.py:649
msgid "Barcode Support"
msgstr ""
-#: common/models.py:635
+#: common/models.py:650
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:641
+#: common/models.py:656
msgid "IPN Regex"
msgstr ""
-#: common/models.py:642
+#: common/models.py:657
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:646
+#: common/models.py:661
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:647
+#: common/models.py:662
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:653
+#: common/models.py:668
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:654
+#: common/models.py:669
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:660
+#: common/models.py:675
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:661
+#: common/models.py:676
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:667
+#: common/models.py:682
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:668
+#: common/models.py:683
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:674
+#: common/models.py:689
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:675
+#: common/models.py:690
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:681
+#: common/models.py:696
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:682
+#: common/models.py:697
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:688 part/models.py:2443 report/models.py:187
+#: common/models.py:703 part/models.py:2429 report/models.py:187
#: templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:355
+#: templates/js/translated/table_filters.js:367
msgid "Template"
msgstr ""
-#: common/models.py:689
+#: common/models.py:704
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:695 part/models.py:888
-#: templates/js/translated/table_filters.js:150
-#: templates/js/translated/table_filters.js:367
+#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954
+#: templates/js/translated/table_filters.js:162
+#: templates/js/translated/table_filters.js:379
msgid "Assembly"
msgstr ""
-#: common/models.py:696
+#: common/models.py:711
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:702 part/models.py:894
-#: templates/js/translated/table_filters.js:371
+#: common/models.py:717 part/models.py:894
+#: templates/js/translated/table_filters.js:383
msgid "Component"
msgstr ""
-#: common/models.py:703
+#: common/models.py:718
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:709 part/models.py:905
+#: common/models.py:724 part/models.py:905
msgid "Purchaseable"
msgstr ""
-#: common/models.py:710
+#: common/models.py:725
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:716 part/models.py:910
-#: templates/js/translated/table_filters.js:379
+#: common/models.py:731 part/models.py:910
+#: templates/js/translated/table_filters.js:391
msgid "Salable"
msgstr ""
-#: common/models.py:717
+#: common/models.py:732
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:723 part/models.py:900
+#: common/models.py:738 part/models.py:900
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:383
+#: templates/js/translated/table_filters.js:94
+#: templates/js/translated/table_filters.js:395
msgid "Trackable"
msgstr ""
-#: common/models.py:724
+#: common/models.py:739
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:730 part/models.py:920
+#: common/models.py:745 part/models.py:920
#: part/templates/part/part_base.html:144
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:731
+#: common/models.py:746
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:737
+#: common/models.py:752
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:738
+#: common/models.py:753
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:744
+#: common/models.py:759
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:745
+#: common/models.py:760
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:756
+#: common/models.py:771
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:757
+#: common/models.py:772
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:763
+#: common/models.py:778
msgid "Show related parts"
msgstr ""
-#: common/models.py:764
+#: common/models.py:779
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:770
+#: common/models.py:785
msgid "Create initial stock"
msgstr ""
-#: common/models.py:771
+#: common/models.py:786
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:777
+#: common/models.py:792
msgid "Internal Prices"
msgstr ""
-#: common/models.py:778
+#: common/models.py:793
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:784
+#: common/models.py:799
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:785
+#: common/models.py:800
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:791
+#: common/models.py:806
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:792
+#: common/models.py:807
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:799
+#: common/models.py:814
msgid "Enable Reports"
msgstr ""
-#: common/models.py:800
+#: common/models.py:815
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:806 templates/stats.html:25
+#: common/models.py:821 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:807
+#: common/models.py:822
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:813
+#: common/models.py:828
msgid "Page Size"
msgstr ""
-#: common/models.py:814
+#: common/models.py:829
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:824
+#: common/models.py:839
msgid "Test Reports"
msgstr ""
-#: common/models.py:825
+#: common/models.py:840
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:831
+#: common/models.py:846
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:832
+#: common/models.py:847
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:838
+#: common/models.py:853
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:839
+#: common/models.py:854
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:845
+#: common/models.py:860
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:846
+#: common/models.py:861
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:848
+#: common/models.py:863
msgid "days"
msgstr ""
-#: common/models.py:853
+#: common/models.py:868
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:854
+#: common/models.py:869
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:860
+#: common/models.py:875
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:861
+#: common/models.py:876
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:867
+#: common/models.py:882
msgid "Group by Part"
msgstr ""
-#: common/models.py:868
+#: common/models.py:883
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:874
+#: common/models.py:889
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:875
+#: common/models.py:890
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:880
+#: common/models.py:895
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:881
+#: common/models.py:896
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:885
+#: common/models.py:900
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:886
+#: common/models.py:901
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:891
+#: common/models.py:906
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:892
+#: common/models.py:907
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:898
+#: common/models.py:913
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:899
+#: common/models.py:914
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:904
+#: common/models.py:919
msgid "Enable registration"
msgstr ""
-#: common/models.py:905
+#: common/models.py:920
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:910
+#: common/models.py:925
msgid "Enable SSO"
msgstr ""
-#: common/models.py:911
+#: common/models.py:926
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:916
+#: common/models.py:931
msgid "Email required"
msgstr ""
-#: common/models.py:917
+#: common/models.py:932
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:922
+#: common/models.py:937
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:923
+#: common/models.py:938
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:928
+#: common/models.py:943
msgid "Mail twice"
msgstr ""
-#: common/models.py:929
+#: common/models.py:944
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:934
+#: common/models.py:949
msgid "Password twice"
msgstr ""
-#: common/models.py:935
+#: common/models.py:950
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:940
+#: common/models.py:955
msgid "Group on signup"
msgstr ""
-#: common/models.py:941
+#: common/models.py:956
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:986
+#: common/models.py:1001
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:987
+#: common/models.py:1002
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:992
+#: common/models.py:1007
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:993
+#: common/models.py:1008
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:998
+#: common/models.py:1013
msgid "Show latest parts"
msgstr ""
-#: common/models.py:999
+#: common/models.py:1014
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1004
+#: common/models.py:1019
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1005
+#: common/models.py:1020
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1011
+#: common/models.py:1026
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1012
+#: common/models.py:1027
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1032
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1018
+#: common/models.py:1033
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1023
+#: common/models.py:1038
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1024
+#: common/models.py:1039
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1029
+#: common/models.py:1044
msgid "Show low stock"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1045
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1050
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1036
+#: common/models.py:1051
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1056
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1057
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1047
+#: common/models.py:1062
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1063
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1053
+#: common/models.py:1068
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1054
+#: common/models.py:1069
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1059
+#: common/models.py:1074
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1060
+#: common/models.py:1075
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1065
+#: common/models.py:1080
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1066
+#: common/models.py:1081
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1071
+#: common/models.py:1086
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1072
+#: common/models.py:1087
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1092
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1078
+#: common/models.py:1093
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1098
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1099
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1089
+#: common/models.py:1104
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1105
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1111
msgid "Inline label display"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1112
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1103
+#: common/models.py:1118
msgid "Inline report display"
msgstr ""
-#: common/models.py:1104
+#: common/models.py:1119
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1110
+#: common/models.py:1125
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1111
+#: common/models.py:1126
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:1117
+#: common/models.py:1132
msgid "Search Show Stock"
msgstr ""
-#: common/models.py:1118
+#: common/models.py:1133
msgid "Display stock levels in search preview window"
msgstr ""
-#: common/models.py:1124
+#: common/models.py:1139
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1125
+#: common/models.py:1140
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1131
+#: common/models.py:1146
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1132
+#: common/models.py:1147
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1138
+#: common/models.py:1153
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1139
+#: common/models.py:1154
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1145
+#: common/models.py:1160
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1146
+#: common/models.py:1161
msgid "InvenTree navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1211 company/forms.py:43
+#: common/models.py:1226 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1218 company/serializers.py:263
+#: common/models.py:1233 company/serializers.py:264
#: company/templates/company/supplier_part.html:256
-#: templates/js/translated/part.js:1507
+#: templates/js/translated/part.js:1508
msgid "Price"
msgstr ""
-#: common/models.py:1219
+#: common/models.py:1234
msgid "Unit price at specified quantity"
msgstr ""
@@ -2216,7 +2221,7 @@ msgid "Contact phone number"
msgstr ""
#: company/models.py:125 company/templates/company/company_base.html:102
-#: templates/InvenTree/settings/user.html:43
+#: templates/InvenTree/settings/user.html:46
msgid "Email"
msgstr ""
@@ -2236,7 +2241,7 @@ msgstr ""
#: order/models.py:163 part/models.py:797
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:536
-#: templates/js/translated/company.js:825 templates/js/translated/part.js:983
+#: templates/js/translated/company.js:825 templates/js/translated/part.js:984
msgid "Link"
msgstr ""
@@ -2272,8 +2277,8 @@ msgstr ""
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:152 company/serializers.py:269
-#: company/templates/company/company_base.html:76 stock/serializers.py:161
+#: company/models.py:152 company/serializers.py:270
+#: company/templates/company/company_base.html:76 stock/serializers.py:172
msgid "Currency"
msgstr ""
@@ -2281,7 +2286,7 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:485
+#: company/models.py:320 company/models.py:535 stock/models.py:484
#: stock/templates/stock/item_base.html:224
msgid "Base Part"
msgstr ""
@@ -2337,8 +2342,8 @@ msgstr ""
#: company/models.py:422
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:1868 templates/js/translated/company.js:643
-#: templates/js/translated/part.js:643 templates/js/translated/stock.js:848
+#: stock/models.py:1867 templates/js/translated/company.js:643
+#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848
msgid "Value"
msgstr ""
@@ -2346,9 +2351,9 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:882 part/models.py:2411
+#: company/models.py:429 part/models.py:882 part/models.py:2397
#: part/templates/part/detail.html:59 templates/js/translated/company.js:649
-#: templates/js/translated/part.js:649
+#: templates/js/translated/part.js:650
msgid "Units"
msgstr ""
@@ -2398,7 +2403,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:576 company/templates/company/supplier_part.html:126
-#: part/models.py:2602 report/templates/report/inventree_po_report.html:93
+#: part/models.py:2588 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
@@ -2412,7 +2417,7 @@ msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:582 company/templates/company/supplier_part.html:119
-#: stock/models.py:508 stock/templates/stock/item_base.html:311
+#: stock/models.py:507 stock/templates/stock/item_base.html:311
#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336
msgid "Packaging"
msgstr ""
@@ -2429,11 +2434,11 @@ msgstr ""
msgid "Order multiple"
msgstr ""
-#: company/serializers.py:69
+#: company/serializers.py:70
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:70
+#: company/serializers.py:71
msgid "Currency Code"
msgstr ""
@@ -2476,8 +2481,8 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:126 order/models.py:567
-#: order/templates/order/sales_order_base.html:114 stock/models.py:526
-#: stock/models.py:527 stock/templates/stock/item_base.html:263
+#: order/templates/order/sales_order_base.html:114 stock/models.py:525
+#: stock/models.py:526 stock/templates/stock/item_base.html:263
#: templates/js/translated/company.js:328 templates/js/translated/order.js:1051
#: templates/js/translated/stock.js:1972
msgid "Customer"
@@ -2499,7 +2504,7 @@ msgstr ""
#: company/templates/company/detail.html:20
#: company/templates/company/manufacturer_part.html:112
-#: part/templates/part/detail.html:468
+#: part/templates/part/detail.html:466
msgid "New Supplier Part"
msgstr ""
@@ -2507,8 +2512,8 @@ msgstr ""
#: company/templates/company/detail.html:79
#: company/templates/company/manufacturer_part.html:121
#: company/templates/company/manufacturer_part.html:150
-#: part/templates/part/category.html:160 part/templates/part/detail.html:477
-#: part/templates/part/detail.html:505
+#: part/templates/part/category.html:160 part/templates/part/detail.html:475
+#: part/templates/part/detail.html:503
msgid "Options"
msgstr ""
@@ -2536,7 +2541,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:67 part/templates/part/detail.html:495
+#: company/templates/company/detail.html:67 part/templates/part/detail.html:493
msgid "New Manufacturer Part"
msgstr ""
@@ -2549,7 +2554,7 @@ msgstr ""
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
#: part/templates/part/detail.html:171 templates/InvenTree/index.html:252
-#: templates/InvenTree/search.html:203 templates/navbar.html:44
+#: templates/InvenTree/search.html:203 templates/navbar.html:45
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
@@ -2569,7 +2574,7 @@ msgstr ""
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
#: part/templates/part/detail.html:194 templates/InvenTree/index.html:283
-#: templates/InvenTree/search.html:223 templates/navbar.html:55
+#: templates/InvenTree/search.html:223 templates/navbar.html:56
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
@@ -2595,13 +2600,13 @@ msgstr ""
#: company/templates/company/detail.html:383
#: company/templates/company/manufacturer_part.html:209
-#: part/templates/part/detail.html:548
+#: part/templates/part/detail.html:546
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:384
#: company/templates/company/manufacturer_part.html:210
-#: part/templates/part/detail.html:549
+#: part/templates/part/detail.html:547
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2611,7 +2616,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:14 company/views.py:55
#: part/templates/part/prices.html:167 templates/InvenTree/search.html:184
-#: templates/navbar.html:43
+#: templates/navbar.html:44
msgid "Manufacturers"
msgstr ""
@@ -2640,20 +2645,20 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:108
#: company/templates/company/supplier_part.html:15 company/views.py:49
#: part/templates/part/prices.html:163 templates/InvenTree/search.html:194
-#: templates/navbar.html:42
+#: templates/navbar.html:43
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:479
+#: part/templates/part/detail.html:477
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:123
#: company/templates/company/manufacturer_part.html:152
#: company/templates/company/manufacturer_part.html:248
-#: part/templates/part/detail.html:351 part/templates/part/detail.html:479
-#: part/templates/part/detail.html:507 templates/js/translated/company.js:424
+#: part/templates/part/detail.html:351 part/templates/part/detail.html:477
+#: part/templates/part/detail.html:505 templates/js/translated/company.js:424
#: templates/js/translated/helpers.js:31 users/models.py:204
msgid "Delete"
msgstr ""
@@ -2675,7 +2680,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:185
-#: part/templates/part/detail.html:989
+#: part/templates/part/detail.html:983
msgid "Add Parameter"
msgstr ""
@@ -2688,7 +2693,7 @@ msgid "Delete Parameters"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:493
+#: company/templates/company/supplier_part.html:24 stock/models.py:492
#: stock/templates/stock/item_base.html:375
#: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293
msgid "Supplier Part"
@@ -2764,10 +2769,10 @@ msgstr ""
#: company/templates/company/supplier_part_navbar.html:15
#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14
#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/search.html:156 templates/js/translated/part.js:425
-#: templates/js/translated/part.js:560 templates/js/translated/part.js:785
-#: templates/js/translated/part.js:945 templates/js/translated/stock.js:479
-#: templates/js/translated/stock.js:1132 templates/navbar.html:25
+#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426
+#: templates/js/translated/part.js:561 templates/js/translated/part.js:786
+#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479
+#: templates/js/translated/stock.js:1132 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2792,7 +2797,7 @@ msgid "New Manufacturer"
msgstr ""
#: company/views.py:61 templates/InvenTree/search.html:214
-#: templates/navbar.html:54
+#: templates/navbar.html:55
msgid "Customers"
msgstr ""
@@ -3064,8 +3069,8 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:620
-#: stock/serializers.py:152 stock/templates/stock/item_base.html:332
+#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619
+#: stock/serializers.py:163 stock/templates/stock/item_base.html:332
#: templates/js/translated/stock.js:1324
msgid "Purchase Price"
msgstr ""
@@ -3127,47 +3132,47 @@ msgstr ""
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:166
+#: order/serializers.py:167
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:201
+#: order/serializers.py:202
msgid "Line Item"
msgstr ""
-#: order/serializers.py:207
+#: order/serializers.py:208
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:217 order/serializers.py:285
+#: order/serializers.py:218 order/serializers.py:286
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:241
+#: order/serializers.py:242
msgid "Barcode Hash"
msgstr ""
-#: order/serializers.py:242
+#: order/serializers.py:243
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:259
+#: order/serializers.py:260
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:297
+#: order/serializers.py:298
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:314
+#: order/serializers.py:315
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:325
+#: order/serializers.py:326
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:567
+#: order/serializers.py:568
msgid "Sale price currency"
msgstr ""
@@ -3672,7 +3677,7 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:96 part/models.py:2441
+#: part/forms.py:96 part/models.py:2427
msgid "Parent Part"
msgstr ""
@@ -3728,7 +3733,7 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:95 part/models.py:2487 part/templates/part/category.html:11
+#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -3742,8 +3747,8 @@ msgstr ""
#: part/models.py:358 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:13 part/templates/part/category.html:122
#: part/templates/part/category.html:142 templates/InvenTree/index.html:85
-#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1303
-#: templates/navbar.html:18 templates/stats.html:80 templates/stats.html:89
+#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304
+#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89
#: users/models.py:41
msgid "Parts"
msgstr ""
@@ -3806,10 +3811,10 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:778 part/models.py:2237 part/models.py:2486
+#: part/models.py:778 part/models.py:2223 part/models.py:2472
#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15
#: templates/InvenTree/settings/settings.html:163
-#: templates/js/translated/part.js:927
+#: templates/js/translated/part.js:928
msgid "Category"
msgstr ""
@@ -3818,7 +3823,7 @@ msgid "Part category"
msgstr ""
#: part/models.py:784 part/templates/part/detail.html:45
-#: templates/js/translated/part.js:548
+#: templates/js/translated/part.js:549
msgid "IPN"
msgstr ""
@@ -3831,7 +3836,7 @@ msgid "Part revision or version number"
msgstr ""
#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200
-#: templates/js/translated/part.js:552
+#: templates/js/translated/part.js:553
msgid "Revision"
msgstr ""
@@ -3888,9 +3893,9 @@ msgid "Can this part be sold to customers?"
msgstr ""
#: part/models.py:915 templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:82
-#: templates/js/translated/table_filters.js:272
-#: templates/js/translated/table_filters.js:350
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:362
msgid "Active"
msgstr ""
@@ -3930,198 +3935,200 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2287
+#: part/models.py:2273
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2304
+#: part/models.py:2290
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2324 templates/js/translated/part.js:1354
+#: part/models.py:2310 templates/js/translated/part.js:1355
#: templates/js/translated/stock.js:828
msgid "Test Name"
msgstr ""
-#: part/models.py:2325
+#: part/models.py:2311
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2330
+#: part/models.py:2316
msgid "Test Description"
msgstr ""
-#: part/models.py:2331
+#: part/models.py:2317
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2336 templates/js/translated/part.js:1363
-#: templates/js/translated/table_filters.js:258
+#: part/models.py:2322 templates/js/translated/part.js:1364
+#: templates/js/translated/table_filters.js:270
msgid "Required"
msgstr ""
-#: part/models.py:2337
+#: part/models.py:2323
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2342 templates/js/translated/part.js:1371
+#: part/models.py:2328 templates/js/translated/part.js:1372
msgid "Requires Value"
msgstr ""
-#: part/models.py:2343
+#: part/models.py:2329
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2348 templates/js/translated/part.js:1378
+#: part/models.py:2334 templates/js/translated/part.js:1379
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2349
+#: part/models.py:2335
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2360
+#: part/models.py:2346
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2382
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2404
+#: part/models.py:2390
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2411
+#: part/models.py:2397
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2443 part/models.py:2492 part/models.py:2493
+#: part/models.py:2429 part/models.py:2478 part/models.py:2479
#: templates/InvenTree/settings/settings.html:158
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2445
+#: part/models.py:2431
msgid "Data"
msgstr ""
-#: part/models.py:2445
+#: part/models.py:2431
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2497 templates/InvenTree/settings/settings.html:167
+#: part/models.py:2483 templates/InvenTree/settings/settings.html:167
msgid "Default Value"
msgstr ""
-#: part/models.py:2498
+#: part/models.py:2484
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2575
+#: part/models.py:2561
msgid "Select parent part"
msgstr ""
-#: part/models.py:2583
+#: part/models.py:2569
msgid "Sub part"
msgstr ""
-#: part/models.py:2584
+#: part/models.py:2570
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2590
+#: part/models.py:2576
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2592 templates/js/translated/bom.js:451
-#: templates/js/translated/bom.js:525
+#: part/models.py:2578 templates/js/translated/bom.js:452
+#: templates/js/translated/bom.js:526
+#: templates/js/translated/table_filters.js:86
msgid "Optional"
msgstr ""
-#: part/models.py:2592
+#: part/models.py:2578
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2595
+#: part/models.py:2581
msgid "Overage"
msgstr ""
-#: part/models.py:2596
+#: part/models.py:2582
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2599
+#: part/models.py:2585
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2602
+#: part/models.py:2588
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2604
+#: part/models.py:2590
msgid "Checksum"
msgstr ""
-#: part/models.py:2604
+#: part/models.py:2590
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2608 templates/js/translated/bom.js:542
-#: templates/js/translated/bom.js:549
+#: part/models.py:2594 templates/js/translated/bom.js:543
+#: templates/js/translated/bom.js:550
#: templates/js/translated/table_filters.js:68
+#: templates/js/translated/table_filters.js:82
msgid "Inherited"
msgstr ""
-#: part/models.py:2609
+#: part/models.py:2595
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2614 templates/js/translated/bom.js:534
+#: part/models.py:2600 templates/js/translated/bom.js:535
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2615
+#: part/models.py:2601
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2700 stock/models.py:372
+#: part/models.py:2686 stock/models.py:371
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2709 part/models.py:2711
+#: part/models.py:2695 part/models.py:2697
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2826
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:2862
+#: part/models.py:2848
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:2874
+#: part/models.py:2860
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2868
msgid "Substitute part"
msgstr ""
-#: part/models.py:2893
+#: part/models.py:2879
msgid "Part 1"
msgstr ""
-#: part/models.py:2897
+#: part/models.py:2883
msgid "Part 2"
msgstr ""
-#: part/models.py:2897
+#: part/models.py:2883
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2929
+#: part/models.py:2915
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4261,7 +4268,7 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:150 templates/js/translated/bom.js:39
+#: part/templates/part/category.html:150 templates/js/translated/bom.js:40
msgid "New Part"
msgstr ""
@@ -4328,7 +4335,7 @@ msgstr ""
msgid "If this category is deleted, these parts will be moved to the top-level category Teile"
msgstr ""
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:364
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365
msgid "Duplicate Part"
msgstr ""
@@ -4433,78 +4440,78 @@ msgstr ""
msgid "Copy BOM"
msgstr ""
-#: part/templates/part/detail.html:392 part/views.py:820
+#: part/templates/part/detail.html:391 part/views.py:820
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:398
+#: part/templates/part/detail.html:396
msgid "New BOM Item"
msgstr ""
-#: part/templates/part/detail.html:399
+#: part/templates/part/detail.html:397
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:412
+#: part/templates/part/detail.html:410
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:429
+#: part/templates/part/detail.html:427
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:454
+#: part/templates/part/detail.html:452
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:464
+#: part/templates/part/detail.html:462
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:491
+#: part/templates/part/detail.html:489
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:507
+#: part/templates/part/detail.html:505
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:692
+#: part/templates/part/detail.html:686
msgid "Delete selected BOM items?"
msgstr ""
-#: part/templates/part/detail.html:693
+#: part/templates/part/detail.html:687
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:744
+#: part/templates/part/detail.html:738
msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:882
+#: part/templates/part/detail.html:876
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:939
+#: part/templates/part/detail.html:933
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:1091
+#: part/templates/part/detail.html:1085
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1103
+#: part/templates/part/detail.html:1097
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1115
+#: part/templates/part/detail.html:1109
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1204
+#: part/templates/part/detail.html:1198
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -4615,7 +4622,7 @@ msgstr ""
#: templates/js/translated/company.js:504
#: templates/js/translated/company.js:761
#: templates/js/translated/model_renderers.js:175
-#: templates/js/translated/part.js:463 templates/js/translated/part.js:540
+#: templates/js/translated/part.js:464 templates/js/translated/part.js:541
msgid "Inactive"
msgstr ""
@@ -4625,11 +4632,11 @@ msgid "This part is a variant of %(link)s"
msgstr ""
#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524
-#: templates/js/translated/table_filters.js:170
+#: templates/js/translated/table_filters.js:182
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:185 templates/js/translated/part.js:960
+#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961
msgid "On Order"
msgstr ""
@@ -4645,12 +4652,12 @@ msgstr ""
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:563
+#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:227 templates/js/translated/part.js:792
-#: templates/js/translated/part.js:964
+#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793
+#: templates/js/translated/part.js:965
msgid "Building"
msgstr ""
@@ -4685,7 +4692,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
-#: templates/js/translated/bom.js:517
+#: templates/js/translated/bom.js:518
msgid "No supplier pricing available"
msgstr ""
@@ -4789,7 +4796,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:155 templates/js/translated/bom.js:511
+#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512
msgid "Supplier Cost"
msgstr ""
@@ -4831,9 +4838,9 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:473
-#: templates/js/translated/part.js:427 templates/js/translated/part.js:782
-#: templates/js/translated/part.js:968
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474
+#: templates/js/translated/part.js:428 templates/js/translated/part.js:783
+#: templates/js/translated/part.js:969
msgid "No Stock"
msgstr ""
@@ -4850,7 +4857,7 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:106
+#: part/templatetags/inventree_extras.py:113
msgid "Unknown database"
msgstr ""
@@ -5082,7 +5089,7 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:531 stock/templates/stock/item_base.html:238
+#: stock/models.py:530 stock/templates/stock/item_base.html:238
#: templates/js/translated/build.js:233 templates/js/translated/build.js:637
#: templates/js/translated/build.js:1013
#: templates/js/translated/model_renderers.js:95
@@ -5095,12 +5102,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:1856
+#: stock/models.py:1855
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:1862
+#: stock/models.py:1861
msgid "Result"
msgstr ""
@@ -5126,11 +5133,11 @@ msgstr ""
msgid "Serial"
msgstr ""
-#: stock/api.py:418
+#: stock/api.py:422
msgid "Quantity is required"
msgstr ""
-#: stock/forms.py:91 stock/forms.py:265 stock/models.py:588
+#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587
#: stock/templates/stock/item_base.html:382
#: templates/js/translated/stock.js:1246
msgid "Expiry Date"
@@ -5180,241 +5187,241 @@ msgstr ""
msgid "Confirm removal of installed stock items"
msgstr ""
-#: stock/models.py:60 stock/models.py:625
+#: stock/models.py:60 stock/models.py:624
#: stock/templates/stock/item_base.html:422
msgid "Owner"
msgstr ""
-#: stock/models.py:61 stock/models.py:626
+#: stock/models.py:61 stock/models.py:625
msgid "Select Owner"
msgstr ""
-#: stock/models.py:353
+#: stock/models.py:352
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:389
+#: stock/models.py:388
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:399 stock/models.py:408
+#: stock/models.py:398 stock/models.py:407
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:400
+#: stock/models.py:399
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:422
+#: stock/models.py:421
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:428
+#: stock/models.py:427
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:435
+#: stock/models.py:434
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:477
+#: stock/models.py:476
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:486
+#: stock/models.py:485
msgid "Base part"
msgstr ""
-#: stock/models.py:494
+#: stock/models.py:493
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:499 stock/templates/stock/location.html:12
+#: stock/models.py:498 stock/templates/stock/location.html:12
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:502
+#: stock/models.py:501
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:509
+#: stock/models.py:508
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:514 stock/templates/stock/item_base.html:271
+#: stock/models.py:513 stock/templates/stock/item_base.html:271
msgid "Installed In"
msgstr ""
-#: stock/models.py:517
+#: stock/models.py:516
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:533
+#: stock/models.py:532
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:547
+#: stock/models.py:546
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:551
+#: stock/models.py:550
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:560
+#: stock/models.py:559
msgid "Source Build"
msgstr ""
-#: stock/models.py:562
+#: stock/models.py:561
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:573
+#: stock/models.py:572
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:576
+#: stock/models.py:575
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:582
+#: stock/models.py:581
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:589
+#: stock/models.py:588
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:602
+#: stock/models.py:601
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:602
+#: stock/models.py:601
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:612 stock/templates/stock/item.html:111
+#: stock/models.py:611 stock/templates/stock/item.html:111
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:621
+#: stock/models.py:620
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:631
+#: stock/models.py:630
msgid "Scheduled for deletion"
msgstr ""
-#: stock/models.py:632
+#: stock/models.py:631
msgid "This StockItem will be deleted by the background worker"
msgstr ""
-#: stock/models.py:1095
+#: stock/models.py:1094
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1101
+#: stock/models.py:1100
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1107
+#: stock/models.py:1106
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1110
+#: stock/models.py:1109
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1113
+#: stock/models.py:1112
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1120
+#: stock/models.py:1119
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1278
+#: stock/models.py:1277
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:1776
+#: stock/models.py:1775
msgid "Entry notes"
msgstr ""
-#: stock/models.py:1833
+#: stock/models.py:1832
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:1839
+#: stock/models.py:1838
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:1857
+#: stock/models.py:1856
msgid "Test name"
msgstr ""
-#: stock/models.py:1863 templates/js/translated/table_filters.js:248
+#: stock/models.py:1862 templates/js/translated/table_filters.js:260
msgid "Test result"
msgstr ""
-#: stock/models.py:1869
+#: stock/models.py:1868
msgid "Test output value"
msgstr ""
-#: stock/models.py:1876
+#: stock/models.py:1875
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:1882
+#: stock/models.py:1881
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:155
+#: stock/serializers.py:166
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:162
+#: stock/serializers.py:173
msgid "Purchase currency of this stock item"
msgstr ""
-#: stock/serializers.py:276
+#: stock/serializers.py:287
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:291
+#: stock/serializers.py:302
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:297
+#: stock/serializers.py:308
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:308 stock/serializers.py:676
+#: stock/serializers.py:319 stock/serializers.py:687
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:315
+#: stock/serializers.py:326
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:339
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:546
+#: stock/serializers.py:557
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:574
+#: stock/serializers.py:585
msgid "Stock transaction notes"
msgstr ""
-#: stock/serializers.py:584
+#: stock/serializers.py:595
msgid "A list of stock items must be provided"
msgstr ""
@@ -5556,13 +5563,13 @@ msgstr ""
#: stock/templates/stock/item_base.html:136
#: stock/templates/stock/item_base.html:386
-#: templates/js/translated/table_filters.js:229
+#: templates/js/translated/table_filters.js:241
msgid "Expired"
msgstr ""
#: stock/templates/stock/item_base.html:146
#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/table_filters.js:235
+#: templates/js/translated/table_filters.js:247
msgid "Stale"
msgstr ""
@@ -6063,7 +6070,7 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:89
+#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93
msgid "Settings"
msgstr ""
@@ -6105,137 +6112,137 @@ msgstr ""
msgid "Account Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:16
+#: templates/InvenTree/settings/user.html:18
#: templates/js/translated/helpers.js:26
msgid "Edit"
msgstr ""
-#: templates/InvenTree/settings/user.html:18
+#: templates/InvenTree/settings/user.html:20
#: templates/account/password_reset_from_key.html:4
#: templates/account/password_reset_from_key.html:7
msgid "Change Password"
msgstr ""
-#: templates/InvenTree/settings/user.html:28
+#: templates/InvenTree/settings/user.html:31
msgid "Username"
msgstr ""
-#: templates/InvenTree/settings/user.html:32
+#: templates/InvenTree/settings/user.html:35
msgid "First Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:36
+#: templates/InvenTree/settings/user.html:39
msgid "Last Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:51
+#: templates/InvenTree/settings/user.html:54
msgid "The following email addresses are associated with your account:"
msgstr ""
-#: templates/InvenTree/settings/user.html:71
+#: templates/InvenTree/settings/user.html:74
msgid "Verified"
msgstr ""
-#: templates/InvenTree/settings/user.html:73
+#: templates/InvenTree/settings/user.html:76
msgid "Unverified"
msgstr ""
-#: templates/InvenTree/settings/user.html:75
+#: templates/InvenTree/settings/user.html:78
msgid "Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:81
+#: templates/InvenTree/settings/user.html:84
msgid "Make Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:82
+#: templates/InvenTree/settings/user.html:85
msgid "Re-send Verification"
msgstr ""
-#: templates/InvenTree/settings/user.html:83
-#: templates/InvenTree/settings/user.html:150
+#: templates/InvenTree/settings/user.html:86
+#: templates/InvenTree/settings/user.html:153
msgid "Remove"
msgstr ""
-#: templates/InvenTree/settings/user.html:90
+#: templates/InvenTree/settings/user.html:93
msgid "Warning:"
msgstr ""
-#: templates/InvenTree/settings/user.html:91
+#: templates/InvenTree/settings/user.html:94
msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc."
msgstr ""
-#: templates/InvenTree/settings/user.html:98
+#: templates/InvenTree/settings/user.html:101
msgid "Add Email Address"
msgstr ""
-#: templates/InvenTree/settings/user.html:108
+#: templates/InvenTree/settings/user.html:111
msgid "Enter e-mail address"
msgstr ""
-#: templates/InvenTree/settings/user.html:110
+#: templates/InvenTree/settings/user.html:113
msgid "Add Email"
msgstr ""
-#: templates/InvenTree/settings/user.html:120
+#: templates/InvenTree/settings/user.html:123
msgid "Social Accounts"
msgstr ""
-#: templates/InvenTree/settings/user.html:125
+#: templates/InvenTree/settings/user.html:128
msgid "You can sign in to your account using any of the following third party accounts:"
msgstr ""
-#: templates/InvenTree/settings/user.html:159
+#: templates/InvenTree/settings/user.html:162
msgid "There are no social network accounts connected to your InvenTree account"
msgstr ""
-#: templates/InvenTree/settings/user.html:164
+#: templates/InvenTree/settings/user.html:167
msgid "Add a 3rd Party Account"
msgstr ""
-#: templates/InvenTree/settings/user.html:174
+#: templates/InvenTree/settings/user.html:177
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:183
+#: templates/InvenTree/settings/user.html:186
msgid "Select language"
msgstr ""
-#: templates/InvenTree/settings/user.html:199
+#: templates/InvenTree/settings/user.html:202
#, python-format
msgid "%(lang_translated)s%% translated"
msgstr ""
-#: templates/InvenTree/settings/user.html:201
+#: templates/InvenTree/settings/user.html:204
msgid "No translations available"
msgstr ""
-#: templates/InvenTree/settings/user.html:208
+#: templates/InvenTree/settings/user.html:211
msgid "Set Language"
msgstr ""
-#: templates/InvenTree/settings/user.html:210
+#: templates/InvenTree/settings/user.html:213
msgid "Some languages are not complete"
msgstr ""
-#: templates/InvenTree/settings/user.html:212
+#: templates/InvenTree/settings/user.html:215
msgid "Show only sufficent"
msgstr ""
-#: templates/InvenTree/settings/user.html:214
+#: templates/InvenTree/settings/user.html:217
msgid "Show them too"
msgstr ""
-#: templates/InvenTree/settings/user.html:221
+#: templates/InvenTree/settings/user.html:224
msgid "Help the translation efforts!"
msgstr ""
-#: templates/InvenTree/settings/user.html:222
+#: templates/InvenTree/settings/user.html:225
#, python-format
msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
msgstr ""
-#: templates/InvenTree/settings/user.html:230
+#: templates/InvenTree/settings/user.html:233
msgid "Do you really want to remove the selected email address?"
msgstr ""
@@ -6276,7 +6283,7 @@ msgid "InvenTree Version Information"
msgstr ""
#: templates/about.html:11 templates/about.html:105
-#: templates/js/translated/bom.js:280 templates/js/translated/modals.js:53
+#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53
#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
#: templates/js/translated/modals.js:964 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
@@ -6362,12 +6369,12 @@ msgstr ""
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:5 templates/account/login.html:14
-#: templates/account/login.html:37
+#: templates/account/login.html:6 templates/account/login.html:16
+#: templates/account/login.html:39
msgid "Sign In"
msgstr ""
-#: templates/account/login.html:19
+#: templates/account/login.html:21
#, python-format
msgid ""
"Please sign in with one\n"
@@ -6375,18 +6382,26 @@ msgid ""
"for a account and sign in below:"
msgstr ""
-#: templates/account/login.html:23
+#: templates/account/login.html:25
#, python-format
msgid ""
"If you have not created an account yet, then please\n"
"sign up first."
msgstr ""
-#: templates/account/login.html:40
+#: templates/account/login.html:42
msgid "Forgot Password?"
msgstr ""
-#: templates/account/login.html:46
+#: templates/account/login.html:47
+msgid "InvenTree demo instance"
+msgstr ""
+
+#: templates/account/login.html:47
+msgid "Click here for login details"
+msgstr ""
+
+#: templates/account/login.html:55
msgid "or use SSO"
msgstr ""
@@ -6454,11 +6469,11 @@ msgstr ""
msgid "View in administration panel"
msgstr ""
-#: templates/base.html:94
+#: templates/base.html:96
msgid "Server Restart Required"
msgstr ""
-#: templates/base.html:97
+#: templates/base.html:99
msgid "A configuration option has been changed which requires a server restart"
msgstr ""
@@ -6484,12 +6499,13 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
+#: templates/js/translated/bom.js:989
msgid "Required Quantity"
msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:464 templates/js/translated/build.js:1129
+#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129
#: templates/js/translated/build.js:1749
msgid "Available"
msgstr ""
@@ -6645,7 +6661,7 @@ msgstr ""
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:280 templates/navbar.html:65
+#: templates/js/translated/barcode.js:280 templates/navbar.html:69
msgid "Scan Barcode"
msgstr ""
@@ -6707,91 +6723,99 @@ msgstr ""
msgid "Barcode does not match a valid location"
msgstr ""
-#: templates/js/translated/bom.js:183
+#: templates/js/translated/bom.js:184
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:225
+#: templates/js/translated/bom.js:226
msgid "Select and add a new variant item using the input below"
msgstr ""
-#: templates/js/translated/bom.js:236
+#: templates/js/translated/bom.js:237
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:242
+#: templates/js/translated/bom.js:243
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:281
+#: templates/js/translated/bom.js:282
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:282
+#: templates/js/translated/bom.js:283
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:401
+#: templates/js/translated/bom.js:402
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:405 templates/js/translated/build.js:1111
+#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:410
+#: templates/js/translated/bom.js:411
msgid "Open subassembly"
msgstr ""
-#: templates/js/translated/bom.js:482
+#: templates/js/translated/bom.js:483
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:497
+#: templates/js/translated/bom.js:498
msgid "Purchase Price Range"
msgstr ""
-#: templates/js/translated/bom.js:504
+#: templates/js/translated/bom.js:505
msgid "Purchase Price Average"
msgstr ""
-#: templates/js/translated/bom.js:553 templates/js/translated/bom.js:642
+#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:605 templates/js/translated/build.js:1183
+#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183
#: templates/js/translated/order.js:1298
msgid "Actions"
msgstr ""
-#: templates/js/translated/bom.js:613
+#: templates/js/translated/bom.js:614
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:615
+#: templates/js/translated/bom.js:616
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:617
+#: templates/js/translated/bom.js:618
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:619 templates/js/translated/bom.js:792
+#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:621 templates/js/translated/bom.js:775
+#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:714 templates/js/translated/build.js:855
+#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:770
+#: templates/js/translated/bom.js:772
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
+#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095
+msgid "Required Part"
+msgstr ""
+
+#: templates/js/translated/bom.js:994
+msgid "Inherited from parent BOM"
+msgstr ""
+
#: templates/js/translated/build.js:78
msgid "Edit Build Order"
msgstr ""
@@ -6870,10 +6894,6 @@ msgstr ""
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1095
-msgid "Required Part"
-msgstr ""
-
#: templates/js/translated/build.js:1107
msgid "Substitute parts available"
msgstr ""
@@ -6936,8 +6956,8 @@ msgstr ""
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:1593 templates/js/translated/part.js:872
-#: templates/js/translated/part.js:1264 templates/js/translated/stock.js:1064
+#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873
+#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064
#: templates/js/translated/stock.js:1841
msgid "Select"
msgstr ""
@@ -7023,34 +7043,34 @@ msgid "No manufacturer parts found"
msgstr ""
#: templates/js/translated/company.js:496
-#: templates/js/translated/company.js:753 templates/js/translated/part.js:447
-#: templates/js/translated/part.js:532
+#: templates/js/translated/company.js:753 templates/js/translated/part.js:448
+#: templates/js/translated/part.js:533
msgid "Template part"
msgstr ""
#: templates/js/translated/company.js:500
-#: templates/js/translated/company.js:757 templates/js/translated/part.js:451
-#: templates/js/translated/part.js:536
+#: templates/js/translated/company.js:757 templates/js/translated/part.js:452
+#: templates/js/translated/part.js:537
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:627 templates/js/translated/part.js:624
+#: templates/js/translated/company.js:627 templates/js/translated/part.js:625
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:664 templates/js/translated/part.js:666
+#: templates/js/translated/company.js:664 templates/js/translated/part.js:667
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:665 templates/js/translated/part.js:667
+#: templates/js/translated/company.js:665 templates/js/translated/part.js:668
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:684 templates/js/translated/part.js:684
+#: templates/js/translated/company.js:684 templates/js/translated/part.js:685
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:695 templates/js/translated/part.js:696
+#: templates/js/translated/company.js:695 templates/js/translated/part.js:697
msgid "Delete Parameter"
msgstr ""
@@ -7059,12 +7079,12 @@ msgid "No supplier parts found"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:412
+#: templates/js/translated/filters.js:420
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:413
+#: templates/js/translated/filters.js:421
msgid "false"
msgstr ""
@@ -7072,19 +7092,19 @@ msgstr ""
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:284
+#: templates/js/translated/filters.js:286
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:296
+#: templates/js/translated/filters.js:290
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:299
+#: templates/js/translated/filters.js:293
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:322
+#: templates/js/translated/filters.js:329
msgid "Create filter"
msgstr ""
@@ -7364,7 +7384,7 @@ msgid "Total"
msgstr ""
#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470
-#: templates/js/translated/part.js:1481 templates/js/translated/part.js:1692
+#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693
msgid "Unit Price"
msgstr ""
@@ -7524,120 +7544,124 @@ msgstr ""
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:401
+#: templates/js/translated/part.js:334
+msgid "Part edited"
+msgstr ""
+
+#: templates/js/translated/part.js:402
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:403
+#: templates/js/translated/part.js:404
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:408
+#: templates/js/translated/part.js:409
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:410
+#: templates/js/translated/part.js:411
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:439 templates/js/translated/part.js:524
+#: templates/js/translated/part.js:440 templates/js/translated/part.js:525
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:443 templates/js/translated/part.js:528
+#: templates/js/translated/part.js:444 templates/js/translated/part.js:529
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:455
+#: templates/js/translated/part.js:456
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:459
+#: templates/js/translated/part.js:460
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:574
+#: templates/js/translated/part.js:575
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:763 templates/js/translated/part.js:1007
+#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:932
+#: templates/js/translated/part.js:933
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:955
-#: templates/js/translated/table_filters.js:363
+#: templates/js/translated/part.js:956
+#: templates/js/translated/table_filters.js:375
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1027 templates/js/translated/part.js:1199
+#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200
#: templates/js/translated/stock.js:1802
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1043
+#: templates/js/translated/part.js:1044
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1218 templates/js/translated/stock.js:1821
+#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1282
+#: templates/js/translated/part.js:1283
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:1296 templates/js/translated/stock.js:1865
+#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1340
+#: templates/js/translated/part.js:1341
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1391 templates/js/translated/stock.js:786
+#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:787
+#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1398
+#: templates/js/translated/part.js:1399
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1420
+#: templates/js/translated/part.js:1421
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1434
+#: templates/js/translated/part.js:1435
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1459
+#: templates/js/translated/part.js:1460
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1514
+#: templates/js/translated/part.js:1515
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1515
+#: templates/js/translated/part.js:1516
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1616
+#: templates/js/translated/part.js:1617
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1635
+#: templates/js/translated/part.js:1636
msgid "Single Price Difference"
msgstr ""
@@ -7880,7 +7904,7 @@ msgid "Stock item is destroyed"
msgstr ""
#: templates/js/translated/stock.js:1185
-#: templates/js/translated/table_filters.js:165
+#: templates/js/translated/table_filters.js:177
msgid "Depleted"
msgstr ""
@@ -7988,180 +8012,180 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:160
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:172
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:93
+#: templates/js/translated/table_filters.js:105
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:103
-#: templates/js/translated/table_filters.js:104
-#: templates/js/translated/table_filters.js:340
+#: templates/js/translated/table_filters.js:115
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:352
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:108
-#: templates/js/translated/table_filters.js:375
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:387
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:118
-#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:130
+#: templates/js/translated/table_filters.js:207
msgid "Is Serialized"
msgstr ""
-#: templates/js/translated/table_filters.js:121
-#: templates/js/translated/table_filters.js:202
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:214
msgid "Serial number GTE"
msgstr ""
-#: templates/js/translated/table_filters.js:122
-#: templates/js/translated/table_filters.js:203
+#: templates/js/translated/table_filters.js:134
+#: templates/js/translated/table_filters.js:215
msgid "Serial number greater than or equal to"
msgstr ""
-#: templates/js/translated/table_filters.js:125
-#: templates/js/translated/table_filters.js:206
+#: templates/js/translated/table_filters.js:137
+#: templates/js/translated/table_filters.js:218
msgid "Serial number LTE"
msgstr ""
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:207
+#: templates/js/translated/table_filters.js:138
+#: templates/js/translated/table_filters.js:219
msgid "Serial number less than or equal to"
msgstr ""
-#: templates/js/translated/table_filters.js:129
-#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:198
-#: templates/js/translated/table_filters.js:199
+#: templates/js/translated/table_filters.js:141
+#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:211
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:134
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:228
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:145
-#: templates/js/translated/table_filters.js:330
+#: templates/js/translated/table_filters.js:157
+#: templates/js/translated/table_filters.js:342
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:158
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:151
+#: templates/js/translated/table_filters.js:163
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:155
+#: templates/js/translated/table_filters.js:167
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:156
+#: templates/js/translated/table_filters.js:168
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:161
+#: templates/js/translated/table_filters.js:173
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:166
+#: templates/js/translated/table_filters.js:178
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:183
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:175
+#: templates/js/translated/table_filters.js:187
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:176
+#: templates/js/translated/table_filters.js:188
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:192
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:193
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:185
+#: templates/js/translated/table_filters.js:197
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:186
+#: templates/js/translated/table_filters.js:198
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:191
+#: templates/js/translated/table_filters.js:203
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:211
-#: templates/js/translated/table_filters.js:212
+#: templates/js/translated/table_filters.js:223
+#: templates/js/translated/table_filters.js:224
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:220
+#: templates/js/translated/table_filters.js:232
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:221
+#: templates/js/translated/table_filters.js:233
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:230
+#: templates/js/translated/table_filters.js:242
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:236
+#: templates/js/translated/table_filters.js:248
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:267
+#: templates/js/translated/table_filters.js:279
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:295
-#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:307
+#: templates/js/translated/table_filters.js:324
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:300
-#: templates/js/translated/table_filters.js:317
+#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:329
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:341
+#: templates/js/translated/table_filters.js:353
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:345
+#: templates/js/translated/table_filters.js:357
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:346
+#: templates/js/translated/table_filters.js:358
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:351
+#: templates/js/translated/table_filters.js:363
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:359
+#: templates/js/translated/table_filters.js:371
msgid "Stock available"
msgstr ""
-#: templates/js/translated/table_filters.js:387
+#: templates/js/translated/table_filters.js:399
msgid "Purchasable"
msgstr ""
@@ -8189,8 +8213,8 @@ msgstr ""
msgid "rows"
msgstr ""
-#: templates/js/translated/tables.js:377 templates/search_form.html:5
-#: templates/search_form.html:6
+#: templates/js/translated/tables.js:377 templates/search_form.html:6
+#: templates/search_form.html:7
msgid "Search"
msgstr ""
@@ -8218,30 +8242,34 @@ msgstr ""
msgid "All"
msgstr ""
-#: templates/navbar.html:39
+#: templates/navbar.html:40
msgid "Buy"
msgstr ""
-#: templates/navbar.html:51
+#: templates/navbar.html:52
msgid "Sell"
msgstr ""
-#: templates/navbar.html:82 users/models.py:39
+#: templates/navbar.html:86 users/models.py:39
msgid "Admin"
msgstr ""
-#: templates/navbar.html:84
+#: templates/navbar.html:88
msgid "Logout"
msgstr ""
-#: templates/navbar.html:86
+#: templates/navbar.html:90
msgid "Login"
msgstr ""
-#: templates/navbar.html:107
+#: templates/navbar.html:111
msgid "About InvenTree"
msgstr ""
+#: templates/navbar_demo.html:5
+msgid "InvenTree demo mode"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.mo b/InvenTree/locale/ru/LC_MESSAGES/django.mo
index 45a221f872..538be8df29 100644
Binary files a/InvenTree/locale/ru/LC_MESSAGES/django.mo and b/InvenTree/locale/ru/LC_MESSAGES/django.mo differ
diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po
index 0cb5a878d6..3edb9e42bd 100644
--- a/InvenTree/locale/ru/LC_MESSAGES/django.po
+++ b/InvenTree/locale/ru/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-11 06:21+0000\n"
+"POT-Creation-Date: 2021-11-22 22:08+0000\n"
"PO-Revision-Date: 2021-10-11 06:29\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
@@ -33,260 +33,266 @@ msgstr "Соответствующее действие не найдено"
msgid "Enter date"
msgstr "Введите дату"
-#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123
-#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27
-#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71
-#: part/forms.py:108 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:564
+#: InvenTree/forms.py:120 build/forms.py:48 build/forms.py:69 build/forms.py:93
+#: order/forms.py:26 order/forms.py:37 order/forms.py:48 order/forms.py:59
+#: order/forms.py:70 part/forms.py:108 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:594
msgid "Confirm"
msgstr "Подтвердить"
-#: InvenTree/forms.py:132
+#: InvenTree/forms.py:136
msgid "Confirm delete"
msgstr "Подтвердите удаление"
-#: InvenTree/forms.py:133
+#: InvenTree/forms.py:137
msgid "Confirm item deletion"
msgstr "Подтвердите удаление элемента"
-#: InvenTree/forms.py:164
+#: InvenTree/forms.py:168
msgid "Enter password"
msgstr "Введите пароль"
-#: InvenTree/forms.py:165
+#: InvenTree/forms.py:169
msgid "Enter new password"
msgstr "Введите новый пароль"
-#: InvenTree/forms.py:172
+#: InvenTree/forms.py:176
msgid "Confirm password"
msgstr "Подтвердить пароль"
-#: InvenTree/forms.py:173
+#: InvenTree/forms.py:177
msgid "Confirm new password"
msgstr "Подтвердите новый пароль"
-#: InvenTree/forms.py:205
+#: InvenTree/forms.py:209
msgid "Select Category"
msgstr "Выбрать категорию"
-#: InvenTree/forms.py:226
-msgid "E-mail (again)"
-msgstr ""
-
#: InvenTree/forms.py:230
-msgid "E-mail address confirmation"
+msgid "Email (again)"
msgstr ""
-#: InvenTree/forms.py:250
+#: InvenTree/forms.py:234
+msgid "Email address confirmation"
+msgstr ""
+
+#: InvenTree/forms.py:254
msgid "You must type the same email each time."
msgstr ""
-#: InvenTree/helpers.py:401
+#: InvenTree/helpers.py:430
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr "Дублировать серийный номер: {n}"
-#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437
-#: stock/views.py:1340
+#: InvenTree/helpers.py:437 order/models.py:318 order/models.py:440
+#: stock/views.py:1264
msgid "Invalid quantity provided"
msgstr "недопустимое количество"
-#: InvenTree/helpers.py:411
+#: InvenTree/helpers.py:440
msgid "Empty serial number string"
msgstr "Пустая строка серийного номера"
-#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:462 InvenTree/helpers.py:465 InvenTree/helpers.py:468
+#: InvenTree/helpers.py:493
#, python-brace-format
msgid "Invalid group: {g}"
msgstr "Некорректный идентификатор группы {g}"
-#: InvenTree/helpers.py:469
+#: InvenTree/helpers.py:498
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr "Повторяющийся серийный {g}"
-#: InvenTree/helpers.py:477
+#: InvenTree/helpers.py:506
msgid "No serial numbers found"
msgstr "Серийных номеров не найдено"
-#: InvenTree/helpers.py:481
+#: InvenTree/helpers.py:510
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr "Число уникальных серийных номеров ({s}) должно соответствовать количеству ({q})"
-#: InvenTree/models.py:66 stock/models.py:1823
+#: InvenTree/models.py:109 stock/models.py:1874
msgid "Attachment"
msgstr "Вложения"
-#: InvenTree/models.py:67
+#: InvenTree/models.py:110
msgid "Select file to attach"
msgstr "Выберите файл для вложения"
-#: InvenTree/models.py:69 templates/js/translated/attachment.js:87
+#: InvenTree/models.py:112 templates/js/translated/attachment.js:91
msgid "Comment"
msgstr "Комментарий"
-#: InvenTree/models.py:69
+#: InvenTree/models.py:112
msgid "File comment"
msgstr "Комментарий к файлу"
-#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055
-#: common/models.py:1056 part/models.py:2055
-#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/translated/stock.js:1669
+#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185
+#: common/models.py:1186 part/models.py:2205 part/models.py:2225
+#: report/templates/report/inventree_test_report_base.html:96
+#: templates/js/translated/stock.js:2054
msgid "User"
msgstr "Пользователь"
-#: InvenTree/models.py:79
+#: InvenTree/models.py:122
msgid "upload date"
msgstr "дата загрузки"
-#: InvenTree/models.py:99
+#: InvenTree/models.py:142
msgid "Filename must not be empty"
msgstr ""
-#: InvenTree/models.py:122
+#: InvenTree/models.py:165
msgid "Invalid attachment directory"
msgstr ""
-#: InvenTree/models.py:132
+#: InvenTree/models.py:175
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr ""
-#: InvenTree/models.py:135
+#: InvenTree/models.py:178
msgid "Filename missing extension"
msgstr ""
-#: InvenTree/models.py:142
+#: InvenTree/models.py:185
msgid "Attachment with this filename already exists"
msgstr ""
-#: InvenTree/models.py:149
+#: InvenTree/models.py:192
msgid "Error renaming file"
msgstr ""
-#: InvenTree/models.py:184
+#: InvenTree/models.py:227
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415
-#: label/models.py:112 part/models.py:659 part/models.py:2216
-#: part/templates/part/part_base.html:241 report/models.py:181
-#: templates/js/translated/company.js:637 templates/js/translated/part.js:477
-#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141
-#: templates/js/translated/stock.js:1462
+#: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415
+#: label/models.py:112 part/models.py:741 part/models.py:2389
+#: part/templates/part/detail.html:25 report/models.py:181
+#: templates/js/translated/company.js:637 templates/js/translated/part.js:498
+#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272
+#: templates/js/translated/stock.js:1847
msgid "Name"
msgstr "Название"
-#: InvenTree/models.py:207 build/models.py:189
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/manufacturer_part.html:76
-#: company/templates/company/supplier_part.html:75 label/models.py:119
-#: order/models.py:158 part/models.py:682
-#: part/templates/part/part_base.html:246
+#: InvenTree/models.py:250 build/models.py:207
+#: build/templates/build/detail.html:25 company/models.py:354
+#: company/models.py:570 company/templates/company/manufacturer_part.html:80
+#: company/templates/company/supplier_part.html:81 label/models.py:119
+#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30
#: part/templates/part/set_category.html:14 report/models.py:194
-#: report/models.py:551 report/models.py:590
+#: report/models.py:553 report/models.py:592
#: report/templates/report/inventree_build_order_base.html:118
-#: templates/InvenTree/settings/header.html:9
-#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217
-#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344
+#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214
+#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621
+#: templates/js/translated/company.js:344
#: templates/js/translated/company.js:547
-#: templates/js/translated/company.js:836 templates/js/translated/order.js:672
-#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056
-#: templates/js/translated/part.js:536 templates/js/translated/part.js:724
-#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153
-#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819
-#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519
+#: templates/js/translated/company.js:836 templates/js/translated/order.js:673
+#: templates/js/translated/order.js:833 templates/js/translated/order.js:1069
+#: templates/js/translated/part.js:557 templates/js/translated/part.js:745
+#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291
+#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121
+#: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904
msgid "Description"
msgstr "Описание"
-#: InvenTree/models.py:208
+#: InvenTree/models.py:251
msgid "Description (optional)"
msgstr "Описание (необязательно)"
-#: InvenTree/models.py:216
+#: InvenTree/models.py:259
msgid "parent"
msgstr "родитель"
-#: InvenTree/serializers.py:55 part/models.py:2475
+#: InvenTree/serializers.py:62 part/models.py:2674
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:244
+#: InvenTree/serializers.py:251
msgid "Filename"
msgstr ""
-#: InvenTree/settings.py:529
+#: InvenTree/settings.py:663
msgid "German"
msgstr "Немецкий"
-#: InvenTree/settings.py:530
+#: InvenTree/settings.py:664
msgid "Greek"
msgstr "Греческий"
-#: InvenTree/settings.py:531
+#: InvenTree/settings.py:665
msgid "English"
msgstr "Английский"
-#: InvenTree/settings.py:532
+#: InvenTree/settings.py:666
msgid "Spanish"
msgstr "Испанский"
-#: InvenTree/settings.py:533
+#: InvenTree/settings.py:667
+msgid "Spanish (Mexican)"
+msgstr ""
+
+#: InvenTree/settings.py:668
msgid "French"
msgstr "Французский"
-#: InvenTree/settings.py:534
+#: InvenTree/settings.py:669
msgid "Hebrew"
msgstr "Иврит"
-#: InvenTree/settings.py:535
+#: InvenTree/settings.py:670
msgid "Italian"
msgstr "Итальянский"
-#: InvenTree/settings.py:536
+#: InvenTree/settings.py:671
msgid "Japanese"
msgstr "Японский"
-#: InvenTree/settings.py:537
+#: InvenTree/settings.py:672
msgid "Korean"
msgstr "Корейский"
-#: InvenTree/settings.py:538
+#: InvenTree/settings.py:673
msgid "Dutch"
msgstr "Голландский"
-#: InvenTree/settings.py:539
+#: InvenTree/settings.py:674
msgid "Norwegian"
msgstr "Норвежский"
-#: InvenTree/settings.py:540
+#: InvenTree/settings.py:675
msgid "Polish"
msgstr "Польский"
-#: InvenTree/settings.py:541
+#: InvenTree/settings.py:676
+msgid "Portugese"
+msgstr ""
+
+#: InvenTree/settings.py:677
msgid "Russian"
msgstr "Русский"
-#: InvenTree/settings.py:542
+#: InvenTree/settings.py:678
msgid "Swedish"
msgstr "Шведский"
-#: InvenTree/settings.py:543
+#: InvenTree/settings.py:679
msgid "Thai"
msgstr "Тайский"
-#: InvenTree/settings.py:544
+#: InvenTree/settings.py:680
msgid "Turkish"
msgstr "Турецкий"
-#: InvenTree/settings.py:545
+#: InvenTree/settings.py:681
msgid "Vietnamese"
msgstr "Вьетнамский"
-#: InvenTree/settings.py:546
+#: InvenTree/settings.py:682
msgid "Chinese"
msgstr "Китайский"
@@ -302,196 +308,196 @@ msgstr "Сервер электронной почты не настроен"
msgid "InvenTree system health checks failed"
msgstr "Ошибка проверки состояния системы InvenTree"
-#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145
-#: InvenTree/status_codes.py:314
+#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142
+#: InvenTree/status_codes.py:311
msgid "Pending"
msgstr "Ожидаемый"
-#: InvenTree/status_codes.py:105
+#: InvenTree/status_codes.py:102
msgid "Placed"
msgstr "Размещены"
-#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317
+#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:314
msgid "Complete"
msgstr "Готово"
-#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147
-#: InvenTree/status_codes.py:316
+#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144
+#: InvenTree/status_codes.py:313
msgid "Cancelled"
msgstr "Отменено"
-#: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148
-#: InvenTree/status_codes.py:190
+#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145
+#: InvenTree/status_codes.py:187
msgid "Lost"
msgstr "Потерян"
-#: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149
-#: InvenTree/status_codes.py:192
+#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146
+#: InvenTree/status_codes.py:189
msgid "Returned"
msgstr "Возвращено"
-#: InvenTree/status_codes.py:146
-#: order/templates/order/sales_order_base.html:131
+#: InvenTree/status_codes.py:143
+#: order/templates/order/sales_order_base.html:147
msgid "Shipped"
msgstr "Доставлено"
-#: InvenTree/status_codes.py:186
+#: InvenTree/status_codes.py:183
msgid "OK"
msgstr "Да"
-#: InvenTree/status_codes.py:187
+#: InvenTree/status_codes.py:184
msgid "Attention needed"
msgstr "Требуется внимание"
-#: InvenTree/status_codes.py:188
+#: InvenTree/status_codes.py:185
msgid "Damaged"
msgstr "Поврежденный"
-#: InvenTree/status_codes.py:189
+#: InvenTree/status_codes.py:186
msgid "Destroyed"
msgstr "Разрушено"
-#: InvenTree/status_codes.py:191
+#: InvenTree/status_codes.py:188
msgid "Rejected"
msgstr "Отклоненный"
-#: InvenTree/status_codes.py:272
+#: InvenTree/status_codes.py:269
msgid "Legacy stock tracking entry"
msgstr "Отслеживание устаревших запасов"
-#: InvenTree/status_codes.py:274
+#: InvenTree/status_codes.py:271
msgid "Stock item created"
msgstr "Товар создан"
-#: InvenTree/status_codes.py:276
+#: InvenTree/status_codes.py:273
msgid "Edited stock item"
msgstr "Отредактированный товар"
-#: InvenTree/status_codes.py:277
+#: InvenTree/status_codes.py:274
msgid "Assigned serial number"
msgstr "Присвоенный серийный номер"
-#: InvenTree/status_codes.py:279
+#: InvenTree/status_codes.py:276
msgid "Stock counted"
msgstr "Склад подсчитан"
-#: InvenTree/status_codes.py:280
+#: InvenTree/status_codes.py:277
msgid "Stock manually added"
msgstr "Добавлен вручную"
-#: InvenTree/status_codes.py:281
+#: InvenTree/status_codes.py:278
msgid "Stock manually removed"
msgstr "Удалено вручную"
-#: InvenTree/status_codes.py:283
+#: InvenTree/status_codes.py:280
msgid "Location changed"
msgstr "Расположение изменено"
-#: InvenTree/status_codes.py:285
+#: InvenTree/status_codes.py:282
msgid "Installed into assembly"
msgstr "Укомплектовано"
-#: InvenTree/status_codes.py:286
+#: InvenTree/status_codes.py:283
msgid "Removed from assembly"
msgstr "Снято со сборки"
-#: InvenTree/status_codes.py:288
+#: InvenTree/status_codes.py:285
msgid "Installed component item"
msgstr "Установленный элемент компонента"
-#: InvenTree/status_codes.py:289
+#: InvenTree/status_codes.py:286
msgid "Removed component item"
msgstr "Удален элемент компонента"
-#: InvenTree/status_codes.py:291
+#: InvenTree/status_codes.py:288
msgid "Split from parent item"
msgstr "Отделить от родительского элемента"
-#: InvenTree/status_codes.py:292
+#: InvenTree/status_codes.py:289
msgid "Split child item"
msgstr "Разбить дочерний элемент"
-#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186
+#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202
msgid "Sent to customer"
msgstr "Отправлено клиенту"
-#: InvenTree/status_codes.py:295
+#: InvenTree/status_codes.py:292
msgid "Returned from customer"
msgstr "Возвращено от клиента"
-#: InvenTree/status_codes.py:297
+#: InvenTree/status_codes.py:294
msgid "Build order output created"
msgstr "Создан вывод заказа сборки"
-#: InvenTree/status_codes.py:298
+#: InvenTree/status_codes.py:295
msgid "Build order output completed"
msgstr "Вывод заказа сборки завершён"
-#: InvenTree/status_codes.py:300
+#: InvenTree/status_codes.py:297
msgid "Received against purchase order"
msgstr "Получено по заказу на покупку"
-#: InvenTree/status_codes.py:315
+#: InvenTree/status_codes.py:312
msgid "Production"
msgstr "Продукция"
-#: InvenTree/validators.py:22
+#: InvenTree/validators.py:23
msgid "Not a valid currency code"
msgstr "Неверный код валюты"
-#: InvenTree/validators.py:50
+#: InvenTree/validators.py:51
msgid "Invalid character in part name"
msgstr "Неверный символ в названии части"
-#: InvenTree/validators.py:63
+#: InvenTree/validators.py:64
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN должен совпадать с регулярным выражением {pat}"
-#: InvenTree/validators.py:77 InvenTree/validators.py:91
-#: InvenTree/validators.py:105
+#: InvenTree/validators.py:78 InvenTree/validators.py:92
+#: InvenTree/validators.py:106
#, python-brace-format
msgid "Reference must match pattern {pattern}"
msgstr "Ссылка должна соответствовать шаблону {pattern}"
-#: InvenTree/validators.py:113
+#: InvenTree/validators.py:114
#, python-brace-format
msgid "Illegal character in name ({x})"
msgstr "Недопустимый символ в имени ({x})"
-#: InvenTree/validators.py:132 InvenTree/validators.py:148
+#: InvenTree/validators.py:133 InvenTree/validators.py:149
msgid "Overage value must not be negative"
msgstr "Значение перегрузки не должно быть отрицательным"
-#: InvenTree/validators.py:150
+#: InvenTree/validators.py:151
msgid "Overage must not exceed 100%"
msgstr "Перегрузка не может превысить 100%"
-#: InvenTree/validators.py:157
+#: InvenTree/validators.py:158
msgid "Overage must be an integer value or a percentage"
msgstr "Превышение должно быть целым числом или процентом"
-#: InvenTree/views.py:616
+#: InvenTree/views.py:536
msgid "Delete Item"
msgstr "Удалить элемент"
-#: InvenTree/views.py:665
+#: InvenTree/views.py:585
msgid "Check box to confirm item deletion"
msgstr "Установите флажок для подтверждения удаления элемента"
-#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17
msgid "Edit User Information"
msgstr "Редактировать информацию о пользователе"
-#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21
msgid "Set Password"
msgstr "Установить пароль"
-#: InvenTree/views.py:710
+#: InvenTree/views.py:630
msgid "Password fields must match"
msgstr "Пароли должны совпадать"
-#: InvenTree/views.py:954 templates/navbar.html:97
+#: InvenTree/views.py:863 templates/navbar.html:101
msgid "System Information"
msgstr "Информация о системе"
@@ -535,599 +541,574 @@ msgstr "Хэш штрих-кода уже соответствует объек
msgid "Barcode associated with StockItem"
msgstr "Штрих-код, связанный с инвентарем"
-#: build/api.py:213
-msgid "Matching build order does not exist"
-msgstr ""
-
-#: build/forms.py:37
-msgid "Build Order reference"
-msgstr "Ссылка на заказ"
-
-#: build/forms.py:38
-msgid "Order target date"
-msgstr "Срок выполнения заказа"
-
-#: build/forms.py:42 build/templates/build/build_base.html:146
-#: build/templates/build/detail.html:124
-#: order/templates/order/order_base.html:124
-#: order/templates/order/sales_order_base.html:124
-#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689
-#: templates/js/translated/order.js:1074
-msgid "Target Date"
-msgstr "Целевая дата"
-
-#: build/forms.py:43 build/models.py:279
-msgid "Target date for build completion. Build will be overdue after this date."
-msgstr "Целевая дата для сборки. Сборка будет просрочена после этой даты."
-
-#: build/forms.py:48 build/forms.py:90 build/models.py:1281
-#: build/templates/build/allocation_card.html:23
-#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:1087
-#: company/forms.py:42 company/templates/company/supplier_part.html:226
-#: order/forms.py:101 order/forms.py:123 order/models.py:720
-#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249
-#: part/forms.py:265 part/forms.py:281 part/models.py:2377
+#: build/forms.py:36 build/models.py:1283
+#: build/templates/build/build_base.html:124
+#: build/templates/build/detail.html:35 common/models.py:1225
+#: company/forms.py:42 company/templates/company/supplier_part.html:251
+#: order/forms.py:102 order/models.py:729 order/models.py:991
+#: order/templates/order/order_wizard/match_parts.html:30
+#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237
+#: part/forms.py:253 part/forms.py:269 part/models.py:2576
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030
+#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
-#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:140 stock/templates/stock/item_base.html:269
-#: stock/templates/stock/stock_adjust.html:18
-#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264
-#: templates/js/translated/build.js:314 templates/js/translated/build.js:638
-#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515
-#: templates/js/translated/model_renderers.js:74
-#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170
-#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444
-#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487
-#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654
-#: templates/js/translated/stock.js:1829
+#: report/templates/report/inventree_test_report_base.html:81
+#: report/templates/report/inventree_test_report_base.html:139
+#: stock/forms.py:156 stock/serializers.py:286
+#: stock/templates/stock/item_base.html:256
+#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441
+#: templates/js/translated/build.js:235 templates/js/translated/build.js:435
+#: templates/js/translated/build.js:629 templates/js/translated/build.js:639
+#: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362
+#: templates/js/translated/model_renderers.js:99
+#: templates/js/translated/order.js:870 templates/js/translated/order.js:1183
+#: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268
+#: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457
+#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626
+#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347
+#: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141
msgid "Quantity"
msgstr "Количество"
-#: build/forms.py:49
-msgid "Number of items to build"
-msgstr "Количество элементов для сборки"
-
-#: build/forms.py:91
+#: build/forms.py:37
msgid "Enter quantity for build output"
msgstr "Введите количество для вывода сборки"
-#: build/forms.py:95 order/forms.py:95 stock/forms.py:83
+#: build/forms.py:41 order/forms.py:96 stock/forms.py:95
+#: stock/serializers.py:307 templates/js/translated/stock.js:194
+#: templates/js/translated/stock.js:348
msgid "Serial Numbers"
msgstr "Серийные номера"
-#: build/forms.py:97
+#: build/forms.py:43
msgid "Enter serial numbers for build outputs"
msgstr "Введите серийные номера для результатов сборки"
-#: build/forms.py:103
+#: build/forms.py:49
msgid "Confirm creation of build output"
msgstr "Подтвердите создание выходной информации сборки"
-#: build/forms.py:124
+#: build/forms.py:70
msgid "Confirm deletion of build output"
msgstr "Подтвердите удаление результатов сборки"
-#: build/forms.py:145
-msgid "Confirm unallocation of stock"
-msgstr "Подтвердите снятие со склада"
-
-#: build/forms.py:174
+#: build/forms.py:94
msgid "Mark build as complete"
msgstr "Пометить сборку как завершенную"
-#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284
-#: stock/forms.py:280 stock/serializers.py:553
-#: stock/templates/stock/item_base.html:299
-#: stock/templates/stock/stock_adjust.html:17
-#: templates/js/translated/barcode.js:385
-#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299
-#: templates/js/translated/build.js:650 templates/js/translated/order.js:347
-#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263
-#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179
-#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921
-#: templates/js/translated/stock.js:1546
-msgid "Location"
-msgstr "Расположение"
-
-#: build/forms.py:199
-msgid "Location of completed parts"
-msgstr "Расположение укомплектованных частей"
-
-#: build/forms.py:203 build/templates/build/build_base.html:138
-#: build/templates/build/detail.html:62 order/models.py:563
-#: order/serializers.py:238 stock/templates/stock/item_base.html:422
-#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251
-#: templates/js/translated/order.js:430 templates/js/translated/order.js:676
-#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896
-#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845
-msgid "Status"
-msgstr "Статус"
-
-#: build/forms.py:204
-msgid "Build output stock status"
-msgstr "Создать статус склада вывода"
-
-#: build/forms.py:211
-msgid "Confirm incomplete"
-msgstr "Подтвердите незавершенность"
-
-#: build/forms.py:212
-msgid "Confirm completion with incomplete stock allocation"
-msgstr "Подтвердите завершение с неполным выделением запасов"
-
-#: build/forms.py:215
-msgid "Confirm build completion"
-msgstr "Подтвердите завершение сборки"
-
-#: build/forms.py:240
+#: build/forms.py:107
msgid "Confirm cancel"
msgstr "Подтвердите отмену"
-#: build/forms.py:240 build/views.py:65
+#: build/forms.py:107 build/views.py:65
msgid "Confirm build cancellation"
msgstr "Подтвердите отмену сборки"
-#: build/models.py:115
+#: build/models.py:133
msgid "Invalid choice for parent build"
msgstr ""
-#: build/models.py:119 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:73
+#: build/models.py:137 build/templates/build/build_base.html:9
+#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:276
+#: templates/js/translated/build.js:397
msgid "Build Order"
msgstr "Порядок сборки"
-#: build/models.py:120 build/templates/build/index.html:8
-#: build/templates/build/index.html:15
-#: order/templates/order/sales_order_detail.html:34
-#: order/templates/order/so_navbar.html:19
-#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50
-#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229
-#: templates/InvenTree/search.html:171
-#: templates/InvenTree/settings/navbar.html:113
-#: templates/InvenTree/settings/navbar.html:115 users/models.py:44
+#: build/models.py:138 build/templates/build/build_base.html:13
+#: build/templates/build/index.html:8 build/templates/build/index.html:12
+#: order/templates/order/sales_order_detail.html:42
+#: templates/InvenTree/index.html:221 templates/InvenTree/search.html:145
+#: users/models.py:44
msgid "Build Orders"
msgstr "Порядок сборки"
-#: build/models.py:180
+#: build/models.py:198
msgid "Build Order Reference"
msgstr "Ссылка на заказ"
-#: build/models.py:181 order/models.py:246 order/models.py:547
-#: order/models.py:727 part/models.py:2386
+#: build/models.py:199 order/models.py:249 order/models.py:556
+#: order/models.py:736 part/models.py:2585
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734
-#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863
-#: templates/js/translated/order.js:1438
+#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119
+#: templates/js/translated/order.js:864 templates/js/translated/order.js:1451
msgid "Reference"
msgstr ""
-#: build/models.py:192
+#: build/models.py:210
msgid "Brief description of the build"
msgstr ""
-#: build/models.py:201 build/templates/build/build_base.html:163
-#: build/templates/build/detail.html:80
+#: build/models.py:219 build/templates/build/build_base.html:156
+#: build/templates/build/detail.html:88
msgid "Parent Build"
msgstr ""
-#: build/models.py:202
+#: build/models.py:220
msgid "BuildOrder to which this build is allocated"
msgstr ""
-#: build/models.py:207 build/templates/build/build_base.html:128
-#: build/templates/build/detail.html:29 company/models.py:705
-#: order/models.py:780 order/models.py:851
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298
-#: part/models.py:2000 part/models.py:2016 part/models.py:2035
-#: part/models.py:2053 part/models.py:2132 part/models.py:2254
-#: part/models.py:2361 part/templates/part/detail.html:199
+#: build/models.py:225 build/templates/build/build_base.html:119
+#: build/templates/build/detail.html:30 company/models.py:705
+#: order/models.py:789 order/models.py:860
+#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357
+#: part/models.py:2151 part/models.py:2167 part/models.py:2186
+#: part/models.py:2203 part/models.py:2305 part/models.py:2427
+#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
-#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384
-#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611
-#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222
-#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488
-#: templates/js/translated/company.js:745 templates/js/translated/order.js:425
-#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422
-#: templates/js/translated/part.js:705 templates/js/translated/part.js:875
-#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776
-#: templates/js/translated/stock.js:1817
+#: templates/InvenTree/search.html:86
+#: templates/email/build_order_required_stock.html:17
+#: templates/email/low_stock_notification.html:16
+#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213
+#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620
+#: templates/js/translated/build.js:988 templates/js/translated/build.js:1359
+#: templates/js/translated/build.js:1626 templates/js/translated/company.js:488
+#: templates/js/translated/company.js:745 templates/js/translated/order.js:426
+#: templates/js/translated/order.js:818 templates/js/translated/order.js:1435
+#: templates/js/translated/part.js:726 templates/js/translated/part.js:892
+#: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:2129
msgid "Part"
msgstr "Детали"
-#: build/models.py:215
+#: build/models.py:233
msgid "Select part to build"
msgstr ""
-#: build/models.py:220
+#: build/models.py:238
msgid "Sales Order Reference"
msgstr ""
-#: build/models.py:224
+#: build/models.py:242
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:229 templates/js/translated/build.js:962
+#: build/models.py:247 templates/js/translated/build.js:1347
msgid "Source Location"
msgstr ""
-#: build/models.py:233
+#: build/models.py:251
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr ""
-#: build/models.py:238
+#: build/models.py:256
msgid "Destination Location"
msgstr ""
-#: build/models.py:242
+#: build/models.py:260
msgid "Select location where the completed items will be stored"
msgstr ""
-#: build/models.py:246
+#: build/models.py:264
msgid "Build Quantity"
msgstr ""
-#: build/models.py:249
+#: build/models.py:267
msgid "Number of stock items to build"
msgstr ""
-#: build/models.py:253
+#: build/models.py:271
msgid "Completed items"
msgstr ""
-#: build/models.py:255
+#: build/models.py:273
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:259 part/templates/part/part_base.html:198
+#: build/models.py:277 part/templates/part/part_base.html:216
msgid "Build Status"
msgstr ""
-#: build/models.py:263
+#: build/models.py:281
msgid "Build status code"
msgstr ""
-#: build/models.py:267 stock/models.py:513
+#: build/models.py:285 stock/models.py:544
msgid "Batch Code"
msgstr ""
-#: build/models.py:271
+#: build/models.py:289
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:274 order/models.py:162 part/models.py:854
-#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069
+#: build/models.py:292 order/models.py:165 part/models.py:936
+#: part/templates/part/detail.html:86 templates/js/translated/order.js:1082
msgid "Creation Date"
msgstr ""
-#: build/models.py:278 order/models.py:569
+#: build/models.py:296 order/models.py:578
msgid "Target completion date"
msgstr ""
-#: build/models.py:282 order/models.py:288
-#: templates/js/translated/build.js:1293
+#: build/models.py:297
+msgid "Target date for build completion. Build will be overdue after this date."
+msgstr "Целевая дата для сборки. Сборка будет просрочена после этой даты."
+
+#: build/models.py:300 order/models.py:291
+#: templates/js/translated/build.js:1697
msgid "Completion Date"
msgstr ""
-#: build/models.py:288
+#: build/models.py:306
msgid "completed by"
msgstr "выполнено"
-#: build/models.py:296 templates/js/translated/build.js:1264
+#: build/models.py:314 templates/js/translated/build.js:1668
msgid "Issued by"
msgstr ""
-#: build/models.py:297
+#: build/models.py:315
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:305 build/templates/build/build_base.html:184
-#: build/templates/build/detail.html:108 order/models.py:176
-#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:145 part/models.py:858
+#: build/models.py:323 build/templates/build/build_base.html:177
+#: build/templates/build/detail.html:116 order/models.py:179
+#: order/templates/order/order_base.html:154
+#: order/templates/order/sales_order_base.html:161 part/models.py:940
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1680
msgid "Responsible"
msgstr "Ответственный"
-#: build/models.py:306
+#: build/models.py:324
msgid "User responsible for this build order"
msgstr ""
-#: build/models.py:311 build/templates/build/detail.html:94
-#: company/templates/company/manufacturer_part.html:83
-#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:266 stock/models.py:507
-#: stock/templates/stock/item_base.html:359
+#: build/models.py:329 build/templates/build/detail.html:102
+#: company/templates/company/manufacturer_part.html:87
+#: company/templates/company/supplier_part.html:88
+#: part/templates/part/detail.html:80 stock/models.py:538
+#: stock/templates/stock/item_base.html:346
msgid "External Link"
msgstr "Внешняя ссылка"
-#: build/models.py:312 part/models.py:716 stock/models.py:509
+#: build/models.py:330 part/models.py:798 stock/models.py:540
msgid "Link to external URL"
msgstr "Ссылка на внешний URL"
-#: build/models.py:316 build/templates/build/navbar.html:52
-#: company/models.py:142 company/models.py:577
-#: company/templates/company/navbar.html:69
-#: company/templates/company/navbar.html:72 order/models.py:180
-#: order/models.py:729 order/templates/order/po_navbar.html:38
-#: order/templates/order/po_navbar.html:41
-#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:843
-#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120
-#: part/templates/part/navbar.html:123
+#: build/models.py:334 build/serializers.py:201 company/models.py:142
+#: company/models.py:577 order/models.py:183 order/models.py:738
+#: part/models.py:925 part/templates/part/detail.html:223
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579
-#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451
-#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59
-#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841
-#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540
-#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040
+#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610
+#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325
+#: stock/serializers.py:584 templates/js/translated/barcode.js:58
+#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841
+#: templates/js/translated/order.js:963 templates/js/translated/order.js:1561
+#: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340
msgid "Notes"
msgstr "Заметки"
-#: build/models.py:317
+#: build/models.py:335
msgid "Extra build notes"
msgstr ""
-#: build/models.py:714
+#: build/models.py:710
msgid "No build output specified"
msgstr ""
-#: build/models.py:717
+#: build/models.py:713
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:720
+#: build/models.py:716
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1102
+#: build/models.py:1108
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1111
+#: build/models.py:1117
#, python-brace-format
msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1121
+#: build/models.py:1127
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1127 order/models.py:955
+#: build/models.py:1133 order/models.py:964
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1133
+#: build/models.py:1139
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1191
+#: build/models.py:1193
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1251 stock/templates/stock/item_base.html:331
-#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195
-#: templates/navbar.html:35
+#: build/models.py:1253 stock/templates/stock/item_base.html:318
+#: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599
+#: templates/navbar.html:33
msgid "Build"
msgstr "Сборка"
-#: build/models.py:1252
+#: build/models.py:1254
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1268 build/serializers.py:151
+#: build/models.py:1270 build/serializers.py:328
#: stock/templates/stock/item_base.html:8
-#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:353
-#: stock/templates/stock/stock_adjust.html:16
-#: templates/js/translated/build.js:287 templates/js/translated/build.js:292
-#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148
-#: templates/js/translated/stock.js:1605
+#: stock/templates/stock/item_base.html:16
+#: stock/templates/stock/item_base.html:340
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:413
+#: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742
+#: templates/js/translated/order.js:1156 templates/js/translated/order.js:1161
+#: templates/js/translated/stock.js:1990
msgid "Stock Item"
msgstr ""
-#: build/models.py:1269
+#: build/models.py:1271
msgid "Source stock item"
msgstr ""
-#: build/models.py:1282
+#: build/models.py:1284
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1290
+#: build/models.py:1292
msgid "Install into"
msgstr ""
-#: build/models.py:1291
+#: build/models.py:1293
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:133 part/models.py:2501
-msgid "BOM Item"
-msgstr ""
-
-#: build/serializers.py:142
-msgid "bom_item.part must point to the same part as the build order"
-msgstr ""
-
-#: build/serializers.py:157
-msgid "Item must be in stock"
-msgstr ""
-
-#: build/serializers.py:171 order/models.py:313 order/serializers.py:231
-#: stock/models.py:351 stock/models.py:1072
-msgid "Quantity must be greater than zero"
-msgstr ""
-
-#: build/serializers.py:180
+#: build/serializers.py:137 build/serializers.py:357
msgid "Build Output"
msgstr ""
+#: build/serializers.py:146
+#, fuzzy
+#| msgid "Build output stock status"
+msgid "Build output does not match the parent build"
+msgstr "Создать статус склада вывода"
+
+#: build/serializers.py:150
+msgid "Output part does not match BuildOrder part"
+msgstr ""
+
+#: build/serializers.py:154
+msgid "This build output has already been completed"
+msgstr ""
+
+#: build/serializers.py:158
+msgid "This build output is not fully allocated"
+msgstr ""
+
+#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285
+#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686
+#: stock/templates/stock/item_base.html:286
+#: templates/js/translated/barcode.js:384
+#: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420
+#: templates/js/translated/build.js:1027 templates/js/translated/order.js:348
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1276
+#: templates/js/translated/order.js:1282 templates/js/translated/part.js:180
+#: templates/js/translated/stock.js:480 templates/js/translated/stock.js:1221
+#: templates/js/translated/stock.js:1931
+msgid "Location"
+msgstr "Расположение"
+
+#: build/serializers.py:191
+#, fuzzy
+#| msgid "Location of completed parts"
+msgid "Location for completed build outputs"
+msgstr "Расположение укомплектованных частей"
+
+#: build/serializers.py:197 build/templates/build/build_base.html:129
+#: build/templates/build/detail.html:63 order/models.py:572
+#: order/serializers.py:238 stock/templates/stock/item_base.html:409
+#: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655
+#: templates/js/translated/order.js:431 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196
+#: templates/js/translated/stock.js:2008 templates/js/translated/stock.js:2157
+msgid "Status"
+msgstr "Статус"
+
#: build/serializers.py:213
+msgid "A list of build outputs must be provided"
+msgstr ""
+
+#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700
+#: part/models.py:2859
+msgid "BOM Item"
+msgstr ""
+
+#: build/serializers.py:269
+#, fuzzy
+#| msgid "Build Notes"
+msgid "Build output"
+msgstr "Заметки сборки"
+
+#: build/serializers.py:278
+#, fuzzy
+#| msgid "Build output stock status"
+msgid "Build output must point to the same build"
+msgstr "Создать статус склада вывода"
+
+#: build/serializers.py:319
+msgid "bom_item.part must point to the same part as the build order"
+msgstr ""
+
+#: build/serializers.py:334
+msgid "Item must be in stock"
+msgstr ""
+
+#: build/serializers.py:348 order/models.py:316 order/serializers.py:231
+#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298
+msgid "Quantity must be greater than zero"
+msgstr ""
+
+#: build/serializers.py:390
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:219
+#: build/serializers.py:396
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:226
+#: build/serializers.py:403
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:254
+#: build/serializers.py:431
msgid "Allocation items must be provided"
msgstr ""
-#: build/templates/build/allocation_card.html:21
-#: build/templates/build/complete_output.html:46
-#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:501 stock/templates/stock/item_base.html:251
-#: templates/js/translated/build.js:636
-#: templates/js/translated/model_renderers.js:72
-#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342
-msgid "Serial Number"
+#: build/tasks.py:92
+msgid "Stock required for build order"
msgstr ""
-#: build/templates/build/build_base.html:18
+#: build/templates/build/build_base.html:39
+#: order/templates/order/order_base.html:28
+#: order/templates/order/sales_order_base.html:38
+msgid "Print actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:43
+msgid "Print build order report"
+msgstr ""
+
+#: build/templates/build/build_base.html:50
+msgid "Build actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:54
+msgid "Edit Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:56
+#: build/templates/build/build_base.html:207 build/views.py:56
+msgid "Cancel Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:59
+msgid "Delete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:64
+#: build/templates/build/build_base.html:65
+#: build/templates/build/build_base.html:223
+msgid "Complete Build"
+msgstr "Завершить сборку"
+
+#: build/templates/build/build_base.html:79
#, python-format
msgid "This Build Order is allocated to Sales Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:25
+#: build/templates/build/build_base.html:86
#, python-format
msgid "This Build Order is a child of Build Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:32
+#: build/templates/build/build_base.html:93
msgid "Build Order is ready to mark as completed"
msgstr ""
-#: build/templates/build/build_base.html:37
+#: build/templates/build/build_base.html:98
msgid "Build Order cannot be completed as outstanding outputs remain"
msgstr ""
-#: build/templates/build/build_base.html:42
+#: build/templates/build/build_base.html:103
msgid "Required build quantity has not yet been completed"
msgstr ""
-#: build/templates/build/build_base.html:47
+#: build/templates/build/build_base.html:108
msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
-#: build/templates/build/build_base.html:75
-#: company/templates/company/company_base.html:40
-#: company/templates/company/manufacturer_part.html:29
-#: company/templates/company/supplier_part.html:30
-#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:30
-#: stock/templates/stock/item_base.html:62
-#: stock/templates/stock/location.html:31
-msgid "Admin view"
-msgstr ""
+#: build/templates/build/build_base.html:138
+#: build/templates/build/detail.html:132
+#: order/templates/order/order_base.html:140
+#: order/templates/order/sales_order_base.html:140
+#: report/templates/report/inventree_build_order_base.html:126
+#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690
+#: templates/js/translated/order.js:1087
+msgid "Target Date"
+msgstr "Целевая дата"
-#: build/templates/build/build_base.html:81
-#: build/templates/build/build_base.html:150
-#: order/templates/order/order_base.html:32
-#: order/templates/order/order_base.html:86
-#: order/templates/order/sales_order_base.html:43
-#: order/templates/order/sales_order_base.html:93
-#: templates/js/translated/table_filters.js:272
-#: templates/js/translated/table_filters.js:300
-#: templates/js/translated/table_filters.js:317
-msgid "Overdue"
-msgstr "Просрочено"
-
-#: build/templates/build/build_base.html:90
-msgid "Print actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:94
-msgid "Print Build Order"
-msgstr ""
-
-#: build/templates/build/build_base.html:100
-#: build/templates/build/build_base.html:222
-msgid "Complete Build"
-msgstr "Завершить сборку"
-
-#: build/templates/build/build_base.html:105
-msgid "Build actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:109
-msgid "Edit Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:111
-#: build/templates/build/build_base.html:206 build/views.py:56
-msgid "Cancel Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:114
-msgid "Delete Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:124
-#: build/templates/build/detail.html:15
-msgid "Build Details"
-msgstr ""
-
-#: build/templates/build/build_base.html:150
+#: build/templates/build/build_base.html:143
#, python-format
msgid "This build was due on %(target)s"
msgstr ""
-#: build/templates/build/build_base.html:157
-#: build/templates/build/detail.html:67
-msgid "Progress"
+#: build/templates/build/build_base.html:143
+#: build/templates/build/build_base.html:188
+#: order/templates/order/order_base.html:81
+#: order/templates/order/order_base.html:102
+#: order/templates/order/sales_order_base.html:78
+#: order/templates/order/sales_order_base.html:107
+#: templates/js/translated/table_filters.js:288
+#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:333
+msgid "Overdue"
+msgstr "Просрочено"
+
+#: build/templates/build/build_base.html:150
+#: build/templates/build/detail.html:68 build/templates/build/detail.html:143
+#: templates/js/translated/build.js:1641
+#: templates/js/translated/table_filters.js:298
+msgid "Completed"
msgstr ""
-#: build/templates/build/build_base.html:170
-#: build/templates/build/detail.html:87 order/models.py:848
+#: build/templates/build/build_base.html:163
+#: build/templates/build/detail.html:95 order/models.py:857
#: order/templates/order/sales_order_base.html:9
-#: order/templates/order/sales_order_base.html:35
+#: order/templates/order/sales_order_base.html:28
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:293
-#: templates/js/translated/order.js:1016
+#: stock/templates/stock/item_base.html:280
+#: templates/js/translated/order.js:1029
msgid "Sales Order"
msgstr ""
-#: build/templates/build/build_base.html:177
-#: build/templates/build/detail.html:101
+#: build/templates/build/build_base.html:170
+#: build/templates/build/detail.html:109
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr "Выдано"
-#: build/templates/build/build_base.html:214
+#: build/templates/build/build_base.html:215
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:215
+#: build/templates/build/build_base.html:216
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
@@ -1175,220 +1156,197 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/templates/build/complete_output.html:10
-msgid "Stock allocation is complete for this output"
+#: build/templates/build/detail.html:16
+msgid "Build Details"
msgstr ""
-#: build/templates/build/complete_output.html:14
-msgid "Stock allocation is incomplete"
-msgstr ""
-
-#: build/templates/build/complete_output.html:20
-msgid "tracked parts have not been fully allocated"
-msgstr ""
-
-#: build/templates/build/complete_output.html:41
-msgid "The following items will be created"
-msgstr ""
-
-#: build/templates/build/detail.html:38
+#: build/templates/build/detail.html:39
msgid "Stock Source"
msgstr ""
-#: build/templates/build/detail.html:43
+#: build/templates/build/detail.html:44
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134
-#: templates/js/translated/order.js:431 templates/js/translated/order.js:939
+#: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150
+#: templates/js/translated/order.js:432 templates/js/translated/order.js:952
msgid "Destination"
msgstr ""
-#: build/templates/build/detail.html:56
+#: build/templates/build/detail.html:57
msgid "Destination location not specified"
msgstr ""
-#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:317
-#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852
-#: templates/js/translated/table_filters.js:129
-#: templates/js/translated/table_filters.js:211
+#: build/templates/build/detail.html:74 templates/js/translated/build.js:647
+msgid "Allocated Parts"
+msgstr ""
+
+#: build/templates/build/detail.html:81
+#: stock/templates/stock/item_base.html:304
+#: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164
+#: templates/js/translated/table_filters.js:145
+#: templates/js/translated/table_filters.js:227
msgid "Batch"
msgstr "Партия"
-#: build/templates/build/detail.html:119
-#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:118
-#: templates/js/translated/build.js:1259
+#: build/templates/build/detail.html:127
+#: order/templates/order/order_base.html:127
+#: order/templates/order/sales_order_base.html:134
+#: templates/js/translated/build.js:1663
msgid "Created"
msgstr "Создано"
-#: build/templates/build/detail.html:130
+#: build/templates/build/detail.html:138
msgid "No target date set"
msgstr "Нет конечной даты"
-#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237
-#: templates/js/translated/table_filters.js:282
-msgid "Completed"
-msgstr ""
-
-#: build/templates/build/detail.html:139
+#: build/templates/build/detail.html:147
msgid "Build not complete"
msgstr ""
-#: build/templates/build/detail.html:150 build/templates/build/navbar.html:35
+#: build/templates/build/detail.html:158
msgid "Child Build Orders"
msgstr ""
-#: build/templates/build/detail.html:166
+#: build/templates/build/detail.html:173
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:172
-msgid "Allocate stock to build"
-msgstr ""
-
-#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20
-#: build/templates/build/navbar.html:23
-msgid "Allocate Stock"
-msgstr ""
-
-#: build/templates/build/detail.html:175 templates/js/translated/build.js:817
+#: build/templates/build/detail.html:177 templates/js/translated/build.js:1202
msgid "Unallocate stock"
msgstr ""
-#: build/templates/build/detail.html:176 build/views.py:257
+#: build/templates/build/detail.html:178
msgid "Unallocate Stock"
msgstr ""
-#: build/templates/build/detail.html:179
+#: build/templates/build/detail.html:180
+msgid "Allocate stock to build"
+msgstr ""
+
+#: build/templates/build/detail.html:181
+msgid "Allocate Stock"
+msgstr ""
+
+#: build/templates/build/detail.html:184
msgid "Order required parts"
msgstr ""
-#: build/templates/build/detail.html:180
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72 order/views.py:509
-#: part/templates/part/category.html:140
+#: build/templates/build/detail.html:185
+#: company/templates/company/detail.html:38
+#: company/templates/company/detail.html:85 order/views.py:509
+#: part/templates/part/category.html:166
msgid "Order Parts"
msgstr "Заказать детали"
-#: build/templates/build/detail.html:186
+#: build/templates/build/detail.html:197
msgid "Untracked stock has been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:190
+#: build/templates/build/detail.html:201
msgid "Untracked stock has not been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:197
+#: build/templates/build/detail.html:208
msgid "Allocate selected items"
msgstr ""
-#: build/templates/build/detail.html:209
+#: build/templates/build/detail.html:218
msgid "This Build Order does not have any associated untracked BOM items"
msgstr ""
-#: build/templates/build/detail.html:218
+#: build/templates/build/detail.html:227
msgid "Incomplete Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:223
+#: build/templates/build/detail.html:231
msgid "Create new build output"
msgstr ""
-#: build/templates/build/detail.html:224
-msgid "Create New Output"
+#: build/templates/build/detail.html:232
+msgid "New Build Output"
msgstr ""
-#: build/templates/build/detail.html:237
-msgid "Create a new build output"
+#: build/templates/build/detail.html:246
+msgid "Output Actions"
msgstr ""
-#: build/templates/build/detail.html:238
-msgid "No incomplete build outputs remain."
+#: build/templates/build/detail.html:250
+msgid "Complete selected items"
msgstr ""
-#: build/templates/build/detail.html:239
-msgid "Create a new build output using the button above"
-msgstr ""
+#: build/templates/build/detail.html:251
+#, fuzzy
+#| msgid "Complete Build"
+msgid "Complete outputs"
+msgstr "Завершить сборку"
-#: build/templates/build/detail.html:247
+#: build/templates/build/detail.html:266
msgid "Completed Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42
-#: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35
-#: order/templates/order/sales_order_detail.html:43
-#: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173
-#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117
-#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47
-#: stock/templates/stock/navbar.html:50
+#: build/templates/build/detail.html:278
+#: order/templates/order/purchase_order_detail.html:60
+#: order/templates/order/sales_order_detail.html:52
+#: part/templates/part/detail.html:300 stock/templates/stock/item.html:95
msgid "Attachments"
msgstr "Приложения"
-#: build/templates/build/detail.html:269
+#: build/templates/build/detail.html:294
msgid "Build Notes"
msgstr "Заметки сборки"
-#: build/templates/build/detail.html:273 build/templates/build/detail.html:414
-#: company/templates/company/detail.html:169
-#: company/templates/company/detail.html:196
-#: order/templates/order/purchase_order_detail.html:71
-#: order/templates/order/purchase_order_detail.html:104
-#: order/templates/order/sales_order_detail.html:58
-#: order/templates/order/sales_order_detail.html:85
-#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103
-#: stock/templates/stock/item.html:188
+#: build/templates/build/detail.html:298 build/templates/build/detail.html:489
+#: company/templates/company/detail.html:188
+#: company/templates/company/detail.html:215
+#: order/templates/order/purchase_order_detail.html:80
+#: order/templates/order/purchase_order_detail.html:108
+#: order/templates/order/sales_order_detail.html:72
+#: order/templates/order/sales_order_detail.html:99
+#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115
+#: stock/templates/stock/item.html:205
msgid "Edit Notes"
msgstr ""
-#: build/templates/build/detail.html:373
-#: order/templates/order/po_attachments.html:79
-#: order/templates/order/purchase_order_detail.html:166
-#: order/templates/order/sales_order_detail.html:146
-#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253
-#: templates/attachment_table.html:6
+#: build/templates/build/detail.html:448
+#: order/templates/order/purchase_order_detail.html:170
+#: order/templates/order/sales_order_detail.html:160
+#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270
+#: templates/attachment_button.html:4
msgid "Add Attachment"
msgstr ""
-#: build/templates/build/detail.html:392
-#: order/templates/order/po_attachments.html:51
-#: order/templates/order/purchase_order_detail.html:138
-#: order/templates/order/sales_order_detail.html:119
-#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221
+#: build/templates/build/detail.html:467
+#: order/templates/order/purchase_order_detail.html:142
+#: order/templates/order/sales_order_detail.html:133
+#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238
msgid "Edit Attachment"
msgstr ""
-#: build/templates/build/detail.html:399
-#: order/templates/order/po_attachments.html:58
-#: order/templates/order/purchase_order_detail.html:145
-#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230
-#: templates/js/translated/order.js:1230
+#: build/templates/build/detail.html:474
+#: order/templates/order/purchase_order_detail.html:149
+#: order/templates/order/sales_order_detail.html:139
+#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247
+#: templates/js/translated/order.js:1243
msgid "Confirm Delete Operation"
msgstr ""
-#: build/templates/build/detail.html:400
-#: order/templates/order/po_attachments.html:59
-#: order/templates/order/purchase_order_detail.html:146
-#: order/templates/order/sales_order_detail.html:126
-#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231
+#: build/templates/build/detail.html:475
+#: order/templates/order/purchase_order_detail.html:150
+#: order/templates/order/sales_order_detail.html:140
+#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248
msgid "Delete Attachment"
msgstr ""
-#: build/templates/build/detail.html:443
+#: build/templates/build/detail.html:513
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:444
+#: build/templates/build/detail.html:514
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/edit_build_item.html:7
-msgid "Alter the quantity of stock allocated to the build output"
-msgstr ""
-
-#: build/templates/build/index.html:28
+#: build/templates/build/index.html:18 part/templates/part/detail.html:433
msgid "New Build Order"
msgstr ""
@@ -1396,47 +1354,18 @@ msgstr ""
msgid "Print Build Orders"
msgstr ""
-#: build/templates/build/index.html:43
-#: order/templates/order/purchase_orders.html:27
-#: order/templates/order/sales_orders.html:27
+#: build/templates/build/index.html:44
+#: order/templates/order/purchase_orders.html:34
+#: order/templates/order/sales_orders.html:37
msgid "Display calendar view"
msgstr ""
-#: build/templates/build/index.html:46
-#: order/templates/order/purchase_orders.html:30
-#: order/templates/order/sales_orders.html:30
+#: build/templates/build/index.html:47
+#: order/templates/order/purchase_orders.html:37
+#: order/templates/order/sales_orders.html:40
msgid "Display list view"
msgstr ""
-#: build/templates/build/navbar.html:12
-msgid "Build Order Details"
-msgstr ""
-
-#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/translated/stock.js:1534
-msgid "Details"
-msgstr ""
-
-#: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31
-msgid "Build Outputs"
-msgstr ""
-
-#: build/templates/build/navbar.html:38
-msgid "Child Builds"
-msgstr ""
-
-#: build/templates/build/navbar.html:49
-msgid "Build Order Notes"
-msgstr ""
-
-#: build/templates/build/unallocate.html:10
-msgid "Are you sure you wish to unallocate all stock for this build?"
-msgstr ""
-
-#: build/templates/build/unallocate.html:12
-msgid "All incomplete stock allocations will be removed from the build"
-msgstr ""
-
#: build/views.py:76
msgid "Build was cancelled"
msgstr ""
@@ -1449,7 +1378,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:122 stock/views.py:1366
+#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290
msgid "Serial numbers already exist"
msgstr ""
@@ -1461,11 +1390,11 @@ msgstr ""
msgid "Delete Build Output"
msgstr ""
-#: build/views.py:218 build/views.py:308
+#: build/views.py:218
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:219 build/views.py:309 stock/views.py:381
+#: build/views.py:219 stock/views.py:385
msgid "Check the confirmation box"
msgstr ""
@@ -1473,7 +1402,7 @@ msgstr ""
msgid "Build output does not match build"
msgstr ""
-#: build/views.py:233 build/views.py:434
+#: build/views.py:233
msgid "Build output must be specified"
msgstr ""
@@ -1481,39 +1410,19 @@ msgstr ""
msgid "Build output deleted"
msgstr ""
-#: build/views.py:343
+#: build/views.py:261
msgid "Complete Build Order"
msgstr ""
-#: build/views.py:349
+#: build/views.py:267
msgid "Build order cannot be completed - incomplete outputs remain"
msgstr ""
-#: build/views.py:360
+#: build/views.py:278
msgid "Completed build order"
msgstr ""
-#: build/views.py:376
-msgid "Complete Build Output"
-msgstr ""
-
-#: build/views.py:418
-msgid "Invalid stock status value selected"
-msgstr ""
-
-#: build/views.py:425
-msgid "Quantity to complete cannot exceed build output quantity"
-msgstr ""
-
-#: build/views.py:431
-msgid "Confirm completion of incomplete build"
-msgstr ""
-
-#: build/views.py:530
-msgid "Build output completed"
-msgstr ""
-
-#: build/views.py:567
+#: build/views.py:319
msgid "Delete Build Order"
msgstr ""
@@ -1554,728 +1463,728 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:308 common/models.py:887 common/models.py:1048
+#: common/models.py:340 common/models.py:970 common/models.py:1178
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:310
+#: common/models.py:342
msgid "Settings value"
msgstr ""
-#: common/models.py:345
+#: common/models.py:377
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:368
+#: common/models.py:382
+msgid "Chosen value is not a valid option"
+msgstr ""
+
+#: common/models.py:405
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:379
+#: common/models.py:416
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:402
+#: common/models.py:439
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:509
+#: common/models.py:559
+msgid "No group"
+msgstr ""
+
+#: common/models.py:601
+msgid "Restart required"
+msgstr ""
+
+#: common/models.py:602
+msgid "A setting has been changed which requires a server restart"
+msgstr ""
+
+#: common/models.py:609
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:511
+#: common/models.py:611
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:515
+#: common/models.py:615
msgid "Use instance name"
msgstr ""
-#: common/models.py:516
+#: common/models.py:616
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:522 company/models.py:100 company/models.py:101
+#: common/models.py:622 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr ""
-#: common/models.py:523
+#: common/models.py:623
msgid "Internal company name"
msgstr ""
-#: common/models.py:528
+#: common/models.py:628
msgid "Base URL"
msgstr ""
-#: common/models.py:529
+#: common/models.py:629
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:535
+#: common/models.py:635
msgid "Default Currency"
msgstr ""
-#: common/models.py:536
+#: common/models.py:636
msgid "Default currency"
msgstr ""
-#: common/models.py:542
+#: common/models.py:642
msgid "Download from URL"
msgstr ""
-#: common/models.py:543
+#: common/models.py:643
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:549
+#: common/models.py:649
msgid "Barcode Support"
msgstr ""
-#: common/models.py:550
+#: common/models.py:650
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:556
+#: common/models.py:656
msgid "IPN Regex"
msgstr ""
-#: common/models.py:557
+#: common/models.py:657
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:561
+#: common/models.py:661
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:562
+#: common/models.py:662
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:568
+#: common/models.py:668
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:569
+#: common/models.py:669
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:575
+#: common/models.py:675
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:576
+#: common/models.py:676
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:582
+#: common/models.py:682
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:583
+#: common/models.py:683
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:589
+#: common/models.py:689
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:590
+#: common/models.py:690
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:596
+#: common/models.py:696
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:597
+#: common/models.py:697
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:603 part/models.py:2256 report/models.py:187
-#: stock/forms.py:224 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:351
+#: common/models.py:703 part/models.py:2429 report/models.py:187
+#: templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:367
msgid "Template"
msgstr ""
-#: common/models.py:604
+#: common/models.py:704
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:610 part/models.py:806
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:363
+#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954
+#: templates/js/translated/table_filters.js:162
+#: templates/js/translated/table_filters.js:379
msgid "Assembly"
msgstr ""
-#: common/models.py:611
+#: common/models.py:711
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:617 part/models.py:812
-#: templates/js/translated/table_filters.js:367
+#: common/models.py:717 part/models.py:894
+#: templates/js/translated/table_filters.js:383
msgid "Component"
msgstr ""
-#: common/models.py:618
+#: common/models.py:718
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:624 part/models.py:823
+#: common/models.py:724 part/models.py:905
msgid "Purchaseable"
msgstr ""
-#: common/models.py:625
+#: common/models.py:725
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:631 part/models.py:828
-#: templates/js/translated/table_filters.js:375
+#: common/models.py:731 part/models.py:910
+#: templates/js/translated/table_filters.js:391
msgid "Salable"
msgstr ""
-#: common/models.py:632
+#: common/models.py:732
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:638 part/models.py:818
+#: common/models.py:738 part/models.py:900
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:379
+#: templates/js/translated/table_filters.js:94
+#: templates/js/translated/table_filters.js:395
msgid "Trackable"
msgstr ""
-#: common/models.py:639
+#: common/models.py:739
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:645 part/models.py:838
-#: part/templates/part/part_base.html:66
+#: common/models.py:745 part/models.py:920
+#: part/templates/part/part_base.html:144
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:646
+#: common/models.py:746
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:652
+#: common/models.py:752
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:653
+#: common/models.py:753
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:659
+#: common/models.py:759
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:660
+#: common/models.py:760
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:671
+#: common/models.py:771
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:672
+#: common/models.py:772
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:678
+#: common/models.py:778
msgid "Show related parts"
msgstr ""
-#: common/models.py:679
+#: common/models.py:779
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:685
+#: common/models.py:785
msgid "Create initial stock"
msgstr ""
-#: common/models.py:686
+#: common/models.py:786
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:692
+#: common/models.py:792
msgid "Internal Prices"
msgstr ""
-#: common/models.py:693
+#: common/models.py:793
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:699
+#: common/models.py:799
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:700
+#: common/models.py:800
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:706 templates/stats.html:25
+#: common/models.py:806
+msgid "Part Name Display Format"
+msgstr ""
+
+#: common/models.py:807
+msgid "Format to display the part name"
+msgstr ""
+
+#: common/models.py:814
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:815
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:821 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:707
+#: common/models.py:822
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:713
+#: common/models.py:828
msgid "Page Size"
msgstr ""
-#: common/models.py:714
+#: common/models.py:829
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:724
+#: common/models.py:839
msgid "Test Reports"
msgstr ""
-#: common/models.py:725
+#: common/models.py:840
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:731
+#: common/models.py:846
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:732
+#: common/models.py:847
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:738
+#: common/models.py:853
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:739
+#: common/models.py:854
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:745
+#: common/models.py:860
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:746
+#: common/models.py:861
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:748
+#: common/models.py:863
msgid "days"
msgstr ""
-#: common/models.py:753
+#: common/models.py:868
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:754
+#: common/models.py:869
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:760
+#: common/models.py:875
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:761
+#: common/models.py:876
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:767
+#: common/models.py:882
msgid "Group by Part"
msgstr ""
-#: common/models.py:768
+#: common/models.py:883
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:774
+#: common/models.py:889
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:775
+#: common/models.py:890
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:780
+#: common/models.py:895
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:781
+#: common/models.py:896
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:785
+#: common/models.py:900
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:786
+#: common/models.py:901
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:791
+#: common/models.py:906
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:792
+#: common/models.py:907
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:798
-msgid "Enable build"
-msgstr ""
-
-#: common/models.py:799
-msgid "Enable build functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:804
-msgid "Enable buy"
-msgstr ""
-
-#: common/models.py:805
-msgid "Enable buy functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:810
-msgid "Enable sell"
-msgstr ""
-
-#: common/models.py:811
-msgid "Enable sell functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:816
-msgid "Enable stock"
-msgstr ""
-
-#: common/models.py:817
-msgid "Enable stock functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:822
-msgid "Enable SO"
-msgstr ""
-
-#: common/models.py:823
-msgid "Enable SO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:828
-msgid "Enable PO"
-msgstr ""
-
-#: common/models.py:829
-msgid "Enable PO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:836
+#: common/models.py:913
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:837
-msgid "Enable password forgot function on the login-pages"
+#: common/models.py:914
+msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:842
+#: common/models.py:919
msgid "Enable registration"
msgstr ""
-#: common/models.py:843
-msgid "Enable self-registration for users on the login-pages"
+#: common/models.py:920
+msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:848
+#: common/models.py:925
msgid "Enable SSO"
msgstr ""
-#: common/models.py:849
-msgid "Enable SSO on the login-pages"
+#: common/models.py:926
+msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:854
-msgid "E-Mail required"
+#: common/models.py:931
+msgid "Email required"
msgstr ""
-#: common/models.py:855
+#: common/models.py:932
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:860
+#: common/models.py:937
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:861
+#: common/models.py:938
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:943
msgid "Mail twice"
msgstr ""
-#: common/models.py:867
+#: common/models.py:944
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:872
+#: common/models.py:949
msgid "Password twice"
msgstr ""
-#: common/models.py:873
+#: common/models.py:950
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:898
-msgid "Show starred parts"
+#: common/models.py:955
+msgid "Group on signup"
msgstr ""
-#: common/models.py:899
-msgid "Show starred parts on the homepage"
+#: common/models.py:956
+msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:904
-msgid "Show latest parts"
-msgstr ""
-
-#: common/models.py:905
-msgid "Show latest parts on the homepage"
-msgstr ""
-
-#: common/models.py:910
-msgid "Recent Part Count"
-msgstr ""
-
-#: common/models.py:911
-msgid "Number of recent parts to display on index page"
-msgstr ""
-
-#: common/models.py:917
-msgid "Show unvalidated BOMs"
-msgstr ""
-
-#: common/models.py:918
-msgid "Show BOMs that await validation on the homepage"
-msgstr ""
-
-#: common/models.py:923
-msgid "Show recent stock changes"
-msgstr ""
-
-#: common/models.py:924
-msgid "Show recently changed stock items on the homepage"
-msgstr ""
-
-#: common/models.py:929
-msgid "Recent Stock Count"
-msgstr ""
-
-#: common/models.py:930
-msgid "Number of recent stock items to display on index page"
-msgstr ""
-
-#: common/models.py:935
-msgid "Show low stock"
-msgstr ""
-
-#: common/models.py:936
-msgid "Show low stock items on the homepage"
-msgstr ""
-
-#: common/models.py:941
-msgid "Show depleted stock"
-msgstr ""
-
-#: common/models.py:942
-msgid "Show depleted stock items on the homepage"
-msgstr ""
-
-#: common/models.py:947
-msgid "Show needed stock"
-msgstr ""
-
-#: common/models.py:948
-msgid "Show stock items needed for builds on the homepage"
-msgstr ""
-
-#: common/models.py:953
-msgid "Show expired stock"
-msgstr ""
-
-#: common/models.py:954
-msgid "Show expired stock items on the homepage"
-msgstr ""
-
-#: common/models.py:959
-msgid "Show stale stock"
-msgstr ""
-
-#: common/models.py:960
-msgid "Show stale stock items on the homepage"
-msgstr ""
-
-#: common/models.py:965
-msgid "Show pending builds"
-msgstr ""
-
-#: common/models.py:966
-msgid "Show pending builds on the homepage"
-msgstr ""
-
-#: common/models.py:971
-msgid "Show overdue builds"
-msgstr ""
-
-#: common/models.py:972
-msgid "Show overdue builds on the homepage"
-msgstr ""
-
-#: common/models.py:977
-msgid "Show outstanding POs"
-msgstr ""
-
-#: common/models.py:978
-msgid "Show outstanding POs on the homepage"
-msgstr ""
-
-#: common/models.py:983
-msgid "Show overdue POs"
-msgstr ""
-
-#: common/models.py:984
-msgid "Show overdue POs on the homepage"
-msgstr ""
-
-#: common/models.py:989
-msgid "Show outstanding SOs"
-msgstr ""
-
-#: common/models.py:990
-msgid "Show outstanding SOs on the homepage"
-msgstr ""
-
-#: common/models.py:995
-msgid "Show overdue SOs"
-msgstr ""
-
-#: common/models.py:996
-msgid "Show overdue SOs on the homepage"
+#: common/models.py:1001
+msgid "Show subscribed parts"
msgstr ""
#: common/models.py:1002
+msgid "Show subscribed parts on the homepage"
+msgstr ""
+
+#: common/models.py:1007
+msgid "Show subscribed categories"
+msgstr ""
+
+#: common/models.py:1008
+msgid "Show subscribed part categories on the homepage"
+msgstr ""
+
+#: common/models.py:1013
+msgid "Show latest parts"
+msgstr ""
+
+#: common/models.py:1014
+msgid "Show latest parts on the homepage"
+msgstr ""
+
+#: common/models.py:1019
+msgid "Recent Part Count"
+msgstr ""
+
+#: common/models.py:1020
+msgid "Number of recent parts to display on index page"
+msgstr ""
+
+#: common/models.py:1026
+msgid "Show unvalidated BOMs"
+msgstr ""
+
+#: common/models.py:1027
+msgid "Show BOMs that await validation on the homepage"
+msgstr ""
+
+#: common/models.py:1032
+msgid "Show recent stock changes"
+msgstr ""
+
+#: common/models.py:1033
+msgid "Show recently changed stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1038
+msgid "Recent Stock Count"
+msgstr ""
+
+#: common/models.py:1039
+msgid "Number of recent stock items to display on index page"
+msgstr ""
+
+#: common/models.py:1044
+msgid "Show low stock"
+msgstr ""
+
+#: common/models.py:1045
+msgid "Show low stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1050
+msgid "Show depleted stock"
+msgstr ""
+
+#: common/models.py:1051
+msgid "Show depleted stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1056
+msgid "Show needed stock"
+msgstr ""
+
+#: common/models.py:1057
+msgid "Show stock items needed for builds on the homepage"
+msgstr ""
+
+#: common/models.py:1062
+msgid "Show expired stock"
+msgstr ""
+
+#: common/models.py:1063
+msgid "Show expired stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1068
+msgid "Show stale stock"
+msgstr ""
+
+#: common/models.py:1069
+msgid "Show stale stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1074
+msgid "Show pending builds"
+msgstr ""
+
+#: common/models.py:1075
+msgid "Show pending builds on the homepage"
+msgstr ""
+
+#: common/models.py:1080
+msgid "Show overdue builds"
+msgstr ""
+
+#: common/models.py:1081
+msgid "Show overdue builds on the homepage"
+msgstr ""
+
+#: common/models.py:1086
+msgid "Show outstanding POs"
+msgstr ""
+
+#: common/models.py:1087
+msgid "Show outstanding POs on the homepage"
+msgstr ""
+
+#: common/models.py:1092
+msgid "Show overdue POs"
+msgstr ""
+
+#: common/models.py:1093
+msgid "Show overdue POs on the homepage"
+msgstr ""
+
+#: common/models.py:1098
+msgid "Show outstanding SOs"
+msgstr ""
+
+#: common/models.py:1099
+msgid "Show outstanding SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Show overdue SOs"
+msgstr ""
+
+#: common/models.py:1105
+msgid "Show overdue SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1111
msgid "Inline label display"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1112
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1118
msgid "Inline report display"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1119
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1125
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1126
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:1023
+#: common/models.py:1132
+msgid "Search Show Stock"
+msgstr ""
+
+#: common/models.py:1133
+msgid "Display stock levels in search preview window"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Hide Inactive Parts"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Hide inactive parts in search preview window"
+msgstr ""
+
+#: common/models.py:1146
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1024
+#: common/models.py:1147
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1153
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1154
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1088 company/forms.py:43
+#: common/models.py:1160
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1161
+msgid "InvenTree navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1226 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1095 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1369
+#: common/models.py:1233 company/serializers.py:264
+#: company/templates/company/supplier_part.html:256
+#: templates/js/translated/part.js:1508
msgid "Price"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1234
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1189
-msgid "Default"
-msgstr ""
-
-#: common/templates/common/edit_setting.html:11
-msgid "Current value"
-msgstr ""
-
-#: common/views.py:33
-msgid "Change Setting"
-msgstr ""
-
-#: common/views.py:119
-msgid "Supplied value is not allowed"
-msgstr ""
-
-#: common/views.py:128
-msgid "Supplied value must be a boolean"
-msgstr ""
-
-#: common/views.py:138
-msgid "Change User Setting"
-msgstr ""
-
-#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42
-#: order/templates/order/po_navbar.html:19
-#: order/templates/order/po_navbar.html:22
-#: order/templates/order/purchase_order_detail.html:27 order/views.py:289
-#: part/templates/part/bom_upload/upload_file.html:65
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
-#: part/views.py:882
+#: common/views.py:93 order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:289
+#: part/templates/part/bom_upload/upload_file.html:51
+#: part/templates/part/import_wizard/part_upload.html:46 part/views.py:281
+#: part/views.py:923
msgid "Upload File"
msgstr ""
-#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
+#: common/views.py:94 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
-#: part/views.py:883
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:282
+#: part/views.py:924
msgid "Match Fields"
msgstr ""
-#: common/views.py:215
+#: common/views.py:95
msgid "Match Items"
msgstr ""
-#: common/views.py:560
+#: common/views.py:440
msgid "Fields matching failed"
msgstr ""
-#: common/views.py:615
+#: common/views.py:495
msgid "Parts imported"
msgstr ""
-#: common/views.py:637 order/templates/order/order_wizard/match_fields.html:27
+#: common/views.py:517 order/templates/order/order_wizard/match_fields.html:27
#: order/templates/order/order_wizard/match_parts.html:19
-#: order/templates/order/order_wizard/po_upload.html:40
+#: order/templates/order/order_wizard/po_upload.html:46
#: part/templates/part/bom_upload/match_fields.html:27
#: part/templates/part/bom_upload/match_parts.html:19
-#: part/templates/part/bom_upload/upload_file.html:63
+#: part/templates/part/bom_upload/upload_file.html:49
#: part/templates/part/import_wizard/match_fields.html:27
#: part/templates/part/import_wizard/match_references.html:19
-#: part/templates/part/import_wizard/part_upload.html:43
+#: part/templates/part/import_wizard/part_upload.html:44
msgid "Previous Step"
msgstr ""
@@ -2321,6 +2230,7 @@ msgid "Contact phone number"
msgstr ""
#: company/models.py:125 company/templates/company/company_base.html:102
+#: templates/InvenTree/settings/user.html:46
msgid "Email"
msgstr ""
@@ -2337,10 +2247,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:131 company/models.py:348 company/models.py:564
-#: order/models.py:160 part/models.py:715
+#: order/models.py:163 part/models.py:797
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:536
-#: templates/js/translated/company.js:825 templates/js/translated/part.js:983
+#: templates/js/translated/company.js:825 templates/js/translated/part.js:984
msgid "Link"
msgstr ""
@@ -2348,7 +2258,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:725
+#: company/models.py:139 part/models.py:807
msgid "Image"
msgstr ""
@@ -2376,8 +2286,8 @@ msgstr ""
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:152 company/serializers.py:264
-#: company/templates/company/company_base.html:76 stock/serializers.py:158
+#: company/models.py:152 company/serializers.py:270
+#: company/templates/company/company_base.html:76 stock/serializers.py:172
msgid "Currency"
msgstr ""
@@ -2385,8 +2295,8 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:454
-#: stock/templates/stock/item_base.html:237
+#: company/models.py:320 company/models.py:535 stock/models.py:484
+#: stock/templates/stock/item_base.html:224
msgid "Base Part"
msgstr ""
@@ -2395,28 +2305,28 @@ msgid "Select part"
msgstr ""
#: company/models.py:335 company/templates/company/company_base.html:116
-#: company/templates/company/manufacturer_part.html:89
-#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:247 stock/templates/stock/item_base.html:366
+#: company/templates/company/manufacturer_part.html:93
+#: company/templates/company/supplier_part.html:104
+#: stock/templates/stock/item_base.html:353
#: templates/js/translated/company.js:332
#: templates/js/translated/company.js:513
-#: templates/js/translated/company.js:796 templates/js/translated/part.js:227
+#: templates/js/translated/company.js:796 templates/js/translated/part.js:228
msgid "Manufacturer"
msgstr ""
-#: company/models.py:336 templates/js/translated/part.js:228
+#: company/models.py:336 templates/js/translated/part.js:229
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:342 company/templates/company/manufacturer_part.html:93
-#: company/templates/company/supplier_part.html:106 part/bom.py:171
-#: part/bom.py:248 templates/js/translated/company.js:529
-#: templates/js/translated/company.js:814 templates/js/translated/order.js:851
-#: templates/js/translated/part.js:238
+#: company/models.py:342 company/templates/company/manufacturer_part.html:97
+#: company/templates/company/supplier_part.html:112
+#: templates/js/translated/company.js:529
+#: templates/js/translated/company.js:814 templates/js/translated/order.js:852
+#: templates/js/translated/part.js:239
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:239
+#: company/models.py:343 templates/js/translated/part.js:240
msgid "Manufacturer Part Number"
msgstr ""
@@ -2431,7 +2341,7 @@ msgstr ""
#: company/models.py:409 company/models.py:558
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:376
+#: stock/templates/stock/item_base.html:363
msgid "Manufacturer Part"
msgstr ""
@@ -2440,10 +2350,9 @@ msgid "Parameter name"
msgstr ""
#: company/models.py:422
-#: report/templates/report/inventree_test_report_base.html:90
-#: stock/models.py:1816 templates/InvenTree/settings/header.html:8
-#: templates/js/translated/company.js:643 templates/js/translated/part.js:623
-#: templates/js/translated/stock.js:555
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:1867 templates/js/translated/company.js:643
+#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848
msgid "Value"
msgstr ""
@@ -2451,8 +2360,9 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:800 part/models.py:2224
-#: templates/js/translated/company.js:649 templates/js/translated/part.js:629
+#: company/models.py:429 part/models.py:882 part/models.py:2397
+#: part/templates/part/detail.html:59 templates/js/translated/company.js:649
+#: templates/js/translated/part.js:650
msgid "Units"
msgstr ""
@@ -2465,27 +2375,27 @@ msgid "Linked manufacturer part must reference the same base part"
msgstr ""
#: company/models.py:545 company/templates/company/company_base.html:121
-#: company/templates/company/supplier_part.html:88 order/models.py:260
-#: order/templates/order/order_base.html:92
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:292 stock/templates/stock/item_base.html:383
+#: company/templates/company/supplier_part.html:94 order/models.py:263
+#: order/templates/order/order_base.html:108
+#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219
+#: part/bom.py:247 stock/templates/stock/item_base.html:370
#: templates/js/translated/company.js:336
-#: templates/js/translated/company.js:770 templates/js/translated/order.js:659
-#: templates/js/translated/part.js:208
+#: templates/js/translated/company.js:770 templates/js/translated/order.js:660
+#: templates/js/translated/part.js:209
msgid "Supplier"
msgstr ""
-#: company/models.py:546 templates/js/translated/part.js:209
+#: company/models.py:546 templates/js/translated/part.js:210
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:92
-#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838
-#: templates/js/translated/part.js:219
+#: company/models.py:551 company/templates/company/supplier_part.html:98
+#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:839
+#: templates/js/translated/part.js:220
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:220
+#: company/models.py:552 templates/js/translated/part.js:221
msgid "Supplier stock keeping unit"
msgstr ""
@@ -2501,23 +2411,23 @@ msgstr ""
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:120
-#: part/models.py:2389 report/templates/report/inventree_po_report.html:93
+#: company/models.py:576 company/templates/company/supplier_part.html:126
+#: part/models.py:2588 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:113
-#: stock/models.py:478 stock/templates/stock/item_base.html:324
-#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036
+#: company/models.py:582 company/templates/company/supplier_part.html:119
+#: stock/models.py:507 stock/templates/stock/item_base.html:311
+#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336
msgid "Packaging"
msgstr ""
@@ -2525,7 +2435,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1605
+#: company/models.py:584 part/models.py:1750
msgid "multiple"
msgstr ""
@@ -2533,46 +2443,42 @@ msgstr ""
msgid "Order multiple"
msgstr ""
-#: company/serializers.py:68
+#: company/serializers.py:70
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:69
+#: company/serializers.py:71
msgid "Currency Code"
msgstr ""
-#: company/templates/company/company_base.html:9
-#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321
+#: company/templates/company/company_base.html:8
+#: company/templates/company/company_base.html:12
+#: templates/InvenTree/search.html:182 templates/js/translated/company.js:321
msgid "Company"
msgstr ""
-#: company/templates/company/company_base.html:25
-#: part/templates/part/part_thumb.html:21
-msgid "Upload new image"
-msgstr ""
-
-#: company/templates/company/company_base.html:27
-#: part/templates/part/part_thumb.html:23
-msgid "Download image from URL"
-msgstr ""
-
-#: company/templates/company/company_base.html:46
-#: templates/js/translated/order.js:120
+#: company/templates/company/company_base.html:22
+#: templates/js/translated/order.js:121
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:51
+#: company/templates/company/company_base.html:27
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:56
-#: company/templates/company/company_base.html:153
+#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:148
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:64
-msgid "Company Details"
+#: company/templates/company/company_base.html:48
+#: part/templates/part/part_thumb.html:12
+msgid "Upload new image"
+msgstr ""
+
+#: company/templates/company/company_base.html:51
+#: part/templates/part/part_thumb.html:14
+msgid "Download image from URL"
msgstr ""
#: company/templates/company/company_base.html:81
@@ -2583,145 +2489,133 @@ msgstr ""
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:126 order/models.py:558
-#: order/templates/order/sales_order_base.html:99 stock/models.py:496
-#: stock/models.py:497 stock/templates/stock/item_base.html:276
-#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038
-#: templates/js/translated/stock.js:1587
+#: company/templates/company/company_base.html:126 order/models.py:567
+#: order/templates/order/sales_order_base.html:114 stock/models.py:525
+#: stock/models.py:526 stock/templates/stock/item_base.html:263
+#: templates/js/translated/company.js:328 templates/js/translated/order.js:1051
+#: templates/js/translated/stock.js:1972
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:199
-#: part/templates/part/part_base.html:424
+#: company/templates/company/company_base.html:194
+#: part/templates/part/part_base.html:342
msgid "Upload Image"
msgstr ""
-#: company/templates/company/detail.html:14
-#: company/templates/company/manufacturer_part_navbar.html:18
-#: templates/InvenTree/search.html:150
+#: company/templates/company/detail.html:15 templates/InvenTree/search.html:124
msgid "Supplier Parts"
msgstr ""
-#: company/templates/company/detail.html:22
+#: company/templates/company/detail.html:19
#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr ""
-#: company/templates/company/detail.html:23
-#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289
+#: company/templates/company/detail.html:20
+#: company/templates/company/manufacturer_part.html:112
+#: part/templates/part/detail.html:466
msgid "New Supplier Part"
msgstr ""
-#: company/templates/company/detail.html:27
-#: company/templates/company/detail.html:67
-#: company/templates/company/manufacturer_part.html:112
-#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/category.html:135 part/templates/part/detail.html:292
-#: part/templates/part/detail.html:315
+#: company/templates/company/detail.html:32
+#: company/templates/company/detail.html:79
+#: company/templates/company/manufacturer_part.html:121
+#: company/templates/company/manufacturer_part.html:150
+#: part/templates/part/category.html:160 part/templates/part/detail.html:475
+#: part/templates/part/detail.html:503
msgid "Options"
msgstr ""
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72
-#: part/templates/part/category.html:140
+#: company/templates/company/detail.html:37
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:166
msgid "Order parts"
msgstr ""
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:42
+#: company/templates/company/detail.html:89
msgid "Delete parts"
msgstr ""
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:43
+#: company/templates/company/detail.html:90
msgid "Delete Parts"
msgstr ""
-#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135
+#: company/templates/company/detail.html:62 templates/InvenTree/search.html:109
msgid "Manufacturer Parts"
msgstr ""
-#: company/templates/company/detail.html:62
+#: company/templates/company/detail.html:66
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:63 part/templates/part/detail.html:312
+#: company/templates/company/detail.html:67 part/templates/part/detail.html:493
msgid "New Manufacturer Part"
msgstr ""
-#: company/templates/company/detail.html:93
+#: company/templates/company/detail.html:107
msgid "Supplier Stock"
msgstr ""
-#: company/templates/company/detail.html:102
-#: company/templates/company/navbar.html:46
-#: company/templates/company/navbar.html:49
+#: company/templates/company/detail.html:117
+#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
-#: order/templates/order/purchase_orders.html:13
-#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82
-#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260
-#: templates/InvenTree/search.html:229
-#: templates/InvenTree/settings/navbar.html:119
-#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44
+#: order/templates/order/purchase_orders.html:12
+#: part/templates/part/detail.html:171 templates/InvenTree/index.html:252
+#: templates/InvenTree/search.html:203 templates/navbar.html:45
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
-#: company/templates/company/detail.html:108
-#: order/templates/order/purchase_orders.html:20
+#: company/templates/company/detail.html:121
+#: order/templates/order/purchase_orders.html:17
msgid "Create new purchase order"
msgstr ""
-#: company/templates/company/detail.html:109
-#: order/templates/order/purchase_orders.html:21
+#: company/templates/company/detail.html:122
+#: order/templates/order/purchase_orders.html:18
msgid "New Purchase Order"
msgstr ""
-#: company/templates/company/detail.html:124
-#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58
+#: company/templates/company/detail.html:143
+#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
-#: order/templates/order/sales_orders.html:13
-#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91
-#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291
-#: templates/InvenTree/search.html:249
-#: templates/InvenTree/settings/navbar.html:125
-#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55
+#: order/templates/order/sales_orders.html:15
+#: part/templates/part/detail.html:194 templates/InvenTree/index.html:283
+#: templates/InvenTree/search.html:223 templates/navbar.html:56
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
-#: company/templates/company/detail.html:130
+#: company/templates/company/detail.html:147
#: order/templates/order/sales_orders.html:20
msgid "Create new sales order"
msgstr ""
-#: company/templates/company/detail.html:131
+#: company/templates/company/detail.html:148
#: order/templates/order/sales_orders.html:21
msgid "New Sales Order"
msgstr ""
-#: company/templates/company/detail.html:147
-#: company/templates/company/navbar.html:61
-#: company/templates/company/navbar.html:64
-#: templates/js/translated/build.js:622
+#: company/templates/company/detail.html:168
+#: templates/js/translated/build.js:999
msgid "Assigned Stock"
msgstr ""
-#: company/templates/company/detail.html:165
+#: company/templates/company/detail.html:184
msgid "Company Notes"
msgstr ""
-#: company/templates/company/detail.html:364
-#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:357
+#: company/templates/company/detail.html:383
+#: company/templates/company/manufacturer_part.html:209
+#: part/templates/part/detail.html:546
msgid "Delete Supplier Parts?"
msgstr ""
-#: company/templates/company/detail.html:365
-#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:358
+#: company/templates/company/detail.html:384
+#: company/templates/company/manufacturer_part.html:210
+#: part/templates/part/detail.html:547
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2729,204 +2623,174 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:40
-#: company/templates/company/supplier_part.html:40
-#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116
+#: company/templates/company/manufacturer_part.html:14 company/views.py:55
+#: part/templates/part/prices.html:167 templates/InvenTree/search.html:184
+#: templates/navbar.html:44
+msgid "Manufacturers"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:35
+#: company/templates/company/supplier_part.html:34
+#: company/templates/company/supplier_part.html:159
+#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:40
#: templates/js/translated/company.js:561
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:49
+#: company/templates/company/manufacturer_part.html:44
#: templates/js/translated/company.js:562
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:61
-msgid "Manufacturer Part Details"
-msgstr ""
-
-#: company/templates/company/manufacturer_part.html:66
-#: company/templates/company/supplier_part.html:65
+#: company/templates/company/manufacturer_part.html:70
+#: company/templates/company/supplier_part.html:71
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/manufacturer_part_navbar.html:21
-#: company/views.py:49 part/templates/part/navbar.html:75
-#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163
-#: templates/InvenTree/search.html:220 templates/navbar.html:41
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: part/templates/part/prices.html:163 templates/InvenTree/search.html:194
+#: templates/navbar.html:43
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: part/templates/part/detail.html:294
+#: company/templates/company/manufacturer_part.html:123
+#: part/templates/part/detail.html:477
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: company/templates/company/manufacturer_part.html:138
-#: company/templates/company/manufacturer_part.html:239
-#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/translated/company.js:424
-#: templates/js/translated/helpers.js:31 users/models.py:199
+#: company/templates/company/manufacturer_part.html:123
+#: company/templates/company/manufacturer_part.html:152
+#: company/templates/company/manufacturer_part.html:248
+#: part/templates/part/detail.html:351 part/templates/part/detail.html:477
+#: part/templates/part/detail.html:505 templates/js/translated/company.js:424
+#: templates/js/translated/helpers.js:31 users/models.py:204
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:127
-#: company/templates/company/manufacturer_part_navbar.html:11
-#: company/templates/company/manufacturer_part_navbar.html:14
-#: part/templates/part/category_navbar.html:38
-#: part/templates/part/category_navbar.html:41
-#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20
-#: part/templates/part/navbar.html:23
+#: company/templates/company/manufacturer_part.html:137
+#: part/templates/part/detail.html:277
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:133
-#: part/templates/part/detail.html:162
-#: templates/InvenTree/settings/category.html:26
-#: templates/InvenTree/settings/part.html:63
+#: company/templates/company/manufacturer_part.html:141
+#: part/templates/part/detail.html:282
+#: templates/InvenTree/settings/category.html:12
+#: templates/InvenTree/settings/part.html:65
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:138
+#: company/templates/company/manufacturer_part.html:152
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:805
+#: company/templates/company/manufacturer_part.html:185
+#: part/templates/part/detail.html:983
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:224
+#: company/templates/company/manufacturer_part.html:233
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:236
+#: company/templates/company/manufacturer_part.html:245
msgid "Delete Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part_navbar.html:26
-msgid "Manufacturer Part Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:29
-#: company/templates/company/navbar.html:39
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/navbar.html:38 stock/api.py:52
-#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182
-#: templates/InvenTree/settings/navbar.html:107
-#: templates/InvenTree/settings/navbar.html:109
-#: templates/js/translated/part.js:540 templates/js/translated/part.js:769
-#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182
-#: templates/js/translated/stock.js:829 templates/navbar.html:32
-msgid "Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:33
-msgid "Manufacturer Part Orders"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:36
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr ""
-
-#: company/templates/company/navbar.html:17
-#: company/templates/company/navbar.html:20
-msgid "Manufactured Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:26
-#: company/templates/company/navbar.html:29
-msgid "Supplied Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35
-#: stock/templates/stock/location.html:119
-#: stock/templates/stock/location.html:134
-#: stock/templates/stock/location.html:148
-#: stock/templates/stock/location_navbar.html:18
-#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486
-#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
-msgid "Stock Items"
-msgstr ""
-
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:463
-#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993
+#: company/templates/company/supplier_part.html:24 stock/models.py:492
+#: stock/templates/stock/item_base.html:375
+#: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44
+#: company/templates/company/supplier_part.html:38
#: templates/js/translated/company.js:859
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48
+#: company/templates/company/supplier_part.html:42
#: templates/js/translated/company.js:860
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:60
-msgid "Supplier Part Details"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:131
+#: company/templates/company/supplier_part.html:138
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:140
+#: company/templates/company/supplier_part.html:141
+#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147
+#, fuzzy
+#| msgid "Edited stock item"
+msgid "Create new stock item"
+msgstr "Отредактированный товар"
+
+#: company/templates/company/supplier_part.html:142
+#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148
+#: templates/js/translated/stock.js:324
+msgid "New Stock Item"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:155
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:147
-#: part/templates/part/detail.html:56
+#: company/templates/company/supplier_part.html:160
+#: part/templates/part/detail.html:175
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:158
-#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7
+#: company/templates/company/supplier_part.html:179
+#: part/templates/part/prices.html:7
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:164
-#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:271 part/views.py:1730
+#: company/templates/company/supplier_part.html:184
+#: company/templates/company/supplier_part.html:290
+#: part/templates/part/prices.html:271 part/views.py:1782
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:185
+#: company/templates/company/supplier_part.html:210
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:1792
+#: company/templates/company/supplier_part.html:224 part/views.py:1844
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:1778
+#: company/templates/company/supplier_part.html:238 part/views.py:1830
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
+#: company/templates/company/supplier_part.html:263
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:239
+#: company/templates/company/supplier_part.html:264
msgid "Delete price break"
msgstr ""
+#: company/templates/company/supplier_part_navbar.html:15
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426
+#: templates/js/translated/part.js:561 templates/js/translated/part.js:786
+#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479
+#: templates/js/translated/stock.js:1132 templates/navbar.html:26
+msgid "Stock"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:22
+msgid "Orders"
+msgstr ""
+
#: company/templates/company/supplier_part_navbar.html:26
msgid "Supplier Part Pricing"
msgstr ""
@@ -2939,17 +2803,12 @@ msgstr ""
msgid "New Supplier"
msgstr ""
-#: company/views.py:55 part/templates/part/prices.html:167
-#: templates/InvenTree/search.html:210 templates/navbar.html:42
-msgid "Manufacturers"
-msgstr ""
-
#: company/views.py:56
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:240
-#: templates/navbar.html:53
+#: company/views.py:61 templates/InvenTree/search.html:214
+#: templates/navbar.html:55
msgid "Customers"
msgstr ""
@@ -2965,24 +2824,24 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:608
+#: company/views.py:129 part/views.py:649
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:640
+#: company/views.py:158 part/views.py:681
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:647
+#: company/views.py:165 part/views.py:688
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:656
+#: company/views.py:174 part/views.py:697
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:57 report/api.py:201
+#: label/api.py:57 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -2994,7 +2853,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:167
+#: label/models.py:127
msgid "Label"
msgstr ""
@@ -3039,7 +2898,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:259 label/models.py:319 label/models.py:366
-#: report/models.py:322 report/models.py:457 report/models.py:495
+#: report/models.py:322 report/models.py:459 report/models.py:497
msgid "Filters"
msgstr ""
@@ -3051,240 +2910,236 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:250
-msgid "Matching purchase order does not exist"
-msgstr ""
-
-#: order/forms.py:27 order/templates/order/order_base.html:50
+#: order/forms.py:26 order/templates/order/order_base.html:52
msgid "Place order"
msgstr ""
-#: order/forms.py:38 order/templates/order/order_base.html:57
+#: order/forms.py:37 order/templates/order/order_base.html:59
msgid "Mark order as complete"
msgstr ""
-#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:64
+#: order/forms.py:48 order/forms.py:59 order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
msgid "Cancel order"
msgstr ""
-#: order/forms.py:71 order/templates/order/sales_order_base.html:61
+#: order/forms.py:70
msgid "Ship order"
msgstr ""
-#: order/forms.py:97
+#: order/forms.py:98
msgid "Enter stock item serial numbers"
msgstr ""
-#: order/forms.py:103
+#: order/forms.py:104
msgid "Enter quantity of stock items"
msgstr ""
-#: order/models.py:158
+#: order/models.py:161
msgid "Order description"
msgstr ""
-#: order/models.py:160
+#: order/models.py:163
msgid "Link to external page"
msgstr ""
-#: order/models.py:168
+#: order/models.py:171
msgid "Created By"
msgstr ""
-#: order/models.py:175
+#: order/models.py:178
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:180
+#: order/models.py:183
msgid "Order notes"
msgstr ""
-#: order/models.py:247 order/models.py:548
+#: order/models.py:250 order/models.py:557
msgid "Order reference"
msgstr ""
-#: order/models.py:252 order/models.py:563
+#: order/models.py:255 order/models.py:572
msgid "Purchase order status"
msgstr ""
-#: order/models.py:261
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/translated/order.js:668
+#: order/models.py:267 order/templates/order/order_base.html:114
+#: templates/js/translated/order.js:669
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:264
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:271
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:276
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:277
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:282
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:283
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:289
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:318
+#: order/models.py:321
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:428
+#: order/models.py:431
msgid "Quantity must be an integer"
msgstr ""
-#: order/models.py:432
+#: order/models.py:435
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:559
+#: order/models.py:568
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer Reference "
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:570
+#: order/models.py:579
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:573 templates/js/translated/order.js:1079
+#: order/models.py:582 templates/js/translated/order.js:1092
msgid "Shipment Date"
msgstr ""
-#: order/models.py:580
+#: order/models.py:589
msgid "shipped by"
msgstr ""
-#: order/models.py:624
+#: order/models.py:633
msgid "SalesOrder cannot be shipped as it is not currently pending"
msgstr ""
-#: order/models.py:721
+#: order/models.py:730
msgid "Item quantity"
msgstr ""
-#: order/models.py:727
+#: order/models.py:736
msgid "Line item reference"
msgstr ""
-#: order/models.py:729
+#: order/models.py:738
msgid "Line item notes"
msgstr ""
-#: order/models.py:759 order/models.py:847
-#: templates/js/translated/order.js:1131
+#: order/models.py:768 order/models.py:856
+#: templates/js/translated/order.js:1144
msgid "Order"
msgstr ""
-#: order/models.py:760 order/templates/order/order_base.html:9
-#: order/templates/order/order_base.html:24
+#: order/models.py:769 order/templates/order/order_base.html:9
+#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:338
-#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970
-#: templates/js/translated/stock.js:1568
+#: stock/templates/stock/item_base.html:325
+#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1270
+#: templates/js/translated/stock.js:1953
msgid "Purchase Order"
msgstr ""
-#: order/models.py:781
+#: order/models.py:790
msgid "Supplier part"
msgstr ""
-#: order/models.py:788 order/templates/order/order_base.html:131
-#: order/templates/order/sales_order_base.html:138
-#: templates/js/translated/order.js:428 templates/js/translated/order.js:919
+#: order/models.py:797 order/templates/order/order_base.html:147
+#: order/templates/order/sales_order_base.html:154
+#: templates/js/translated/order.js:429 templates/js/translated/order.js:932
msgid "Received"
msgstr ""
-#: order/models.py:789
+#: order/models.py:798
msgid "Number of items received"
msgstr ""
-#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588
-#: stock/serializers.py:150 stock/templates/stock/item_base.html:345
-#: templates/js/translated/stock.js:1024
+#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619
+#: stock/serializers.py:163 stock/templates/stock/item_base.html:332
+#: templates/js/translated/stock.js:1324
msgid "Purchase Price"
msgstr ""
-#: order/models.py:797
+#: order/models.py:806
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:805
+#: order/models.py:814
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:857 part/templates/part/part_pricing.html:112
+#: order/models.py:866 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:116 part/templates/part/prices.html:284
msgid "Sale Price"
msgstr ""
-#: order/models.py:858
+#: order/models.py:867
msgid "Unit sale price"
msgstr ""
-#: order/models.py:937 order/models.py:939
+#: order/models.py:946 order/models.py:948
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:943
+#: order/models.py:952
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:945
+#: order/models.py:954
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:948
+#: order/models.py:957
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:952
+#: order/models.py:961
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:958
+#: order/models.py:967
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:966
+#: order/models.py:975
msgid "Line"
msgstr ""
-#: order/models.py:978
+#: order/models.py:987
msgid "Item"
msgstr ""
-#: order/models.py:979
+#: order/models.py:988
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:982
+#: order/models.py:991
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3300,7 +3155,7 @@ msgstr ""
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:218 order/serializers.py:285
+#: order/serializers.py:218 order/serializers.py:286
msgid "Select destination location for received items"
msgstr ""
@@ -3312,72 +3167,74 @@ msgstr ""
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:259
+#: order/serializers.py:260
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:297
+#: order/serializers.py:298
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:314
+#: order/serializers.py:315
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:325
+#: order/serializers.py:326
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:569
+#: order/serializers.py:568
msgid "Sale price currency"
msgstr ""
#: order/templates/order/delete_attachment.html:5
#: stock/templates/stock/attachment_delete.html:5
-#: templates/attachment_delete.html:5
msgid "Are you sure you want to delete this attachment?"
msgstr ""
-#: order/templates/order/order_base.html:39
-#: order/templates/order/sales_order_base.html:50
-msgid "Print"
-msgstr ""
+#: order/templates/order/order_base.html:33
+#, fuzzy
+#| msgid "Received against purchase order"
+msgid "Print purchase order report"
+msgstr "Получено по заказу на покупку"
-#: order/templates/order/order_base.html:42
-#: order/templates/order/sales_order_base.html:53
+#: order/templates/order/order_base.html:35
+#: order/templates/order/sales_order_base.html:45
msgid "Export order to file"
msgstr ""
-#: order/templates/order/order_base.html:46
-#: order/templates/order/sales_order_base.html:57
-msgid "Edit order information"
+#: order/templates/order/order_base.html:41
+#: order/templates/order/sales_order_base.html:54
+#, fuzzy
+#| msgid "Order Parts"
+msgid "Order actions"
+msgstr "Заказать детали"
+
+#: order/templates/order/order_base.html:45
+#: order/templates/order/sales_order_base.html:58
+msgid "Edit order"
msgstr ""
-#: order/templates/order/order_base.html:54
+#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
-#: order/templates/order/order_base.html:72
-#: order/templates/order/po_navbar.html:12
-msgid "Purchase Order Details"
-msgstr ""
-
-#: order/templates/order/order_base.html:77
-#: order/templates/order/sales_order_base.html:84
+#: order/templates/order/order_base.html:93
+#: order/templates/order/sales_order_base.html:98
msgid "Order Reference"
msgstr ""
-#: order/templates/order/order_base.html:82
-#: order/templates/order/sales_order_base.html:89
+#: order/templates/order/order_base.html:98
+#: order/templates/order/sales_order_base.html:103
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:117
+#: order/templates/order/order_base.html:133
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:185
+#: order/templates/order/order_base.html:203
msgid "Edit Purchase Order"
msgstr ""
@@ -3453,7 +3310,8 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/build.js:869 templates/js/translated/order.js:376
+#: templates/js/translated/build.js:240 templates/js/translated/build.js:1251
+#: templates/js/translated/order.js:377
msgid "Remove row"
msgstr ""
@@ -3475,19 +3333,19 @@ msgstr ""
msgid "Select Supplier Part"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:11
+#: order/templates/order/order_wizard/po_upload.html:16
msgid "Upload File for Purchase Order"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:18
-#: part/templates/part/bom_upload/upload_file.html:34
+#: order/templates/order/order_wizard/po_upload.html:24
+#: part/templates/part/bom_upload/upload_file.html:20
#: part/templates/part/import_wizard/ajax_part_upload.html:10
-#: part/templates/part/import_wizard/part_upload.html:21
+#: part/templates/part/import_wizard/part_upload.html:22
#, python-format
msgid "Step %(step)s of %(count)s"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/order_wizard/po_upload.html:54
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
@@ -3530,7 +3388,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084
+#: templates/js/translated/order.js:695 templates/js/translated/order.js:1097
msgid "Items"
msgstr ""
@@ -3548,30 +3406,14 @@ msgstr ""
msgid "Select a purchase order for %(name)s"
msgstr ""
-#: order/templates/order/po_attachments.html:12
-#: order/templates/order/po_navbar.html:32
-#: order/templates/order/purchase_order_detail.html:56
-msgid "Purchase Order Attachments"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:26
-msgid "Received Stock Items"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:29
-#: order/templates/order/po_received_items.html:12
-#: order/templates/order/purchase_order_detail.html:47
-msgid "Received Items"
-msgstr ""
-
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:24
-#: order/templates/order/purchase_order_detail.html:212
+#: order/templates/order/purchase_order_detail.html:27
+#: order/templates/order/purchase_order_detail.html:216
#: order/templates/order/sales_order_detail.html:23
-#: order/templates/order/sales_order_detail.html:177
+#: order/templates/order/sales_order_detail.html:191
msgid "Add Line Item"
msgstr ""
@@ -3583,34 +3425,43 @@ msgstr ""
msgid "Receive Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
-#: order/templates/order/sales_order_detail.html:54
+#: order/templates/order/purchase_order_detail.html:50
+msgid "Received Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:76
+#: order/templates/order/sales_order_detail.html:68
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_orders.html:24
-#: order/templates/order/sales_orders.html:24
+#: order/templates/order/purchase_orders.html:30
+#: order/templates/order/sales_orders.html:33
msgid "Print Order Reports"
msgstr ""
-#: order/templates/order/sales_order_base.html:16
+#: order/templates/order/sales_order_base.html:43
+msgid "Print sales order report"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:47
+msgid "Print packing list"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:66
+#: order/templates/order/sales_order_base.html:67 order/views.py:222
+msgid "Ship Order"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:86
msgid "This Sales Order has not been fully allocated"
msgstr ""
-#: order/templates/order/sales_order_base.html:70
-msgid "Packing List"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:79
-msgid "Sales Order Details"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:105
-#: templates/js/translated/order.js:1051
+#: order/templates/order/sales_order_base.html:121
+#: templates/js/translated/order.js:1064
msgid "Customer Reference"
msgstr ""
-#: order/templates/order/sales_order_base.html:183
+#: order/templates/order/sales_order_base.html:194
msgid "Edit Sales Order"
msgstr ""
@@ -3625,7 +3476,7 @@ msgstr ""
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -3653,18 +3504,6 @@ msgstr ""
msgid "Allocate stock items by serial number"
msgstr ""
-#: order/templates/order/so_navbar.html:12
-msgid "Sales Order Line Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:15
-msgid "Order Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:26
-msgid "Sales Order Attachments"
-msgstr ""
-
#: order/views.py:103
msgid "Cancel Order"
msgstr ""
@@ -3705,10 +3544,6 @@ msgstr ""
msgid "Purchase order completed"
msgstr ""
-#: order/views.py:222
-msgid "Ship Order"
-msgstr ""
-
#: order/views.py:238
msgid "Confirm order shipment"
msgstr ""
@@ -3776,40 +3611,28 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7
-#: part/templates/part/category.html:108 part/templates/part/category.html:122
-#: part/templates/part/category_navbar.html:21
-#: part/templates/part/category_navbar.html:24
-#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97
-#: templates/js/translated/part.js:1165 templates/navbar.html:29
-#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
-msgid "Parts"
-msgstr ""
-
-#: part/api.py:700
+#: part/api.py:731
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:704
+#: part/api.py:735
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:719
+#: part/api.py:750
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773
+#: part/api.py:781 part/api.py:785 part/api.py:800 part/api.py:804
msgid "This field is required"
msgstr ""
-#: part/bom.py:133 part/models.py:76 part/models.py:734
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:290
+#: part/bom.py:125 part/models.py:81 part/models.py:816
+#: part/templates/part/category.html:90 part/templates/part/detail.html:104
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:156
+#: part/bom.py:126 part/templates/part/part_base.html:167
msgid "Available Stock"
msgstr ""
@@ -3869,7 +3692,7 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:96 part/models.py:2254
+#: part/forms.py:96 part/models.py:2427
msgid "Parent Part"
msgstr ""
@@ -3901,456 +3724,463 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:226
+#: part/forms.py:214
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:230
+#: part/forms.py:218
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:250
+#: part/forms.py:238
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:77
+#: part/models.py:82
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords"
msgstr ""
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:90 part/models.py:2300
+#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:91 part/templates/part/category.html:32
-#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
-#: templates/stats.html:84 users/models.py:40
+#: part/models.py:96 part/templates/part/category.html:117
+#: templates/InvenTree/search.html:101 templates/stats.html:84
+#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:384
+#: part/models.py:358 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:13 part/templates/part/category.html:122
+#: part/templates/part/category.html:142 templates/InvenTree/index.html:85
+#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304
+#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89
+#: users/models.py:41
+msgid "Parts"
+msgstr ""
+
+#: part/models.py:450
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:436 part/models.py:448
+#: part/models.py:502 part/models.py:514
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:545
+#: part/models.py:611
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:549
+#: part/models.py:615
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:554
+#: part/models.py:620
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:633
+#: part/models.py:715
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:658
+#: part/models.py:740
msgid "Part name"
msgstr ""
-#: part/models.py:665
+#: part/models.py:747
msgid "Is Template"
msgstr ""
-#: part/models.py:666
+#: part/models.py:748
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:676
+#: part/models.py:758
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:677
+#: part/models.py:759
msgid "Variant Of"
msgstr ""
-#: part/models.py:683
+#: part/models.py:765
msgid "Part description"
msgstr ""
-#: part/models.py:688 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:259
+#: part/models.py:770 part/templates/part/category.html:97
+#: part/templates/part/detail.html:73
msgid "Keywords"
msgstr ""
-#: part/models.py:689
+#: part/models.py:771
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:696 part/models.py:2299
-#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:169
-#: templates/js/translated/part.js:927
+#: part/models.py:778 part/models.py:2223 part/models.py:2472
+#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15
+#: templates/InvenTree/settings/settings.html:163
+#: templates/js/translated/part.js:928
msgid "Category"
msgstr ""
-#: part/models.py:697
+#: part/models.py:779
msgid "Part category"
msgstr ""
-#: part/models.py:702 part/templates/part/part_base.html:235
-#: templates/js/translated/part.js:528 templates/js/translated/part.js:760
+#: part/models.py:784 part/templates/part/detail.html:45
+#: templates/js/translated/part.js:549
msgid "IPN"
msgstr ""
-#: part/models.py:703
+#: part/models.py:785
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:709
+#: part/models.py:791
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:710 part/templates/part/part_base.html:252
-#: report/models.py:200 templates/js/translated/part.js:532
+#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200
+#: templates/js/translated/part.js:553
msgid "Revision"
msgstr ""
-#: part/models.py:732
+#: part/models.py:814
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:779 part/templates/part/part_base.html:297
+#: part/models.py:861 part/templates/part/detail.html:113
msgid "Default Supplier"
msgstr ""
-#: part/models.py:780
+#: part/models.py:862
msgid "Default supplier part"
msgstr ""
-#: part/models.py:787
+#: part/models.py:869
msgid "Default Expiry"
msgstr ""
-#: part/models.py:788
+#: part/models.py:870
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:793
+#: part/models.py:875 part/templates/part/part_base.html:178
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:794
+#: part/models.py:876
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:801
+#: part/models.py:883
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:807
+#: part/models.py:889
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:813
+#: part/models.py:895
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:819
+#: part/models.py:901
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:824
+#: part/models.py:906
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:911
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:833 templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:82
-#: templates/js/translated/table_filters.js:268
-#: templates/js/translated/table_filters.js:346
+#: part/models.py:915 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:362
msgid "Active"
msgstr ""
-#: part/models.py:834
+#: part/models.py:916
msgid "Is this part active?"
msgstr ""
-#: part/models.py:839
+#: part/models.py:921
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:844
+#: part/models.py:926
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "BOM checksum"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:850
+#: part/models.py:932
msgid "BOM checked by"
msgstr ""
-#: part/models.py:852
+#: part/models.py:934
msgid "BOM checked date"
msgstr ""
-#: part/models.py:856
+#: part/models.py:938
msgid "Creation User"
msgstr ""
-#: part/models.py:1605
+#: part/models.py:1750
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2100
+#: part/models.py:2273
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2117
+#: part/models.py:2290
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2137 templates/js/translated/part.js:1216
-#: templates/js/translated/stock.js:535
+#: part/models.py:2310 templates/js/translated/part.js:1355
+#: templates/js/translated/stock.js:828
msgid "Test Name"
msgstr ""
-#: part/models.py:2138
+#: part/models.py:2311
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2143
+#: part/models.py:2316
msgid "Test Description"
msgstr ""
-#: part/models.py:2144
+#: part/models.py:2317
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2149 templates/js/translated/part.js:1225
-#: templates/js/translated/table_filters.js:254
+#: part/models.py:2322 templates/js/translated/part.js:1364
+#: templates/js/translated/table_filters.js:270
msgid "Required"
msgstr ""
-#: part/models.py:2150
+#: part/models.py:2323
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2155 templates/js/translated/part.js:1233
+#: part/models.py:2328 templates/js/translated/part.js:1372
msgid "Requires Value"
msgstr ""
-#: part/models.py:2156
+#: part/models.py:2329
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2161 templates/js/translated/part.js:1240
+#: part/models.py:2334 templates/js/translated/part.js:1379
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2162
+#: part/models.py:2335
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2173
+#: part/models.py:2346
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2209
+#: part/models.py:2382
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2217
+#: part/models.py:2390
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2224
+#: part/models.py:2397
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2256 part/models.py:2305 part/models.py:2306
-#: templates/InvenTree/settings/settings.html:164
+#: part/models.py:2429 part/models.py:2478 part/models.py:2479
+#: templates/InvenTree/settings/settings.html:158
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Data"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2310 templates/InvenTree/settings/settings.html:173
+#: part/models.py:2483 templates/InvenTree/settings/settings.html:167
msgid "Default Value"
msgstr ""
-#: part/models.py:2311
+#: part/models.py:2484
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2561
msgid "Select parent part"
msgstr ""
-#: part/models.py:2370
+#: part/models.py:2569
msgid "Sub part"
msgstr ""
-#: part/models.py:2371
+#: part/models.py:2570
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2377
+#: part/models.py:2576
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2379 templates/js/translated/bom.js:275
-#: templates/js/translated/bom.js:335
+#: part/models.py:2578 templates/js/translated/bom.js:452
+#: templates/js/translated/bom.js:526
+#: templates/js/translated/table_filters.js:86
msgid "Optional"
msgstr ""
-#: part/models.py:2379
+#: part/models.py:2578
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2382
+#: part/models.py:2581
msgid "Overage"
msgstr ""
-#: part/models.py:2383
+#: part/models.py:2582
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2585
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2588
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "Checksum"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2395 templates/js/translated/bom.js:352
-#: templates/js/translated/bom.js:359
+#: part/models.py:2594 templates/js/translated/bom.js:543
+#: templates/js/translated/bom.js:550
#: templates/js/translated/table_filters.js:68
+#: templates/js/translated/table_filters.js:82
msgid "Inherited"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2595
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2401 templates/js/translated/bom.js:344
+#: part/models.py:2600 templates/js/translated/bom.js:535
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2402
+#: part/models.py:2601
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2487 stock/models.py:341
+#: part/models.py:2686 stock/models.py:371
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2496 part/models.py:2498
+#: part/models.py:2695 part/models.py:2697
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2620
+#: part/models.py:2826
+msgid "BOM Item Substitute"
+msgstr ""
+
+#: part/models.py:2848
+msgid "Substitute part cannot be the same as the master part"
+msgstr ""
+
+#: part/models.py:2860
+msgid "Parent BOM item"
+msgstr ""
+
+#: part/models.py:2868
+msgid "Substitute part"
+msgstr ""
+
+#: part/models.py:2879
msgid "Part 1"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Part 2"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2656
+#: part/models.py:2915
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
+#: part/tasks.py:53
+#, fuzzy
+#| msgid "Confirm stock allocation"
+msgid "Low stock notification"
+msgstr "Подтвердите выделение запасов"
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
-#: part/templates/part/bom.html:14
+#: part/templates/part/bom.html:15
#, python-format
msgid "The BOM for %(part)s has changed, and must be validated.
"
msgstr ""
-#: part/templates/part/bom.html:16
+#: part/templates/part/bom.html:17
#, python-format
msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s"
msgstr ""
-#: part/templates/part/bom.html:20
+#: part/templates/part/bom.html:21
#, python-format
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:27
-msgid "Remove selected BOM items"
-msgstr ""
-
-#: part/templates/part/bom.html:30
-msgid "Import BOM data"
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:383
+msgid "BOM actions"
msgstr ""
#: part/templates/part/bom.html:34
-msgid "Copy BOM from parent part"
-msgstr ""
-
-#: part/templates/part/bom.html:38
-msgid "New BOM Item"
-msgstr ""
-
-#: part/templates/part/bom.html:41
-msgid "Finish Editing"
-msgstr ""
-
-#: part/templates/part/bom.html:46
-msgid "Edit BOM"
-msgstr ""
-
-#: part/templates/part/bom.html:50
-msgid "Validate Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:56 part/views.py:1220
-msgid "Export Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:59
-msgid "Print BOM Report"
-msgstr ""
+#, fuzzy
+#| msgid "Delete Item"
+msgid "Delete Items"
+msgstr "Удалить элемент"
#: part/templates/part/bom_duplicate.html:13
msgid "This part already has a Bill of Materials"
@@ -4360,28 +4190,23 @@ msgstr ""
msgid "Select Part"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:13
-#: part/templates/part/bom_upload/upload_file.html:16
-msgid "Return To BOM"
-msgstr ""
-
-#: part/templates/part/bom_upload/upload_file.html:27
+#: part/templates/part/bom_upload/upload_file.html:12
msgid "Upload Bill of Materials"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:46
+#: part/templates/part/bom_upload/upload_file.html:32
msgid "Requirements for BOM upload"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "The BOM file must contain the required named columns as provided in the "
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "BOM Upload Template"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:49
+#: part/templates/part/bom_upload/upload_file.html:35
msgid "Each part must already exist in the database"
msgstr ""
@@ -4394,93 +4219,113 @@ msgstr ""
msgid "This will validate each line in the BOM."
msgstr ""
-#: part/templates/part/category.html:33
-msgid "All parts"
+#: part/templates/part/category.html:24 part/templates/part/category.html:28
+msgid "You are subscribed to notifications for this category"
+msgstr ""
+
+#: part/templates/part/category.html:32
+msgid "Subscribe to notifications for this category"
msgstr ""
#: part/templates/part/category.html:38
+msgid "Category Actions"
+msgstr ""
+
+#: part/templates/part/category.html:43
+#, fuzzy
+#| msgid "Select Category"
+msgid "Edit category"
+msgstr "Выбрать категорию"
+
+#: part/templates/part/category.html:44
+#, fuzzy
+#| msgid "Select Category"
+msgid "Edit Category"
+msgstr "Выбрать категорию"
+
+#: part/templates/part/category.html:48
+#, fuzzy
+#| msgid "Select Category"
+msgid "Delete category"
+msgstr "Выбрать категорию"
+
+#: part/templates/part/category.html:49
+#, fuzzy
+#| msgid "Select Category"
+msgid "Delete Category"
+msgstr "Выбрать категорию"
+
+#: part/templates/part/category.html:57
msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:44
-msgid "Edit part category"
+#: part/templates/part/category.html:58
+#, fuzzy
+#| msgid "Select Category"
+msgid "New Category"
+msgstr "Выбрать категорию"
+
+#: part/templates/part/category.html:67
+msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:49
-msgid "Delete part category"
-msgstr ""
-
-#: part/templates/part/category.html:59 part/templates/part/category.html:98
-msgid "Category Details"
-msgstr ""
-
-#: part/templates/part/category.html:64
+#: part/templates/part/category.html:79
msgid "Category Path"
msgstr ""
-#: part/templates/part/category.html:69
+#: part/templates/part/category.html:84
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:175
-#: part/templates/part/category_navbar.html:14
-#: part/templates/part/category_navbar.html:17
+#: part/templates/part/category.html:103 part/templates/part/category.html:194
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:93
+#: part/templates/part/category.html:108
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:126
+#: part/templates/part/category.html:145
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:142
+#: part/templates/part/category.html:146 part/templates/part/category.html:170
msgid "Export"
msgstr ""
-#: part/templates/part/category.html:130
+#: part/templates/part/category.html:149
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 templates/js/translated/bom.js:39
+#: part/templates/part/category.html:150 templates/js/translated/bom.js:40
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:141
+#: part/templates/part/category.html:168
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:142
+#: part/templates/part/category.html:170
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:146
-msgid "View list display"
-msgstr ""
-
-#: part/templates/part/category.html:149
-msgid "View grid display"
-msgstr ""
-
-#: part/templates/part/category.html:165
+#: part/templates/part/category.html:184
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:254
+#: part/templates/part/category.html:261
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:281
+#: part/templates/part/category.html:288
msgid "Create Part"
msgstr ""
@@ -4519,12 +4364,7 @@ msgstr ""
msgid "If this category is deleted, these parts will be moved to the top-level category Teile"
msgstr ""
-#: part/templates/part/category_navbar.html:29
-#: part/templates/part/category_navbar.html:32
-msgid "Import Parts"
-msgstr ""
-
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365
msgid "Duplicate Part"
msgstr ""
@@ -4549,311 +4389,315 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)"
msgstr ""
#: part/templates/part/detail.html:16
+msgid "Part Details"
+msgstr ""
+
+#: part/templates/part/detail.html:66
+msgid "Minimum stock level"
+msgstr ""
+
+#: part/templates/part/detail.html:97
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/detail.html:124
msgid "Part Stock"
msgstr ""
-#: part/templates/part/detail.html:21
+#: part/templates/part/detail.html:136
#, python-format
msgid "Showing stock for all variants of %(full_name)s"
msgstr ""
-#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99
+#: part/templates/part/detail.html:146
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:36
+#: part/templates/part/detail.html:151
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:77
-msgid "New sales order"
-msgstr ""
-
-#: part/templates/part/detail.html:77
-msgid "New Order"
-msgstr ""
-
-#: part/templates/part/detail.html:90
+#: part/templates/part/detail.html:208
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27
+#: part/templates/part/detail.html:249
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:137
+#: part/templates/part/detail.html:253
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:138
+#: part/templates/part/detail.html:254
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:161
+#: part/templates/part/detail.html:281
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107
-#: part/templates/part/navbar.html:110
+#: part/templates/part/detail.html:315
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:188
+#: part/templates/part/detail.html:319 part/templates/part/detail.html:320
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43
-#: part/templates/part/navbar.html:46
+#: part/templates/part/detail.html:366
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:237
+#: part/templates/part/detail.html:371
+msgid "Export actions"
+msgstr ""
+
+#: part/templates/part/detail.html:375
+msgid "Export BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:377
+msgid "Print BOM Report"
+msgstr ""
+
+#: part/templates/part/detail.html:387
+msgid "Upload BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:389 templates/js/translated/part.js:266
+msgid "Copy BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:391 part/views.py:820
+msgid "Validate BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:396
+msgid "New BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:397
+msgid "Add BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:410
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:253
+#: part/templates/part/detail.html:427
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:260
-msgid "Start New Build"
-msgstr ""
-
-#: part/templates/part/detail.html:274
+#: part/templates/part/detail.html:452
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:283
+#: part/templates/part/detail.html:462
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:305
+#: part/templates/part/detail.html:489
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:317
+#: part/templates/part/detail.html:505
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:502
+#: part/templates/part/detail.html:686
msgid "Delete selected BOM items?"
msgstr ""
-#: part/templates/part/detail.html:503
+#: part/templates/part/detail.html:687
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:554
+#: part/templates/part/detail.html:738
msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:699
+#: part/templates/part/detail.html:876
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:755
+#: part/templates/part/detail.html:933
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:907
+#: part/templates/part/detail.html:1085
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:919
+#: part/templates/part/detail.html:1097
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:931
+#: part/templates/part/detail.html:1109
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1020
+#: part/templates/part/detail.html:1198
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
#: part/templates/part/import_wizard/ajax_part_upload.html:29
-#: part/templates/part/import_wizard/part_upload.html:51
+#: part/templates/part/import_wizard/part_upload.html:52
msgid "Unsuffitient privileges."
msgstr ""
-#: part/templates/part/import_wizard/part_upload.html:14
+#: part/templates/part/import_wizard/part_upload.html:15
msgid "Import Parts from File"
msgstr ""
-#: part/templates/part/navbar.html:30
-msgid "Variants"
-msgstr ""
-
-#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/navbar.html:70
-msgid "Prices"
-msgstr ""
-
-#: part/templates/part/navbar.html:102
-msgid "Test Templates"
-msgstr ""
-
#: part/templates/part/part_app_base.html:12
msgid "Part List"
msgstr ""
+#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31
+msgid "You are subscribed to notifications for this part"
+msgstr ""
+
#: part/templates/part/part_base.html:35
-msgid "Part is a template part (variants can be made from this part)"
+msgid "Subscribe to notifications for this part"
msgstr ""
-#: part/templates/part/part_base.html:38
-msgid "Part can be assembled from other parts"
-msgstr ""
-
-#: part/templates/part/part_base.html:41
-msgid "Part can be used in assemblies"
-msgstr ""
-
-#: part/templates/part/part_base.html:44
-msgid "Part stock is tracked by serial number"
-msgstr ""
-
-#: part/templates/part/part_base.html:47
-msgid "Part can be purchased from external suppliers"
-msgstr ""
-
-#: part/templates/part/part_base.html:50
-msgid "Part can be sold to customers"
-msgstr ""
-
-#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504
-#: templates/js/translated/company.js:761 templates/js/translated/part.js:443
-#: templates/js/translated/part.js:520
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:73
-msgid "Star this part"
-msgstr ""
-
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:75
-#: stock/templates/stock/location.html:51
+#: part/templates/part/part_base.html:43
+#: stock/templates/stock/item_base.html:28
+#: stock/templates/stock/location.html:29
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:82
-#: stock/templates/stock/item_base.html:77
-#: stock/templates/stock/location.html:53 templates/qr_button.html:1
+#: part/templates/part/part_base.html:45
+#: stock/templates/stock/item_base.html:32
+#: stock/templates/stock/location.html:31 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:83
-#: stock/templates/stock/item_base.html:93
-#: stock/templates/stock/location.html:54
+#: part/templates/part/part_base.html:46
+#: stock/templates/stock/item_base.html:48
+#: stock/templates/stock/location.html:32
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:89
+#: part/templates/part/part_base.html:51
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:95
-#: stock/templates/stock/item_base.html:142
-#: stock/templates/stock/location.html:62
+#: part/templates/part/part_base.html:56
+#: stock/templates/stock/item_base.html:103
+#: stock/templates/stock/location.html:40
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:102
+#: part/templates/part/part_base.html:63
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:108
+#: part/templates/part/part_base.html:69
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:125
+#: part/templates/part/part_base.html:84
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:128
+#: part/templates/part/part_base.html:87
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:131
+#: part/templates/part/part_base.html:90
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:134
+#: part/templates/part/part_base.html:93
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:146
+#: part/templates/part/part_base.html:109
+msgid "Part is a template part (variants can be made from this part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:113
+msgid "Part can be assembled from other parts"
+msgstr ""
+
+#: part/templates/part/part_base.html:117
+msgid "Part can be used in assemblies"
+msgstr ""
+
+#: part/templates/part/part_base.html:121
+msgid "Part stock is tracked by serial number"
+msgstr ""
+
+#: part/templates/part/part_base.html:125
+msgid "Part can be purchased from external suppliers"
+msgstr ""
+
+#: part/templates/part/part_base.html:129
+msgid "Part can be sold to customers"
+msgstr ""
+
+#: part/templates/part/part_base.html:135
+#: part/templates/part/part_base.html:143
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:136
+#: templates/js/translated/company.js:504
+#: templates/js/translated/company.js:761
+#: templates/js/translated/model_renderers.js:175
+#: templates/js/translated/part.js:464 templates/js/translated/part.js:541
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:155
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:161
-#: templates/js/translated/model_renderers.js:169
-#: templates/js/translated/order.js:1503
-#: templates/js/translated/table_filters.js:166
+#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524
+#: templates/js/translated/table_filters.js:182
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960
+#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961
msgid "On Order"
msgstr ""
-#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:181
+#: part/templates/part/part_base.html:199
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:188
+#: part/templates/part/part_base.html:206
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373
+#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776
-#: templates/js/translated/part.js:964
+#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793
+#: templates/js/translated/part.js:965
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:223
-#: part/templates/part/part_base.html:531
-#: part/templates/part/part_base.html:557
-msgid "Show Part Details"
-msgstr ""
-
-#: part/templates/part/part_base.html:283
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144
+#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:445
+#: part/templates/part/part_base.html:363
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:526
-#: part/templates/part/part_base.html:551
-msgid "Hide Part Details"
-msgstr ""
-
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4877,7 +4721,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
-#: templates/js/translated/bom.js:327
+#: templates/js/translated/bom.js:518
msgid "No supplier pricing available"
msgstr ""
@@ -4911,13 +4755,14 @@ msgstr ""
msgid "No pricing information is available for this part."
msgstr ""
-#: part/templates/part/part_thumb.html:20
+#: part/templates/part/part_thumb.html:11
msgid "Select from existing images"
msgstr ""
#: part/templates/part/partial_delete.html:9
#, python-format
-msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
+msgid ""
+"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
"
Disable the \"Active\" part attribute and re-try.\n"
" "
msgstr ""
@@ -4980,7 +4825,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321
+#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512
msgid "Supplier Cost"
msgstr ""
@@ -5002,7 +4847,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:215 part/views.py:1801
+#: part/templates/part/prices.html:215 part/views.py:1853
msgid "Add Internal Price Break"
msgstr ""
@@ -5022,13 +4867,13 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297
-#: templates/js/translated/model_renderers.js:167
-#: templates/js/translated/part.js:766 templates/js/translated/part.js:968
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474
+#: templates/js/translated/part.js:428 templates/js/translated/part.js:783
+#: templates/js/translated/part.js:969
msgid "No Stock"
msgstr ""
-#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166
+#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158
msgid "Low Stock"
msgstr ""
@@ -5041,135 +4886,140 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:106
+#: part/templatetags/inventree_extras.py:113
msgid "Unknown database"
msgstr ""
-#: part/views.py:94
+#: part/views.py:95
msgid "Add Related Part"
msgstr ""
-#: part/views.py:149
+#: part/views.py:150
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:160
+#: part/views.py:161
msgid "Set Part Category"
msgstr ""
-#: part/views.py:210
+#: part/views.py:211
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:270
+#: part/views.py:283
msgid "Match References"
msgstr ""
-#: part/views.py:526
+#: part/views.py:567
msgid "None"
msgstr ""
-#: part/views.py:585
+#: part/views.py:626
msgid "Part QR Code"
msgstr ""
-#: part/views.py:687
+#: part/views.py:728
msgid "Select Part Image"
msgstr ""
-#: part/views.py:713
+#: part/views.py:754
msgid "Updated part image"
msgstr ""
-#: part/views.py:716
+#: part/views.py:757
msgid "Part image not found"
msgstr ""
-#: part/views.py:728
+#: part/views.py:769
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:758
+#: part/views.py:799
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:779
-msgid "Validate BOM"
-msgstr ""
-
-#: part/views.py:800
+#: part/views.py:841
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:811
+#: part/views.py:852
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:884
+#: part/views.py:925
msgid "Match Parts"
msgstr ""
-#: part/views.py:1272
+#: part/views.py:1261
+msgid "Export Bill of Materials"
+msgstr ""
+
+#: part/views.py:1313
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1279
+#: part/views.py:1320
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1288
+#: part/views.py:1329
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1437
+#: part/views.py:1478
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1447
+#: part/views.py:1488
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1454
+#: part/views.py:1495
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1502 templates/js/translated/part.js:308
+#: part/views.py:1554 templates/js/translated/part.js:309
msgid "Edit Part Category"
msgstr ""
-#: part/views.py:1540
+#: part/views.py:1592
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1546
+#: part/views.py:1598
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1555
+#: part/views.py:1607
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1656
+#: part/views.py:1708
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1712
+#: part/views.py:1764
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:1734
+#: part/views.py:1786
msgid "Added new price break"
msgstr ""
-#: part/views.py:1810
+#: part/views.py:1862
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:1818
+#: part/views.py:1870
msgid "Delete Internal Price Break"
msgstr ""
+#: report/api.py:234 report/api.py:278
+#, python-brace-format
+msgid "Template file '{filename}' is missing or does not exist"
+msgstr ""
+
#: report/models.py:182
msgid "Template name"
msgstr ""
@@ -5206,51 +5056,51 @@ msgstr ""
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:380
+#: report/models.py:382
msgid "Build Filters"
msgstr ""
-#: report/models.py:381
+#: report/models.py:383
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:423
+#: report/models.py:425
msgid "Part Filters"
msgstr ""
-#: report/models.py:424
+#: report/models.py:426
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:458
+#: report/models.py:460
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:496
+#: report/models.py:498
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:546
+#: report/models.py:548
msgid "Snippet"
msgstr ""
-#: report/models.py:547
+#: report/models.py:549
msgid "Report snippet file"
msgstr ""
-#: report/models.py:551
+#: report/models.py:553
msgid "Snippet file description"
msgstr ""
-#: report/models.py:586
+#: report/models.py:588
msgid "Asset"
msgstr ""
-#: report/models.py:587
+#: report/models.py:589
msgid "Report asset file"
msgstr ""
-#: report/models.py:590
+#: report/models.py:592
msgid "Asset file description"
msgstr ""
@@ -5267,543 +5117,586 @@ msgstr ""
msgid "Stock Item Test Report"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:83
-msgid "Test Results"
+#: report/templates/report/inventree_test_report_base.html:79
+#: stock/models.py:530 stock/templates/stock/item_base.html:238
+#: templates/js/translated/build.js:233 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1013
+#: templates/js/translated/model_renderers.js:95
+#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355
+msgid "Serial Number"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:1804
+msgid "Test Results"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:93
+#: stock/models.py:1855
msgid "Test"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:89
-#: stock/models.py:1810
+#: report/templates/report/inventree_test_report_base.html:94
+#: stock/models.py:1861
msgid "Result"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502
+#: report/templates/report/inventree_test_report_base.html:97
+#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887
msgid "Date"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:103
+#: report/templates/report/inventree_test_report_base.html:108
msgid "Pass"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:105
+#: report/templates/report/inventree_test_report_base.html:110
msgid "Fail"
msgstr ""
-#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556
-#: stock/templates/stock/item_base.html:395
-#: templates/js/translated/stock.js:946
+#: report/templates/report/inventree_test_report_base.html:123
+msgid "Installed Items"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:137
+#: templates/js/translated/stock.js:2147
+msgid "Serial"
+msgstr ""
+
+#: stock/api.py:422
+msgid "Quantity is required"
+msgstr ""
+
+#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587
+#: stock/templates/stock/item_base.html:382
+#: templates/js/translated/stock.js:1246
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:308
+#: stock/forms.py:92 stock/forms.py:266
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:83
+#: stock/forms.py:95
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:134
+#: stock/forms.py:150
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:138 stock/forms.py:282
+#: stock/forms.py:154 stock/forms.py:238
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:168 stock/forms.py:224
-msgid "Select test report template"
-msgstr ""
-
-#: stock/forms.py:240
+#: stock/forms.py:194
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:270
+#: stock/forms.py:224
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:280
+#: stock/forms.py:236
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm removal of installed stock items"
msgstr ""
-#: stock/models.py:57 stock/models.py:593
+#: stock/models.py:60 stock/models.py:624
+#: stock/templates/stock/item_base.html:422
msgid "Owner"
msgstr ""
-#: stock/models.py:58 stock/models.py:594
+#: stock/models.py:61 stock/models.py:625
msgid "Select Owner"
msgstr ""
-#: stock/models.py:322
+#: stock/models.py:352
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:358
+#: stock/models.py:388
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:368 stock/models.py:377
+#: stock/models.py:398 stock/models.py:407
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:369
+#: stock/models.py:399
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:391
+#: stock/models.py:421
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:397
+#: stock/models.py:427
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:404
+#: stock/models.py:434
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:446
+#: stock/models.py:476
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:455
+#: stock/models.py:485
msgid "Base part"
msgstr ""
-#: stock/models.py:464
+#: stock/models.py:493
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8
+#: stock/models.py:498 stock/templates/stock/location.html:12
+#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:472
+#: stock/models.py:501
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:479
+#: stock/models.py:508
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:484 stock/templates/stock/item_base.html:284
+#: stock/models.py:513 stock/templates/stock/item_base.html:271
msgid "Installed In"
msgstr ""
-#: stock/models.py:487
+#: stock/models.py:516
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:503
+#: stock/models.py:532
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:515
+#: stock/models.py:546
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:519
+#: stock/models.py:550
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:528
+#: stock/models.py:559
msgid "Source Build"
msgstr ""
-#: stock/models.py:530
+#: stock/models.py:561
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:541
+#: stock/models.py:572
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:544
+#: stock/models.py:575
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:550
+#: stock/models.py:581
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:557
+#: stock/models.py:588
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:580 stock/templates/stock/item.html:99
-#: stock/templates/stock/navbar.html:54
+#: stock/models.py:611 stock/templates/stock/item.html:111
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:589
+#: stock/models.py:620
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:599
+#: stock/models.py:630
msgid "Scheduled for deletion"
msgstr ""
-#: stock/models.py:600
+#: stock/models.py:631
msgid "This StockItem will be deleted by the background worker"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1094
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1069
+#: stock/models.py:1100
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1075
+#: stock/models.py:1106
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1078
+#: stock/models.py:1109
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1081
+#: stock/models.py:1112
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1088
+#: stock/models.py:1119
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1246
+#: stock/models.py:1277
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:1724
+#: stock/models.py:1775
msgid "Entry notes"
msgstr ""
-#: stock/models.py:1781
+#: stock/models.py:1832
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:1787
+#: stock/models.py:1838
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:1805
+#: stock/models.py:1856
msgid "Test name"
msgstr ""
-#: stock/models.py:1811 templates/js/translated/table_filters.js:244
+#: stock/models.py:1862 templates/js/translated/table_filters.js:260
msgid "Test result"
msgstr ""
-#: stock/models.py:1817
+#: stock/models.py:1868
msgid "Test output value"
msgstr ""
-#: stock/models.py:1824
+#: stock/models.py:1875
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:1830
+#: stock/models.py:1881
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:424
-msgid "StockItem primary key value"
+#: stock/serializers.py:166
+msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:452
-msgid "Stock transaction notes"
+#: stock/serializers.py:173
+msgid "Purchase currency of this stock item"
msgstr ""
-#: stock/serializers.py:462
-msgid "A list of stock items must be provided"
+#: stock/serializers.py:287
+#, fuzzy
+#| msgid "Number of items to build"
+msgid "Enter number of stock items to serialize"
+msgstr "Количество элементов для сборки"
+
+#: stock/serializers.py:302
+#, python-brace-format
+msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:554
+#: stock/serializers.py:308
+#, fuzzy
+#| msgid "Enter serial numbers for build outputs"
+msgid "Enter serial numbers for new items"
+msgstr "Введите серийные номера для результатов сборки"
+
+#: stock/serializers.py:319 stock/serializers.py:687
msgid "Destination stock location"
msgstr ""
-#: stock/templates/stock/item.html:17
+#: stock/serializers.py:326
+msgid "Optional note field"
+msgstr ""
+
+#: stock/serializers.py:339
+msgid "Serial numbers cannot be assigned to this part"
+msgstr ""
+
+#: stock/serializers.py:557
+msgid "StockItem primary key value"
+msgstr ""
+
+#: stock/serializers.py:585
+msgid "Stock transaction notes"
+msgstr ""
+
+#: stock/serializers.py:595
+msgid "A list of stock items must be provided"
+msgstr ""
+
+#: stock/templates/stock/item.html:18
msgid "Stock Tracking Information"
msgstr ""
-#: stock/templates/stock/item.html:30
+#: stock/templates/stock/item.html:29
msgid "New Entry"
msgstr ""
-#: stock/templates/stock/item.html:43
+#: stock/templates/stock/item.html:48
msgid "Child Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:50
+#: stock/templates/stock/item.html:55
msgid "This stock item does not have any child items"
msgstr ""
-#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19
-#: stock/templates/stock/navbar.html:22
+#: stock/templates/stock/item.html:64
msgid "Test Data"
msgstr ""
-#: stock/templates/stock/item.html:66
-msgid "Delete Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:70
-msgid "Add Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95
+#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50
msgid "Test Report"
msgstr ""
-#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27
+#: stock/templates/stock/item.html:72
+msgid "Delete Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:76
+msgid "Add Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:133
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:125 stock/views.py:511
+#: stock/templates/stock/item.html:137 stock/views.py:515
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326
+#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:346
+#: stock/templates/stock/item.html:363
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:360
+#: stock/templates/stock/item.html:377
msgid "Delete Test Result"
msgstr ""
-#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:399
-#: templates/js/translated/table_filters.js:225
-msgid "Expired"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:401
-#: templates/js/translated/table_filters.js:231
-msgid "Stale"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:80
-#: templates/js/translated/barcode.js:331
-#: templates/js/translated/barcode.js:336
+#: stock/templates/stock/item_base.html:35
+#: templates/js/translated/barcode.js:330
+#: templates/js/translated/barcode.js:335
msgid "Unlink Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/item_base.html:37
msgid "Link Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31
+#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24
msgid "Scan to Location"
msgstr ""
-#: stock/templates/stock/item_base.html:91
+#: stock/templates/stock/item_base.html:46
msgid "Printing actions"
msgstr ""
-#: stock/templates/stock/item_base.html:104
+#: stock/templates/stock/item_base.html:65
msgid "Stock adjustment actions"
msgstr ""
-#: stock/templates/stock/item_base.html:108
-#: stock/templates/stock/location.html:69 templates/stock_table.html:57
+#: stock/templates/stock/item_base.html:69
+#: stock/templates/stock/location.html:47 templates/stock_table.html:50
msgid "Count stock"
msgstr ""
-#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55
+#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48
msgid "Add stock"
msgstr ""
-#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56
+#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49
msgid "Remove stock"
msgstr ""
-#: stock/templates/stock/item_base.html:117
+#: stock/templates/stock/item_base.html:78
msgid "Serialize stock"
msgstr ""
-#: stock/templates/stock/item_base.html:121
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/location.html:53
msgid "Transfer stock"
msgstr ""
-#: stock/templates/stock/item_base.html:124
+#: stock/templates/stock/item_base.html:85
msgid "Assign to customer"
msgstr ""
-#: stock/templates/stock/item_base.html:127
+#: stock/templates/stock/item_base.html:88
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install"
msgstr ""
-#: stock/templates/stock/item_base.html:145
+#: stock/templates/stock/item_base.html:106
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:109
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:150
+#: stock/templates/stock/item_base.html:111
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:153
+#: stock/templates/stock/item_base.html:114
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:173
+#: stock/templates/stock/item_base.html:136
+#: stock/templates/stock/item_base.html:386
+#: templates/js/translated/table_filters.js:241
+msgid "Expired"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/table_filters.js:247
+msgid "Stale"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:161
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:180
+#: stock/templates/stock/item_base.html:168
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:181
+#: stock/templates/stock/item_base.html:169
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:194
+#: stock/templates/stock/item_base.html:182
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:202
+#: stock/templates/stock/item_base.html:190
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:210
+#: stock/templates/stock/item_base.html:198
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:216
+#: stock/templates/stock/item_base.html:204
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:220
+#: stock/templates/stock/item_base.html:208
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:224
+#: stock/templates/stock/item_base.html:212
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:232
-msgid "Stock Item Details"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:241
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:260
+#: stock/templates/stock/item_base.html:247
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:303
-#: templates/js/translated/build.js:658
+#: stock/templates/stock/item_base.html:290
+#: templates/js/translated/build.js:1035
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:310
+#: stock/templates/stock/item_base.html:297
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:352
+#: stock/templates/stock/item_base.html:339
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:370
+#: stock/templates/stock/item_base.html:357
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:399
+#: stock/templates/stock/item_base.html:386
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:401
+#: stock/templates/stock/item_base.html:388
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:408
-#: templates/js/translated/stock.js:959
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1259
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:413
+#: stock/templates/stock/item_base.html:400
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:417
+#: stock/templates/stock/item_base.html:404
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:428
+#: stock/templates/stock/item_base.html:415
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:516
-msgid "Save"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:528
+#: stock/templates/stock/item_base.html:504
msgid "Edit Stock Status"
msgstr ""
@@ -5857,106 +5750,70 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:20
-msgid "You are not in the list of owners of this location. This stock location cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/location.html:37
-msgid "All stock items"
-msgstr ""
-
-#: stock/templates/stock/location.html:42
-msgid "Create new stock location"
-msgstr ""
-
-#: stock/templates/stock/location.html:55
+#: stock/templates/stock/location.html:33
msgid "Check-in Items"
msgstr ""
-#: stock/templates/stock/location.html:83
+#: stock/templates/stock/location.html:61
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:85
+#: stock/templates/stock/location.html:63
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:87
+#: stock/templates/stock/location.html:65
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:99
-msgid "Location Details"
+#: stock/templates/stock/location.html:75
+msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:104
-msgid "Location Path"
+#: stock/templates/stock/location.html:76
+msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:109
-msgid "Location Description"
+#: stock/templates/stock/location.html:86
+#, fuzzy
+#| msgid "Confirm stock allocation"
+msgid "Top level stock location"
+msgstr "Подтвердите выделение запасов"
+
+#: stock/templates/stock/location.html:95
+msgid "You are not in the list of owners of this location. This stock location cannot be edited."
msgstr ""
-#: stock/templates/stock/location.html:114
-#: stock/templates/stock/location.html:155
-#: stock/templates/stock/location_navbar.html:11
-#: stock/templates/stock/location_navbar.html:14
+#: stock/templates/stock/location.html:113
+#: stock/templates/stock/location.html:160
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:124
-msgid "Stock Details"
+#: stock/templates/stock/location.html:118
+#: stock/templates/stock/location.html:132
+#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158
+#: templates/js/translated/stock.js:1871 templates/stats.html:93
+#: templates/stats.html:102 users/models.py:43
+msgid "Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196
+#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170
#: templates/stats.html:97 users/models.py:42
msgid "Stock Locations"
msgstr ""
-#: stock/templates/stock/location.html:162 templates/stock_table.html:37
+#: stock/templates/stock/location.html:167 templates/stock_table.html:30
msgid "Printing Actions"
msgstr ""
-#: stock/templates/stock/location.html:166 templates/stock_table.html:41
+#: stock/templates/stock/location.html:171 templates/stock_table.html:34
msgid "Print labels"
msgstr ""
-#: stock/templates/stock/location.html:250
-msgid "New Location"
-msgstr ""
-
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
-msgstr ""
-
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: stock/templates/stock/navbar.html:11
-msgid "Stock Item Tracking"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:14
-msgid "History"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:30
-msgid "Installed Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:38
-msgid "Child Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:41
-msgid "Children"
-msgstr ""
-
-#: stock/templates/stock/stock_adjust.html:43
-msgid "Remove item"
-msgstr ""
-
#: stock/templates/stock/stock_app_base.html:16
msgid "Loading..."
msgstr ""
@@ -5965,7 +5822,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912
msgid "Convert Stock Item"
msgstr ""
@@ -5986,104 +5843,100 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:158
+#: stock/views.py:162
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:265 stock/views.py:888 stock/views.py:1010
-#: stock/views.py:1375
+#: stock/views.py:269 stock/views.py:891 stock/views.py:1017
+#: stock/views.py:1299
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:280
+#: stock/views.py:284
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:299
+#: stock/views.py:303
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:308
+#: stock/views.py:312
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:332
+#: stock/views.py:336
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:345
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:352
+#: stock/views.py:356
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:363
+#: stock/views.py:367
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:380
+#: stock/views.py:384
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:485
+#: stock/views.py:489
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:660
+#: stock/views.py:663
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:757 templates/js/translated/stock.js:321
+#: stock/views.py:760 templates/js/translated/stock.js:618
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:768
+#: stock/views.py:771
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:790
+#: stock/views.py:793 templates/js/translated/stock.js:288
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:936
+#: stock/views.py:943
msgid "Create new Stock Location"
msgstr ""
-#: stock/views.py:1027
-msgid "Serialize Stock"
-msgstr ""
-
-#: stock/views.py:1120
+#: stock/views.py:1044
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1262
+#: stock/views.py:1186 templates/js/translated/stock.js:268
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1344
+#: stock/views.py:1268
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1444
+#: stock/views.py:1368
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1457
+#: stock/views.py:1381
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1468
+#: stock/views.py:1392
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1475
+#: stock/views.py:1399
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1484
+#: stock/views.py:1408
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6107,63 +5960,67 @@ msgstr ""
msgid "Index"
msgstr ""
-#: templates/InvenTree/index.html:105
-msgid "Starred Parts"
+#: templates/InvenTree/index.html:88
+msgid "Subscribed Parts"
msgstr ""
-#: templates/InvenTree/index.html:115
+#: templates/InvenTree/index.html:98
+msgid "Subscribed Categories"
+msgstr ""
+
+#: templates/InvenTree/index.html:108
msgid "Latest Parts"
msgstr ""
-#: templates/InvenTree/index.html:126
+#: templates/InvenTree/index.html:119
msgid "BOM Waiting Validation"
msgstr ""
-#: templates/InvenTree/index.html:153
+#: templates/InvenTree/index.html:145
msgid "Recently Updated"
msgstr ""
-#: templates/InvenTree/index.html:176
+#: templates/InvenTree/index.html:168
msgid "Depleted Stock"
msgstr ""
-#: templates/InvenTree/index.html:199
+#: templates/InvenTree/index.html:191
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:202
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:232
+#: templates/InvenTree/index.html:224
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:243
+#: templates/InvenTree/index.html:235
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:263
+#: templates/InvenTree/index.html:255
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:274
+#: templates/InvenTree/index.html:266
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:294
+#: templates/InvenTree/index.html:286
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:305
+#: templates/InvenTree/index.html:297
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14
+#: templates/InvenTree/search.html:8
msgid "Search Results"
msgstr ""
-#: templates/InvenTree/search.html:24
+#: templates/InvenTree/search.html:22
msgid "Enter a search query"
msgstr ""
@@ -6183,23 +6040,23 @@ msgstr ""
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:23
+#: templates/InvenTree/settings/currencies.html:19
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:27
+#: templates/InvenTree/settings/currencies.html:24
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:37
+#: templates/InvenTree/settings/currencies.html:38
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:43
+#: templates/InvenTree/settings/currencies.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:48
+#: templates/InvenTree/settings/currencies.html:49
msgid "Update Now"
msgstr ""
@@ -6207,147 +6064,76 @@ msgstr ""
msgid "Server Settings"
msgstr ""
-#: templates/InvenTree/settings/header.html:7
-msgid "Setting"
-msgstr ""
-
#: templates/InvenTree/settings/login.html:9
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:12
-#: templates/InvenTree/settings/user_settings.html:9
-msgid "User Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:15
-#: templates/InvenTree/settings/navbar.html:17
-msgid "Account"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:21
-#: templates/InvenTree/settings/navbar.html:23
-msgid "Home Page"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29
-#: templates/js/translated/tables.js:375 templates/search_form.html:6
-#: templates/search_form.html:8
-msgid "Search"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:33
-#: templates/InvenTree/settings/navbar.html:35
-msgid "Labels"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:39
-#: templates/InvenTree/settings/navbar.html:41
-msgid "Reports"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:45
-#: templates/InvenTree/settings/navbar.html:47
-msgid "Forms"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:52
-#: templates/InvenTree/settings/navbar.html:54
-#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90
-msgid "Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:62
-msgid "InvenTree Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:65
-#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87
-msgid "Login"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:77
-#: templates/InvenTree/settings/navbar.html:79
-msgid "Barcodes"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85
-msgid "Currencies"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91
-msgid "Reporting"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103
-msgid "Categories"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:7
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:12
-msgid "Part Options"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:43
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:47
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:59
+#: templates/InvenTree/settings/part.html:61
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/po.html:9
+#: templates/InvenTree/settings/po.html:7
msgid "Purchase Order Settings"
msgstr ""
-#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:29
+#: templates/InvenTree/settings/setting.html:28
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:41
+#: templates/InvenTree/settings/setting.html:39
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:154
+#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93
+msgid "Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+msgid "Edit Global Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+#, fuzzy
+#| msgid "Edit User Information"
+msgid "Edit User Setting"
+msgstr "Редактировать информацию о пользователе"
+
+#: templates/InvenTree/settings/settings.html:148
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:176
-#: templates/InvenTree/settings/settings.html:275
+#: templates/InvenTree/settings/settings.html:170
+#: templates/InvenTree/settings/settings.html:269
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:177
-#: templates/InvenTree/settings/settings.html:276
+#: templates/InvenTree/settings/settings.html:171
+#: templates/InvenTree/settings/settings.html:270
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:255
+#: templates/InvenTree/settings/settings.html:249
msgid "No part parameter templates found"
msgstr ""
@@ -6363,134 +6149,158 @@ msgstr ""
msgid "Account Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:19
+#: templates/InvenTree/settings/user.html:18
#: templates/js/translated/helpers.js:26
msgid "Edit"
msgstr ""
-#: templates/InvenTree/settings/user.html:21
+#: templates/InvenTree/settings/user.html:20
#: templates/account/password_reset_from_key.html:4
#: templates/account/password_reset_from_key.html:7
msgid "Change Password"
msgstr ""
-#: templates/InvenTree/settings/user.html:28
+#: templates/InvenTree/settings/user.html:31
msgid "Username"
msgstr ""
-#: templates/InvenTree/settings/user.html:32
+#: templates/InvenTree/settings/user.html:35
msgid "First Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:36
+#: templates/InvenTree/settings/user.html:39
msgid "Last Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:42
-msgid "E-Mail"
+#: templates/InvenTree/settings/user.html:54
+msgid "The following email addresses are associated with your account:"
msgstr ""
-#: templates/InvenTree/settings/user.html:47
-msgid "The following e-mail addresses are associated with your account:"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:61
+#: templates/InvenTree/settings/user.html:74
msgid "Verified"
msgstr ""
-#: templates/InvenTree/settings/user.html:63
+#: templates/InvenTree/settings/user.html:76
msgid "Unverified"
msgstr ""
-#: templates/InvenTree/settings/user.html:65
+#: templates/InvenTree/settings/user.html:78
msgid "Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:71
+#: templates/InvenTree/settings/user.html:84
msgid "Make Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:72
+#: templates/InvenTree/settings/user.html:85
msgid "Re-send Verification"
msgstr ""
-#: templates/InvenTree/settings/user.html:73
-#: templates/InvenTree/settings/user.html:130
+#: templates/InvenTree/settings/user.html:86
+#: templates/InvenTree/settings/user.html:153
msgid "Remove"
msgstr ""
-#: templates/InvenTree/settings/user.html:80
+#: templates/InvenTree/settings/user.html:93
msgid "Warning:"
msgstr ""
-#: templates/InvenTree/settings/user.html:81
-msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc."
+#: templates/InvenTree/settings/user.html:94
+msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc."
msgstr ""
-#: templates/InvenTree/settings/user.html:88
-msgid "Add E-mail Address"
+#: templates/InvenTree/settings/user.html:101
+msgid "Add Email Address"
msgstr ""
-#: templates/InvenTree/settings/user.html:93
-msgid "Add E-mail"
+#: templates/InvenTree/settings/user.html:111
+msgid "Enter e-mail address"
msgstr ""
-#: templates/InvenTree/settings/user.html:100
+#: templates/InvenTree/settings/user.html:113
+msgid "Add Email"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:123
msgid "Social Accounts"
msgstr ""
-#: templates/InvenTree/settings/user.html:105
+#: templates/InvenTree/settings/user.html:128
msgid "You can sign in to your account using any of the following third party accounts:"
msgstr ""
-#: templates/InvenTree/settings/user.html:138
-msgid "You currently have no social network accounts connected to this account."
+#: templates/InvenTree/settings/user.html:162
+msgid "There are no social network accounts connected to your InvenTree account"
msgstr ""
-#: templates/InvenTree/settings/user.html:142
+#: templates/InvenTree/settings/user.html:167
msgid "Add a 3rd Party Account"
msgstr ""
-#: templates/InvenTree/settings/user.html:153
-msgid "Theme Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:174
-msgid "Set Theme"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:181
+#: templates/InvenTree/settings/user.html:177
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:200
+#: templates/InvenTree/settings/user.html:186
+#, fuzzy
+#| msgid "Select Category"
+msgid "Select language"
+msgstr "Выбрать категорию"
+
+#: templates/InvenTree/settings/user.html:202
#, python-format
msgid "%(lang_translated)s%% translated"
msgstr ""
-#: templates/InvenTree/settings/user.html:202
+#: templates/InvenTree/settings/user.html:204
msgid "No translations available"
msgstr ""
-#: templates/InvenTree/settings/user.html:209
+#: templates/InvenTree/settings/user.html:211
msgid "Set Language"
msgstr ""
-#: templates/InvenTree/settings/user.html:214
-msgid "Help the translation efforts!"
+#: templates/InvenTree/settings/user.html:213
+msgid "Some languages are not complete"
msgstr ""
#: templates/InvenTree/settings/user.html:215
+msgid "Show only sufficent"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:217
+msgid "Show them too"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:224
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:225
#, python-format
msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
msgstr ""
-#: templates/InvenTree/settings/user.html:223
-msgid "Do you really want to remove the selected e-mail address?"
+#: templates/InvenTree/settings/user.html:233
+msgid "Do you really want to remove the selected email address?"
msgstr ""
-#: templates/InvenTree/settings/user_forms.html:9
-msgid "Form Settings"
+#: templates/InvenTree/settings/user_display.html:9
+msgid "Display Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:25
+msgid "Theme Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:35
+#, fuzzy
+#| msgid "Select Category"
+msgid "Select theme"
+msgstr "Выбрать категорию"
+
+#: templates/InvenTree/settings/user_display.html:46
+msgid "Set Theme"
msgstr ""
#: templates/InvenTree/settings/user_homepage.html:9
@@ -6505,124 +6315,139 @@ msgstr ""
msgid "Search Settings"
msgstr ""
-#: templates/about.html:13
+#: templates/InvenTree/settings/user_settings.html:9
+msgid "User Settings"
+msgstr ""
+
+#: templates/about.html:10
msgid "InvenTree Version Information"
msgstr ""
-#: templates/about.html:22
+#: templates/about.html:11 templates/about.html:105
+#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:964 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
+msgid "Close"
+msgstr ""
+
+#: templates/about.html:20
msgid "InvenTree Version"
msgstr ""
-#: templates/about.html:27
+#: templates/about.html:25
msgid "Development Version"
msgstr ""
-#: templates/about.html:30
+#: templates/about.html:28
msgid "Up to Date"
msgstr ""
-#: templates/about.html:32
+#: templates/about.html:30
msgid "Update Available"
msgstr ""
-#: templates/about.html:42
+#: templates/about.html:40
msgid "Commit Hash"
msgstr ""
-#: templates/about.html:49
+#: templates/about.html:47
msgid "Commit Date"
msgstr ""
-#: templates/about.html:55
+#: templates/about.html:53
msgid "InvenTree Documentation"
msgstr ""
-#: templates/about.html:60
+#: templates/about.html:58
msgid "API Version"
msgstr ""
-#: templates/about.html:65
+#: templates/about.html:63
msgid "Python Version"
msgstr ""
-#: templates/about.html:70
+#: templates/about.html:68
msgid "Django Version"
msgstr ""
-#: templates/about.html:75
+#: templates/about.html:73
msgid "View Code on GitHub"
msgstr ""
-#: templates/about.html:80
+#: templates/about.html:78
msgid "Credits"
msgstr ""
-#: templates/about.html:85
+#: templates/about.html:83
msgid "Mobile App"
msgstr ""
-#: templates/about.html:90
+#: templates/about.html:88
msgid "Submit Bug Report"
msgstr ""
-#: templates/about.html:97 templates/clip.html:4
+#: templates/about.html:95 templates/clip.html:4
msgid "copy to clipboard"
msgstr ""
-#: templates/about.html:97
+#: templates/about.html:95
msgid "copy version information"
msgstr ""
-#: templates/about.html:107 templates/js/translated/modals.js:50
-#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678
-#: templates/js/translated/modals.js:982 templates/modals.html:29
-#: templates/modals.html:54
-msgid "Close"
-msgstr ""
-
#: templates/account/email_confirm.html:6
#: templates/account/email_confirm.html:10
-msgid "Confirm E-mail Address"
+msgid "Confirm Email Address"
msgstr ""
#: templates/account/email_confirm.html:16
#, python-format
-msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s."
+msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
#: templates/account/email_confirm.html:27
#, python-format
-msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request."
+msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:5 templates/account/login.html:14
-#: templates/account/login.html:36
+#: templates/account/login.html:6 templates/account/login.html:16
+#: templates/account/login.html:39
msgid "Sign In"
msgstr ""
-#: templates/account/login.html:19
+#: templates/account/login.html:21
#, python-format
-msgid "Please sign in with one\n"
+msgid ""
+"Please sign in with one\n"
"of your existing third party accounts or sign up\n"
"for a account and sign in below:"
msgstr ""
-#: templates/account/login.html:23
+#: templates/account/login.html:25
#, python-format
-msgid "If you have not created an account yet, then please\n"
+msgid ""
+"If you have not created an account yet, then please\n"
"sign up first."
msgstr ""
-#: templates/account/login.html:38
+#: templates/account/login.html:42
msgid "Forgot Password?"
msgstr ""
-#: templates/account/login.html:45
+#: templates/account/login.html:47
+msgid "InvenTree demo instance"
+msgstr ""
+
+#: templates/account/login.html:47
+msgid "Click here for login details"
+msgstr ""
+
+#: templates/account/login.html:55
msgid "or use SSO"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
-#: templates/account/logout.html:17
+#: templates/account/logout.html:20
msgid "Sign Out"
msgstr ""
@@ -6630,13 +6455,17 @@ msgstr ""
msgid "Are you sure you want to sign out?"
msgstr ""
+#: templates/account/logout.html:19
+msgid "Back to Site"
+msgstr ""
+
#: templates/account/password_reset.html:5
#: templates/account/password_reset.html:12
msgid "Password Reset"
msgstr ""
#: templates/account/password_reset.html:18
-msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it."
+msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it."
msgstr ""
#: templates/account/password_reset.html:23
@@ -6656,11 +6485,13 @@ msgstr ""
msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
msgstr ""
-#: templates/account/password_reset_from_key.html:17
-msgid "change password"
-msgstr ""
+#: templates/account/password_reset_from_key.html:18
+#, fuzzy
+#| msgid "Enter password"
+msgid "Change password"
+msgstr "Введите пароль"
-#: templates/account/password_reset_from_key.html:20
+#: templates/account/password_reset_from_key.html:22
msgid "Your password is now changed."
msgstr ""
@@ -6677,6 +6508,81 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/admin_button.html:2
+msgid "View in administration panel"
+msgstr ""
+
+#: templates/base.html:96
+msgid "Server Restart Required"
+msgstr ""
+
+#: templates/base.html:99
+msgid "A configuration option has been changed which requires a server restart"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Contact your system administrator for further information"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:7
+msgid "Stock is required for the following build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:8
+#, python-format
+msgid "Build order %(build)s - building %(quantity)s x %(part)s"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:10
+msgid "Click on the following link to view this build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:14
+msgid "The following parts are low on required stock"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:18
+#: templates/js/translated/bom.js:989
+#, fuzzy
+#| msgid "Quantity"
+msgid "Required Quantity"
+msgstr "Количество"
+
+#: templates/email/build_order_required_stock.html:19
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129
+#: templates/js/translated/build.js:1749
+msgid "Available"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:38
+#: templates/email/low_stock_notification.html:31
+msgid "You are receiving this email because you are subscribed to notifications for this part "
+msgstr ""
+
+#: templates/email/email.html:35
+msgid "InvenTree version"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:7
+#, python-format
+msgid " The available stock for %(part)s has fallen below the configured minimum level"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:9
+msgid "Click on the following link to view this part"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:17
+msgid "Total Stock"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:19
+#, fuzzy
+#| msgid "Quantity"
+msgid "Minimum Quantity"
+msgstr "Количество"
+
#: templates/image_download.html:8
msgid "Specify URL for downloading image"
msgstr ""
@@ -6693,138 +6599,59 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/report.js:47 templates/js/translated/report.js:67
-msgid "items selected"
-msgstr ""
-
-#: templates/js/report.js:55 templates/js/translated/report.js:75
-msgid "Select Report Template"
-msgstr ""
-
-#: templates/js/report.js:70 templates/js/translated/report.js:90
-msgid "Select Test Report Template"
-msgstr ""
-
-#: templates/js/report.js:98 templates/js/translated/label.js:29
-#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/report.js:99 templates/js/translated/report.js:119
-msgid "Stock item(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:116 templates/js/report.js:169
-#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331 templates/js/translated/report.js:136
-#: templates/js/translated/report.js:189 templates/js/translated/report.js:243
-#: templates/js/translated/report.js:297 templates/js/translated/report.js:351
-msgid "No Reports Found"
-msgstr ""
-
-#: templates/js/report.js:117 templates/js/translated/report.js:137
-msgid "No report templates found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/report.js:152 templates/js/translated/report.js:172
-msgid "Select Builds"
-msgstr ""
-
-#: templates/js/report.js:153 templates/js/translated/report.js:173
-msgid "Build(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:170 templates/js/translated/report.js:190
-msgid "No report templates found which match selected build(s)"
-msgstr ""
-
-#: templates/js/report.js:205 templates/js/translated/build.js:948
-#: templates/js/translated/label.js:134 templates/js/translated/report.js:225
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/report.js:206 templates/js/translated/report.js:226
-msgid "Part(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:224 templates/js/translated/report.js:244
-msgid "No report templates found which match selected part(s)"
-msgstr ""
-
-#: templates/js/report.js:259 templates/js/translated/report.js:279
-msgid "Select Purchase Orders"
-msgstr ""
-
-#: templates/js/report.js:260 templates/js/translated/report.js:280
-msgid "Purchase Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/report.js:278 templates/js/report.js:332
-#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
-msgid "No report templates found which match selected orders"
-msgstr ""
-
-#: templates/js/report.js:313 templates/js/translated/report.js:333
-msgid "Select Sales Orders"
-msgstr ""
-
-#: templates/js/report.js:314 templates/js/translated/report.js:334
-msgid "Sales Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053
+#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035
msgid "No response from the InvenTree server"
msgstr ""
-#: templates/js/translated/api.js:181
+#: templates/js/translated/api.js:191
msgid "Error 400: Bad request"
msgstr ""
-#: templates/js/translated/api.js:182
+#: templates/js/translated/api.js:192
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063
+#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055
msgid "The requested resource could not be located on the server"
msgstr ""
-#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060
msgid "Connection timeout while requesting data from server"
msgstr ""
-#: templates/js/translated/api.js:205
+#: templates/js/translated/api.js:215
msgid "Unhandled Error Code"
msgstr ""
-#: templates/js/translated/api.js:206
+#: templates/js/translated/api.js:216
msgid "Error code"
msgstr ""
@@ -6832,292 +6659,373 @@ msgstr ""
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:91
+#: templates/js/translated/attachment.js:95
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:104
+#: templates/js/translated/attachment.js:108
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:115
msgid "Delete attachment"
msgstr ""
-#: templates/js/translated/barcode.js:30
+#: templates/js/translated/barcode.js:29
msgid "Scan barcode data here using wedge scanner"
msgstr ""
-#: templates/js/translated/barcode.js:32
+#: templates/js/translated/barcode.js:31
msgid "Enter barcode data"
msgstr ""
-#: templates/js/translated/barcode.js:36
+#: templates/js/translated/barcode.js:35
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:54
+#: templates/js/translated/barcode.js:53
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:55
+#: templates/js/translated/barcode.js:54
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:93
+#: templates/js/translated/barcode.js:92
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:114
+#: templates/js/translated/barcode.js:113
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:141
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/barcode.js:140
+#: templates/js/translated/modals.js:1024
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:234
+#: templates/js/translated/barcode.js:233
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:281 templates/navbar.html:65
+#: templates/js/translated/barcode.js:280 templates/navbar.html:69
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:292
+#: templates/js/translated/barcode.js:291
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:310
+#: templates/js/translated/barcode.js:309
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:333
+#: templates/js/translated/barcode.js:332
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:339
+#: templates/js/translated/barcode.js:338
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273
+#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:440
+#: templates/js/translated/barcode.js:439
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:444
-#: templates/js/translated/barcode.js:571
+#: templates/js/translated/barcode.js:443
+#: templates/js/translated/barcode.js:573
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:486
-#: templates/js/translated/barcode.js:610
+#: templates/js/translated/barcode.js:485
+#: templates/js/translated/barcode.js:612
msgid "Error transferring stock"
msgstr ""
-#: templates/js/translated/barcode.js:505
+#: templates/js/translated/barcode.js:507
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:509
+#: templates/js/translated/barcode.js:511
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:516
+#: templates/js/translated/barcode.js:518
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:523
+#: templates/js/translated/barcode.js:525
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:566
+#: templates/js/translated/barcode.js:568
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:629
+#: templates/js/translated/barcode.js:633
msgid "Barcode does not match a valid location"
msgstr ""
-#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495
+#: templates/js/translated/bom.js:184
+msgid "Remove substitute part"
+msgstr ""
+
+#: templates/js/translated/bom.js:226
+msgid "Select and add a new variant item using the input below"
+msgstr ""
+
+#: templates/js/translated/bom.js:237
+msgid "Are you sure you wish to remove this substitute part link?"
+msgstr ""
+
+#: templates/js/translated/bom.js:243
+msgid "Remove Substitute Part"
+msgstr ""
+
+#: templates/js/translated/bom.js:282
+msgid "Add Substitute"
+msgstr ""
+
+#: templates/js/translated/bom.js:283
+msgid "Edit BOM Item Substitutes"
+msgstr ""
+
+#: templates/js/translated/bom.js:402
+msgid "Substitutes Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111
+msgid "Variant stock allowed"
+msgstr ""
+
+#: templates/js/translated/bom.js:411
msgid "Open subassembly"
msgstr ""
-#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744
-#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522
-msgid "Available"
+#: templates/js/translated/bom.js:483
+msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:307
+#: templates/js/translated/bom.js:498
msgid "Purchase Price Range"
msgstr ""
-#: templates/js/translated/bom.js:314
+#: templates/js/translated/bom.js:505
msgid "Purchase Price Average"
msgstr ""
-#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449
+#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798
-#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285
+#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183
+#: templates/js/translated/order.js:1298
msgid "Actions"
msgstr ""
-#: templates/js/translated/bom.js:423
+#: templates/js/translated/bom.js:614
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:425
+#: templates/js/translated/bom.js:616
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590
+#: templates/js/translated/bom.js:618
+msgid "Edit substitute parts"
+msgstr ""
+
+#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575
+#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:1593
+#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/build.js:71
-msgid "Edit Build Order"
+#: templates/js/translated/bom.js:772
+msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/build.js:105
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/translated/build.js:138
-msgid "Allocate stock items to this build output"
-msgstr ""
-
-#: templates/js/translated/build.js:146
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/translated/build.js:155
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:164
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:265
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356
-#: templates/js/translated/order.js:1292
-msgid "Edit stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357
-#: templates/js/translated/order.js:1293
-msgid "Delete stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:695
-msgid "Edit Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:705
-msgid "Remove Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:718
+#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095
msgid "Required Part"
msgstr ""
-#: templates/js/translated/build.js:739
+#: templates/js/translated/bom.js:994
+#, fuzzy
+#| msgid "Split from parent item"
+msgid "Inherited from parent BOM"
+msgstr "Отделить от родительского элемента"
+
+#: templates/js/translated/build.js:78
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:112
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:133
+msgid "Allocate stock items to this build output"
+msgstr ""
+
+#: templates/js/translated/build.js:144
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:153
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:161
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:184
+msgid "Are you sure you wish to unallocate stock items from this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:202
+msgid "Unallocate Stock Items"
+msgstr ""
+
+#: templates/js/translated/build.js:220
+msgid "Select Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:221
+msgid "At least one build output must be selected"
+msgstr ""
+
+#: templates/js/translated/build.js:275
+msgid "Output"
+msgstr ""
+
+#: templates/js/translated/build.js:291
+#, fuzzy
+#| msgid "Complete Build"
+msgid "Complete Build Outputs"
+msgstr "Завершить сборку"
+
+#: templates/js/translated/build.js:386
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:603
+msgid "No active build outputs found"
+msgstr ""
+
+#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760
+#: templates/js/translated/order.js:1305
+msgid "Edit stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761
+#: templates/js/translated/order.js:1306
+msgid "Delete stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1072
+msgid "Edit Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1082
+msgid "Remove Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1107
+msgid "Substitute parts available"
+msgstr ""
+
+#: templates/js/translated/build.js:1124
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:749 templates/js/translated/build.js:975
-#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514
+#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360
+#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553
-#: templates/js/translated/order.js:1567
+#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557
-#: templates/stock_table.html:59
+#: templates/js/translated/build.js:1194 templates/stock_table.html:52
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560
+#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:880
+#: templates/js/translated/build.js:1262
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:949
+#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134
+#: templates/js/translated/report.js:225
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/translated/build.js:1334
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:963
+#: templates/js/translated/build.js:1348
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:992
+#: templates/js/translated/build.js:1377
msgid "Confirm stock allocation"
msgstr "Подтвердите выделение запасов"
-#: templates/js/translated/build.js:993
+#: templates/js/translated/build.js:1378
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:1004
+#: templates/js/translated/build.js:1389
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:1048
+#: templates/js/translated/build.js:1451
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:1172
+#: templates/js/translated/build.js:1576
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856
-#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762
-#: templates/js/translated/stock.js:1456
+#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873
+#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064
+#: templates/js/translated/stock.js:1841
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:1209
+#: templates/js/translated/build.js:1613
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675
+#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:1282
+#: templates/js/translated/build.js:1686
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:1333
+#: templates/js/translated/build.js:1737
msgid "No parts allocated for"
msgstr ""
@@ -7137,7 +7045,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:164 templates/js/translated/order.js:89
+#: templates/js/translated/company.js:164 templates/js/translated/order.js:90
msgid "Add Supplier"
msgstr ""
@@ -7186,34 +7094,34 @@ msgid "No manufacturer parts found"
msgstr ""
#: templates/js/translated/company.js:496
-#: templates/js/translated/company.js:753 templates/js/translated/part.js:427
-#: templates/js/translated/part.js:512
+#: templates/js/translated/company.js:753 templates/js/translated/part.js:448
+#: templates/js/translated/part.js:533
msgid "Template part"
msgstr ""
#: templates/js/translated/company.js:500
-#: templates/js/translated/company.js:757 templates/js/translated/part.js:431
-#: templates/js/translated/part.js:516
+#: templates/js/translated/company.js:757 templates/js/translated/part.js:452
+#: templates/js/translated/part.js:537
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:627 templates/js/translated/part.js:604
+#: templates/js/translated/company.js:627 templates/js/translated/part.js:625
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:664 templates/js/translated/part.js:646
+#: templates/js/translated/company.js:664 templates/js/translated/part.js:667
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:665 templates/js/translated/part.js:647
+#: templates/js/translated/company.js:665 templates/js/translated/part.js:668
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:684 templates/js/translated/part.js:664
+#: templates/js/translated/company.js:684 templates/js/translated/part.js:685
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:695 templates/js/translated/part.js:676
+#: templates/js/translated/company.js:695 templates/js/translated/part.js:697
msgid "Delete Parameter"
msgstr ""
@@ -7222,12 +7130,12 @@ msgid "No supplier parts found"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:407
+#: templates/js/translated/filters.js:420
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:408
+#: templates/js/translated/filters.js:421
msgid "false"
msgstr ""
@@ -7235,57 +7143,61 @@ msgstr ""
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:284
+#: templates/js/translated/filters.js:286
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:286
+#: templates/js/translated/filters.js:290
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:289
+#: templates/js/translated/filters.js:293
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:317
+#: templates/js/translated/filters.js:329
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336
-#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360
+#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364
+#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:324
+#: templates/js/translated/forms.js:351
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:337
+#: templates/js/translated/forms.js:366
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:349
+#: templates/js/translated/forms.js:380
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:361
+#: templates/js/translated/forms.js:394
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:968 templates/modals.html:21
-#: templates/modals.html:47
+#: templates/js/translated/forms.js:679
+msgid "Enter a valid number"
+msgstr ""
+
+#: templates/js/translated/forms.js:1071 templates/modals.html:19
+#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1323
+#: templates/js/translated/forms.js:1457
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1525
+#: templates/js/translated/forms.js:1661
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:1742
+#: templates/js/translated/forms.js:1878
msgid "Clear input"
msgstr ""
@@ -7297,6 +7209,11 @@ msgstr ""
msgid "NO"
msgstr ""
+#: templates/js/translated/label.js:29 templates/js/translated/report.js:118
+#: templates/js/translated/stock.js:594
+msgid "Select Stock Items"
+msgstr ""
+
#: templates/js/translated/label.js:30
msgid "Stock item(s) must be selected before printing labels"
msgstr ""
@@ -7342,62 +7259,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119
+#: templates/js/translated/modals.js:593
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981
-#: templates/modals.html:30 templates/modals.html:55
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963
+#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:117
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:397
+#: templates/js/translated/modals.js:380
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:556
+#: templates/js/translated/modals.js:539
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:592
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:649
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:945
+#: templates/js/translated/modals.js:927
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/modals.js:1024
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1057
+#: templates/js/translated/modals.js:1039
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1058
+#: templates/js/translated/modals.js:1040
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1081
+#: templates/js/translated/modals.js:1063
msgid "Error requesting form data"
msgstr ""
@@ -7405,35 +7322,35 @@ msgstr ""
msgid "Company ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:90
+#: templates/js/translated/model_renderers.js:77
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:125
+#: templates/js/translated/model_renderers.js:130
msgid "Location ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:142
+#: templates/js/translated/model_renderers.js:147
msgid "Build ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:177
+#: templates/js/translated/model_renderers.js:182
msgid "Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:231
+#: templates/js/translated/model_renderers.js:236
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:251
+#: templates/js/translated/model_renderers.js:256
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:288
+#: templates/js/translated/model_renderers.js:293
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:317
+#: templates/js/translated/model_renderers.js:322
msgid "Supplier Part ID"
msgstr ""
@@ -7445,565 +7362,698 @@ msgstr ""
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:207
+#: templates/js/translated/order.js:208
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96
+#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393
msgid "Format"
msgstr ""
-#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97
+#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394
msgid "Select file format"
msgstr ""
-#: templates/js/translated/order.js:299
+#: templates/js/translated/order.js:300
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:300
+#: templates/js/translated/order.js:301
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:325
+#: templates/js/translated/order.js:326
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343
+#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:426
+#: templates/js/translated/order.js:427
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:428
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:429
+#: templates/js/translated/order.js:430
msgid "Receive"
msgstr ""
-#: templates/js/translated/order.js:448
+#: templates/js/translated/order.js:449
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:449
+#: templates/js/translated/order.js:450
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:626
+#: templates/js/translated/order.js:627
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028
+#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602
+#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613
+#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:800
+#: templates/js/translated/order.js:801
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432
+#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457
-#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554
+#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470
+#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464
-msgid "Total price"
+#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486
+msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573
+#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:963
+#: templates/js/translated/order.js:976
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:967
+#: templates/js/translated/order.js:980
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1004
+#: templates/js/translated/order.js:1017
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1055
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1120
+#: templates/js/translated/order.js:1133
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:1213
+#: templates/js/translated/order.js:1226
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1231
+#: templates/js/translated/order.js:1244
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1273
+#: templates/js/translated/order.js:1286
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:1514
+#: templates/js/translated/order.js:1535
msgid "Fulfilled"
msgstr ""
-#: templates/js/translated/order.js:1557
+#: templates/js/translated/order.js:1579
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1585
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725
+#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1596
msgid "Delete line item "
msgstr ""
-#: templates/js/translated/order.js:1673
+#: templates/js/translated/order.js:1719
msgid "Allocate Stock Item"
msgstr ""
-#: templates/js/translated/order.js:1733
+#: templates/js/translated/order.js:1779
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1747
+#: templates/js/translated/order.js:1793
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/part.js:49
+#: templates/js/translated/part.js:50
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:53
+#: templates/js/translated/part.js:54
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:57
+#: templates/js/translated/part.js:58
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:61
+#: templates/js/translated/part.js:62
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:75
+#: templates/js/translated/part.js:76
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:164
+#: templates/js/translated/part.js:165
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:165
+#: templates/js/translated/part.js:166
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:172
+#: templates/js/translated/part.js:173
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:173
+#: templates/js/translated/part.js:174
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:180
+#: templates/js/translated/part.js:181
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:191
+#: templates/js/translated/part.js:192
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:192
+#: templates/js/translated/part.js:193
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:201
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:202
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:257
+#: templates/js/translated/part.js:258
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:258
+#: templates/js/translated/part.js:259
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:265
-msgid "Copy BOM"
-msgstr ""
-
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:267
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:273
+#: templates/js/translated/part.js:274
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:274
+#: templates/js/translated/part.js:275
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:287
+#: templates/js/translated/part.js:288
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:331
+#: templates/js/translated/part.js:332
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:419 templates/js/translated/part.js:504
+#: templates/js/translated/part.js:334
+msgid "Part edited"
+msgstr ""
+
+#: templates/js/translated/part.js:402
+msgid "You are subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:404
+msgid "You have subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:409
+msgid "Subscribe to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:411
+msgid "You have unsubscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:440 templates/js/translated/part.js:525
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:423 templates/js/translated/part.js:508
+#: templates/js/translated/part.js:444 templates/js/translated/part.js:529
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:435
-msgid "Starred part"
+#: templates/js/translated/part.js:456
+msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:439
+#: templates/js/translated/part.js:460
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:554
+#: templates/js/translated/part.js:575
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005
+#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:932
+#: templates/js/translated/part.js:933
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:955
-#: templates/js/translated/table_filters.js:359
+#: templates/js/translated/part.js:956
+#: templates/js/translated/table_filters.js:375
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480
+#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200
+#: templates/js/translated/stock.js:1802
+msgid "Display as list"
+msgstr ""
+
+#: templates/js/translated/part.js:1044
+msgid "Display as grid"
+msgstr ""
+
+#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821
+msgid "Display as tree"
+msgstr ""
+
+#: templates/js/translated/part.js:1283
+msgid "Subscribed category"
+msgstr ""
+
+#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1202
+#: templates/js/translated/part.js:1341
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493
+#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494
+#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1260
+#: templates/js/translated/part.js:1399
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1282
+#: templates/js/translated/part.js:1421
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1296
+#: templates/js/translated/part.js:1435
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1321
+#: templates/js/translated/part.js:1460
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1376
+#: templates/js/translated/part.js:1515
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1377
+#: templates/js/translated/part.js:1516
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1478
+#: templates/js/translated/part.js:1617
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1497
+#: templates/js/translated/part.js:1636
msgid "Single Price Difference"
msgstr ""
-#: templates/js/translated/stock.js:63
+#: templates/js/translated/report.js:67
+msgid "items selected"
+msgstr ""
+
+#: templates/js/translated/report.js:75
+msgid "Select Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:90
+msgid "Select Test Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:119
+msgid "Stock item(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:136 templates/js/translated/report.js:189
+#: templates/js/translated/report.js:243 templates/js/translated/report.js:297
+#: templates/js/translated/report.js:351
+msgid "No Reports Found"
+msgstr ""
+
+#: templates/js/translated/report.js:137
+msgid "No report templates found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:172
+msgid "Select Builds"
+msgstr ""
+
+#: templates/js/translated/report.js:173
+msgid "Build(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:190
+msgid "No report templates found which match selected build(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:226
+msgid "Part(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:244
+msgid "No report templates found which match selected part(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:279
+msgid "Select Purchase Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:280
+msgid "Purchase Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
+msgid "No report templates found which match selected orders"
+msgstr ""
+
+#: templates/js/translated/report.js:333
+msgid "Select Sales Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:334
+msgid "Sales Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/stock.js:70
+msgid "Serialize Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:90
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:126
+#, fuzzy
+#| msgid "Confirm stock allocation"
+msgid "New Stock Location"
+msgstr "Подтвердите выделение запасов"
+
+#: templates/js/translated/stock.js:189
+#, fuzzy
+#| msgid "Enter quantity for build output"
+msgid "Enter initial quantity for this stock item"
+msgstr "Введите количество для вывода сборки"
+
+#: templates/js/translated/stock.js:195
+#, fuzzy
+#| msgid "Enter serial numbers for build outputs"
+msgid "Enter serial numbers for new stock (or leave blank)"
+msgstr "Введите серийные номера для результатов сборки"
+
+#: templates/js/translated/stock.js:338
+#, fuzzy
+#| msgid "Edited stock item"
+msgid "Created new stock item"
+msgstr "Отредактированный товар"
+
+#: templates/js/translated/stock.js:351
+#, fuzzy
+#| msgid "Edited stock item"
+msgid "Created multiple stock items"
+msgstr "Отредактированный товар"
+
+#: templates/js/translated/stock.js:390
msgid "Export Stock"
msgstr ""
-#: templates/js/translated/stock.js:104
+#: templates/js/translated/stock.js:401
msgid "Include Sublocations"
msgstr ""
-#: templates/js/translated/stock.js:105
+#: templates/js/translated/stock.js:402
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:444
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:148
+#: templates/js/translated/stock.js:445
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:154
+#: templates/js/translated/stock.js:451
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:155
+#: templates/js/translated/stock.js:452
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:159
+#: templates/js/translated/stock.js:456
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:160
+#: templates/js/translated/stock.js:457
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:164
+#: templates/js/translated/stock.js:461
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:165 users/models.py:195
+#: templates/js/translated/stock.js:462 users/models.py:200
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:169 templates/stock_table.html:63
+#: templates/js/translated/stock.js:466 templates/stock_table.html:56
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:298
+#: templates/js/translated/stock.js:595
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:456
+#: templates/js/translated/stock.js:753
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:458
+#: templates/js/translated/stock.js:755
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:463
+#: templates/js/translated/stock.js:760
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:489
+#: templates/js/translated/stock.js:782
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:515
+#: templates/js/translated/stock.js:808
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:563
+#: templates/js/translated/stock.js:865
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:670
+#: templates/js/translated/stock.js:972
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:674
+#: templates/js/translated/stock.js:976
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:678
+#: templates/js/translated/stock.js:980
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:984
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:688
+#: templates/js/translated/stock.js:990
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:844
+#: templates/js/translated/stock.js:1148
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:849
+#: templates/js/translated/stock.js:1153
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:852
+#: templates/js/translated/stock.js:1156
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:856
+#: templates/js/translated/stock.js:1160
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:858
+#: templates/js/translated/stock.js:1162
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:1166
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:866
+#: templates/js/translated/stock.js:1170
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:873
+#: templates/js/translated/stock.js:1177
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:1179
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:877
+#: templates/js/translated/stock.js:1181
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:881
-#: templates/js/translated/table_filters.js:161
+#: templates/js/translated/stock.js:1185
+#: templates/js/translated/table_filters.js:177
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:935
+#: templates/js/translated/stock.js:1235
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1308
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1046
+#: templates/js/translated/stock.js:1346
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115
+#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415
msgid "items"
msgstr ""
-#: templates/js/translated/stock.js:1155
+#: templates/js/translated/stock.js:1455
msgid "batches"
msgstr ""
-#: templates/js/translated/stock.js:1182
+#: templates/js/translated/stock.js:1482
msgid "locations"
msgstr ""
-#: templates/js/translated/stock.js:1184
+#: templates/js/translated/stock.js:1484
msgid "Undefined location"
msgstr ""
-#: templates/js/translated/stock.js:1358
+#: templates/js/translated/stock.js:1658
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:1372
+#: templates/js/translated/stock.js:1672
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:1373
+#: templates/js/translated/stock.js:1673
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:1512
+#: templates/js/translated/stock.js:1897
msgid "Invalid date"
msgstr ""
-#: templates/js/translated/stock.js:1559
+#: templates/js/translated/stock.js:1919
+msgid "Details"
+msgstr ""
+
+#: templates/js/translated/stock.js:1944
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1578
+#: templates/js/translated/stock.js:1963
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1597
+#: templates/js/translated/stock.js:1982
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1615
+#: templates/js/translated/stock.js:2000
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1638
+#: templates/js/translated/stock.js:2023
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:1646
+#: templates/js/translated/stock.js:2031
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:1687
+#: templates/js/translated/stock.js:2072
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1688
+#: templates/js/translated/stock.js:2073
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:2124
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:1835
-msgid "Serial"
-msgstr ""
-
-#: templates/js/translated/stock.js:1863
+#: templates/js/translated/stock.js:2175
msgid "Uninstall Stock Item"
msgstr ""
@@ -8023,254 +8073,264 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:156
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:172
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:93
+#: templates/js/translated/table_filters.js:105
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:103
-#: templates/js/translated/table_filters.js:104
-#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:115
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:352
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:114
-#: templates/js/translated/table_filters.js:191
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:117
-#: templates/js/translated/table_filters.js:198
-msgid "Serial number GTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:118
-#: templates/js/translated/table_filters.js:199
-msgid "Serial number greater than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:121
-#: templates/js/translated/table_filters.js:202
-msgid "Serial number LTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:122
-#: templates/js/translated/table_filters.js:203
-msgid "Serial number less than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:125
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:195
-msgid "Serial number"
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:387
+msgid "Subscribed"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:212
-msgid "Batch code"
+#: templates/js/translated/table_filters.js:207
+msgid "Is Serialized"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:214
+msgid "Serial number GTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:134
+#: templates/js/translated/table_filters.js:215
+msgid "Serial number greater than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:137
+#: templates/js/translated/table_filters.js:218
+msgid "Serial number LTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:138
+#: templates/js/translated/table_filters.js:219
+msgid "Serial number less than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:141
-#: templates/js/translated/table_filters.js:326
-msgid "Active parts"
-msgstr ""
-
#: templates/js/translated/table_filters.js:142
-msgid "Show stock for active parts"
+#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:211
+msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:147
-msgid "Part is an assembly"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:151
-msgid "Is allocated"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:152
-msgid "Item has been allocated"
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:228
+msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:157
-msgid "Include stock in sublocations"
+#: templates/js/translated/table_filters.js:342
+msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:162
-msgid "Show stock items which are depleted"
+#: templates/js/translated/table_filters.js:158
+msgid "Show stock for active parts"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:163
+msgid "Part is an assembly"
msgstr ""
#: templates/js/translated/table_filters.js:167
+msgid "Is allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:168
+msgid "Item has been allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:173
+msgid "Include stock in sublocations"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:178
+msgid "Show stock items which are depleted"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:183
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:187
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:188
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:176
+#: templates/js/translated/table_filters.js:192
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:177
+#: templates/js/translated/table_filters.js:193
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:197
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:182
+#: templates/js/translated/table_filters.js:198
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:187
+#: templates/js/translated/table_filters.js:203
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:207
-#: templates/js/translated/table_filters.js:208
+#: templates/js/translated/table_filters.js:223
+#: templates/js/translated/table_filters.js:224
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/table_filters.js:232
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:233
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:242
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:248
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:279
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:291
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:307
+#: templates/js/translated/table_filters.js:324
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:296
-#: templates/js/translated/table_filters.js:313
+#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:329
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:337
+#: templates/js/translated/table_filters.js:353
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:341
+#: templates/js/translated/table_filters.js:357
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:342
+#: templates/js/translated/table_filters.js:358
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:347
+#: templates/js/translated/table_filters.js:363
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:355
+#: templates/js/translated/table_filters.js:371
msgid "Stock available"
msgstr ""
-#: templates/js/translated/table_filters.js:371
-msgid "Starred"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:383
+#: templates/js/translated/table_filters.js:399
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/tables.js:366
+#: templates/js/translated/tables.js:368
msgid "Loading data"
msgstr ""
-#: templates/js/translated/tables.js:369
+#: templates/js/translated/tables.js:371
msgid "rows per page"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "Showing"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "to"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "of"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "rows"
msgstr ""
-#: templates/js/translated/tables.js:378
+#: templates/js/translated/tables.js:377 templates/search_form.html:6
+#: templates/search_form.html:7
+msgid "Search"
+msgstr ""
+
+#: templates/js/translated/tables.js:380
msgid "No matching results"
msgstr ""
-#: templates/js/translated/tables.js:381
+#: templates/js/translated/tables.js:383
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/translated/tables.js:384
+#: templates/js/translated/tables.js:386
msgid "Refresh"
msgstr ""
-#: templates/js/translated/tables.js:387
+#: templates/js/translated/tables.js:389
msgid "Toggle"
msgstr ""
-#: templates/js/translated/tables.js:390
+#: templates/js/translated/tables.js:392
msgid "Columns"
msgstr ""
-#: templates/js/translated/tables.js:393
+#: templates/js/translated/tables.js:395
msgid "All"
msgstr ""
-#: templates/navbar.html:19
-msgid "Toggle navigation"
-msgstr ""
-
-#: templates/navbar.html:39
+#: templates/navbar.html:40
msgid "Buy"
msgstr ""
-#: templates/navbar.html:51
+#: templates/navbar.html:52
msgid "Sell"
msgstr ""
-#: templates/navbar.html:83 users/models.py:39
+#: templates/navbar.html:86 users/models.py:39
msgid "Admin"
msgstr ""
-#: templates/navbar.html:85
+#: templates/navbar.html:88
msgid "Logout"
msgstr ""
-#: templates/navbar.html:106
+#: templates/navbar.html:90
+msgid "Login"
+msgstr ""
+
+#: templates/navbar.html:111
msgid "About InvenTree"
msgstr ""
+#: templates/navbar_demo.html:5
+msgid "InvenTree demo mode"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -8283,6 +8343,10 @@ msgstr ""
msgid "Log in again"
msgstr ""
+#: templates/stats.html:9
+msgid "Server"
+msgstr ""
+
#: templates/stats.html:13
msgid "Instance Name"
msgstr ""
@@ -8336,54 +8400,50 @@ msgid "Export Stock Information"
msgstr ""
#: templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/stock_table.html:27
msgid "Barcode Actions"
msgstr ""
-#: templates/stock_table.html:43
+#: templates/stock_table.html:36
msgid "Print test reports"
msgstr ""
-#: templates/stock_table.html:50
+#: templates/stock_table.html:43
msgid "Stock Options"
msgstr ""
-#: templates/stock_table.html:55
+#: templates/stock_table.html:48
msgid "Add to selected stock items"
msgstr ""
-#: templates/stock_table.html:56
+#: templates/stock_table.html:49
msgid "Remove from selected stock items"
msgstr ""
-#: templates/stock_table.html:57
+#: templates/stock_table.html:50
msgid "Stocktake selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move stock"
msgstr ""
-#: templates/stock_table.html:59
+#: templates/stock_table.html:52
msgid "Order selected items"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change status"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change stock status"
msgstr ""
-#: templates/stock_table.html:63
+#: templates/stock_table.html:56
msgid "Delete selected items"
msgstr ""
@@ -8419,35 +8479,52 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:182
+#: users/models.py:187
msgid "Permission set"
msgstr ""
-#: users/models.py:190
+#: users/models.py:195
msgid "Group"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "View"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "Permission to view items"
msgstr ""
-#: users/models.py:195
+#: users/models.py:200
msgid "Permission to add items"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Change"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:199
+#: users/models.py:204
msgid "Permission to delete items"
msgstr ""
+#~ msgid "Build Order reference"
+#~ msgstr "Ссылка на заказ"
+
+#~ msgid "Order target date"
+#~ msgstr "Срок выполнения заказа"
+
+#~ msgid "Confirm unallocation of stock"
+#~ msgstr "Подтвердите снятие со склада"
+
+#~ msgid "Confirm incomplete"
+#~ msgstr "Подтвердите незавершенность"
+
+#~ msgid "Confirm completion with incomplete stock allocation"
+#~ msgstr "Подтвердите завершение с неполным выделением запасов"
+
+#~ msgid "Confirm build completion"
+#~ msgstr "Подтвердите завершение сборки"
diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.mo b/InvenTree/locale/sv/LC_MESSAGES/django.mo
new file mode 100644
index 0000000000..7156b00547
Binary files /dev/null and b/InvenTree/locale/sv/LC_MESSAGES/django.mo differ
diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po
index e93e9ae7e4..09600887b0 100644
--- a/InvenTree/locale/sv/LC_MESSAGES/django.po
+++ b/InvenTree/locale/sv/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-11 06:21+0000\n"
+"POT-Creation-Date: 2021-11-22 22:08+0000\n"
"PO-Revision-Date: 2021-10-11 06:28\n"
"Last-Translator: \n"
"Language-Team: Swedish\n"
@@ -33,260 +33,266 @@ msgstr "Ingen matchande åtgärd hittades"
msgid "Enter date"
msgstr "Ange datum"
-#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123
-#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27
-#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71
-#: part/forms.py:108 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:564
+#: InvenTree/forms.py:120 build/forms.py:48 build/forms.py:69 build/forms.py:93
+#: order/forms.py:26 order/forms.py:37 order/forms.py:48 order/forms.py:59
+#: order/forms.py:70 part/forms.py:108 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:594
msgid "Confirm"
msgstr "Bekräfta"
-#: InvenTree/forms.py:132
+#: InvenTree/forms.py:136
msgid "Confirm delete"
msgstr "Bekräfta borttagning"
-#: InvenTree/forms.py:133
+#: InvenTree/forms.py:137
msgid "Confirm item deletion"
msgstr "Bekräfta borttagning av artikel"
-#: InvenTree/forms.py:164
+#: InvenTree/forms.py:168
msgid "Enter password"
msgstr "Ange lösenord"
-#: InvenTree/forms.py:165
+#: InvenTree/forms.py:169
msgid "Enter new password"
msgstr "Ange nytt lösenord"
-#: InvenTree/forms.py:172
+#: InvenTree/forms.py:176
msgid "Confirm password"
msgstr "Bekräfta lösenord"
-#: InvenTree/forms.py:173
+#: InvenTree/forms.py:177
msgid "Confirm new password"
msgstr "Bekräfta nytt lösenord"
-#: InvenTree/forms.py:205
+#: InvenTree/forms.py:209
msgid "Select Category"
msgstr "Välj Kategori"
-#: InvenTree/forms.py:226
-msgid "E-mail (again)"
-msgstr ""
-
#: InvenTree/forms.py:230
-msgid "E-mail address confirmation"
+msgid "Email (again)"
msgstr ""
-#: InvenTree/forms.py:250
+#: InvenTree/forms.py:234
+msgid "Email address confirmation"
+msgstr ""
+
+#: InvenTree/forms.py:254
msgid "You must type the same email each time."
msgstr ""
-#: InvenTree/helpers.py:401
+#: InvenTree/helpers.py:430
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr ""
-#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437
-#: stock/views.py:1340
+#: InvenTree/helpers.py:437 order/models.py:318 order/models.py:440
+#: stock/views.py:1264
msgid "Invalid quantity provided"
msgstr "Ogiltigt antal angivet"
-#: InvenTree/helpers.py:411
+#: InvenTree/helpers.py:440
msgid "Empty serial number string"
msgstr "Tom serienummersträng"
-#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:462 InvenTree/helpers.py:465 InvenTree/helpers.py:468
+#: InvenTree/helpers.py:493
#, python-brace-format
msgid "Invalid group: {g}"
msgstr "Ogiltig grupp: {g}"
-#: InvenTree/helpers.py:469
+#: InvenTree/helpers.py:498
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr ""
-#: InvenTree/helpers.py:477
+#: InvenTree/helpers.py:506
msgid "No serial numbers found"
msgstr "Inga serienummer hittades"
-#: InvenTree/helpers.py:481
+#: InvenTree/helpers.py:510
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/models.py:66 stock/models.py:1823
+#: InvenTree/models.py:109 stock/models.py:1874
msgid "Attachment"
msgstr "Bilaga"
-#: InvenTree/models.py:67
+#: InvenTree/models.py:110
msgid "Select file to attach"
msgstr "Välj fil att bifoga"
-#: InvenTree/models.py:69 templates/js/translated/attachment.js:87
+#: InvenTree/models.py:112 templates/js/translated/attachment.js:91
msgid "Comment"
msgstr "Kommentar"
-#: InvenTree/models.py:69
+#: InvenTree/models.py:112
msgid "File comment"
msgstr "Fil kommentar"
-#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055
-#: common/models.py:1056 part/models.py:2055
-#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/translated/stock.js:1669
+#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185
+#: common/models.py:1186 part/models.py:2205 part/models.py:2225
+#: report/templates/report/inventree_test_report_base.html:96
+#: templates/js/translated/stock.js:2054
msgid "User"
msgstr "Användare"
-#: InvenTree/models.py:79
+#: InvenTree/models.py:122
msgid "upload date"
msgstr "uppladdningsdatum"
-#: InvenTree/models.py:99
+#: InvenTree/models.py:142
msgid "Filename must not be empty"
msgstr "Filnamnet får inte vara tomt"
-#: InvenTree/models.py:122
+#: InvenTree/models.py:165
msgid "Invalid attachment directory"
msgstr "Ogiltig katalog för bilaga"
-#: InvenTree/models.py:132
+#: InvenTree/models.py:175
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr "Filnamnet innehåller ogiltiga tecken '{c}'"
-#: InvenTree/models.py:135
+#: InvenTree/models.py:178
msgid "Filename missing extension"
msgstr "Filnamn saknar ändelse"
-#: InvenTree/models.py:142
+#: InvenTree/models.py:185
msgid "Attachment with this filename already exists"
msgstr "Det finns redan en bilaga med detta filnamn"
-#: InvenTree/models.py:149
+#: InvenTree/models.py:192
msgid "Error renaming file"
msgstr "Fel vid namnbyte av fil"
-#: InvenTree/models.py:184
+#: InvenTree/models.py:227
msgid "Invalid choice"
msgstr "Ogiltigt val"
-#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415
-#: label/models.py:112 part/models.py:659 part/models.py:2216
-#: part/templates/part/part_base.html:241 report/models.py:181
-#: templates/js/translated/company.js:637 templates/js/translated/part.js:477
-#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141
-#: templates/js/translated/stock.js:1462
+#: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415
+#: label/models.py:112 part/models.py:741 part/models.py:2389
+#: part/templates/part/detail.html:25 report/models.py:181
+#: templates/js/translated/company.js:637 templates/js/translated/part.js:498
+#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272
+#: templates/js/translated/stock.js:1847
msgid "Name"
msgstr "Namn"
-#: InvenTree/models.py:207 build/models.py:189
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/manufacturer_part.html:76
-#: company/templates/company/supplier_part.html:75 label/models.py:119
-#: order/models.py:158 part/models.py:682
-#: part/templates/part/part_base.html:246
+#: InvenTree/models.py:250 build/models.py:207
+#: build/templates/build/detail.html:25 company/models.py:354
+#: company/models.py:570 company/templates/company/manufacturer_part.html:80
+#: company/templates/company/supplier_part.html:81 label/models.py:119
+#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30
#: part/templates/part/set_category.html:14 report/models.py:194
-#: report/models.py:551 report/models.py:590
+#: report/models.py:553 report/models.py:592
#: report/templates/report/inventree_build_order_base.html:118
-#: templates/InvenTree/settings/header.html:9
-#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217
-#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344
+#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214
+#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621
+#: templates/js/translated/company.js:344
#: templates/js/translated/company.js:547
-#: templates/js/translated/company.js:836 templates/js/translated/order.js:672
-#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056
-#: templates/js/translated/part.js:536 templates/js/translated/part.js:724
-#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153
-#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819
-#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519
+#: templates/js/translated/company.js:836 templates/js/translated/order.js:673
+#: templates/js/translated/order.js:833 templates/js/translated/order.js:1069
+#: templates/js/translated/part.js:557 templates/js/translated/part.js:745
+#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291
+#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121
+#: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904
msgid "Description"
msgstr "Beskrivning"
-#: InvenTree/models.py:208
+#: InvenTree/models.py:251
msgid "Description (optional)"
msgstr "Beskrivning (valfritt)"
-#: InvenTree/models.py:216
+#: InvenTree/models.py:259
msgid "parent"
msgstr "överordnad"
-#: InvenTree/serializers.py:55 part/models.py:2475
+#: InvenTree/serializers.py:62 part/models.py:2674
msgid "Must be a valid number"
msgstr "Måste vara ett giltigt nummer"
-#: InvenTree/serializers.py:244
+#: InvenTree/serializers.py:251
msgid "Filename"
msgstr "Filnamn"
-#: InvenTree/settings.py:529
+#: InvenTree/settings.py:663
msgid "German"
msgstr "Tyska"
-#: InvenTree/settings.py:530
+#: InvenTree/settings.py:664
msgid "Greek"
msgstr "Grekiska"
-#: InvenTree/settings.py:531
+#: InvenTree/settings.py:665
msgid "English"
msgstr "Engelska"
-#: InvenTree/settings.py:532
+#: InvenTree/settings.py:666
msgid "Spanish"
msgstr "Spanska"
-#: InvenTree/settings.py:533
+#: InvenTree/settings.py:667
+msgid "Spanish (Mexican)"
+msgstr ""
+
+#: InvenTree/settings.py:668
msgid "French"
msgstr "Franska"
-#: InvenTree/settings.py:534
+#: InvenTree/settings.py:669
msgid "Hebrew"
msgstr "Hebreiska"
-#: InvenTree/settings.py:535
+#: InvenTree/settings.py:670
msgid "Italian"
msgstr "Italienska"
-#: InvenTree/settings.py:536
+#: InvenTree/settings.py:671
msgid "Japanese"
msgstr "Japanska"
-#: InvenTree/settings.py:537
+#: InvenTree/settings.py:672
msgid "Korean"
msgstr "Koreanska"
-#: InvenTree/settings.py:538
+#: InvenTree/settings.py:673
msgid "Dutch"
msgstr "Nederländska"
-#: InvenTree/settings.py:539
+#: InvenTree/settings.py:674
msgid "Norwegian"
msgstr "Norska"
-#: InvenTree/settings.py:540
+#: InvenTree/settings.py:675
msgid "Polish"
msgstr "Polska"
-#: InvenTree/settings.py:541
+#: InvenTree/settings.py:676
+msgid "Portugese"
+msgstr ""
+
+#: InvenTree/settings.py:677
msgid "Russian"
msgstr "Ryska"
-#: InvenTree/settings.py:542
+#: InvenTree/settings.py:678
msgid "Swedish"
msgstr "Svenska"
-#: InvenTree/settings.py:543
+#: InvenTree/settings.py:679
msgid "Thai"
msgstr "Thailändska"
-#: InvenTree/settings.py:544
+#: InvenTree/settings.py:680
msgid "Turkish"
msgstr "Turkiska"
-#: InvenTree/settings.py:545
+#: InvenTree/settings.py:681
msgid "Vietnamese"
msgstr "Vietnamesiska"
-#: InvenTree/settings.py:546
+#: InvenTree/settings.py:682
msgid "Chinese"
msgstr "Kinesiska"
@@ -302,196 +308,196 @@ msgstr "Backend för e-post är inte konfigurerad"
msgid "InvenTree system health checks failed"
msgstr "InvenTree systemhälsokontroll misslyckades"
-#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145
-#: InvenTree/status_codes.py:314
+#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142
+#: InvenTree/status_codes.py:311
msgid "Pending"
msgstr "Väntar"
-#: InvenTree/status_codes.py:105
+#: InvenTree/status_codes.py:102
msgid "Placed"
msgstr "Placerad"
-#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317
+#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:314
msgid "Complete"
msgstr "Slutför"
-#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147
-#: InvenTree/status_codes.py:316
+#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144
+#: InvenTree/status_codes.py:313
msgid "Cancelled"
msgstr "Avbruten"
-#: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148
-#: InvenTree/status_codes.py:190
+#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145
+#: InvenTree/status_codes.py:187
msgid "Lost"
msgstr "Förlorad"
-#: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149
-#: InvenTree/status_codes.py:192
+#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146
+#: InvenTree/status_codes.py:189
msgid "Returned"
msgstr "Återlämnad"
-#: InvenTree/status_codes.py:146
-#: order/templates/order/sales_order_base.html:131
+#: InvenTree/status_codes.py:143
+#: order/templates/order/sales_order_base.html:147
msgid "Shipped"
msgstr "Skickad"
-#: InvenTree/status_codes.py:186
+#: InvenTree/status_codes.py:183
msgid "OK"
msgstr "OK"
-#: InvenTree/status_codes.py:187
+#: InvenTree/status_codes.py:184
msgid "Attention needed"
msgstr ""
-#: InvenTree/status_codes.py:188
+#: InvenTree/status_codes.py:185
msgid "Damaged"
msgstr "Skadad"
-#: InvenTree/status_codes.py:189
+#: InvenTree/status_codes.py:186
msgid "Destroyed"
msgstr "Förstörd"
-#: InvenTree/status_codes.py:191
+#: InvenTree/status_codes.py:188
msgid "Rejected"
msgstr "Avvisad"
-#: InvenTree/status_codes.py:272
+#: InvenTree/status_codes.py:269
msgid "Legacy stock tracking entry"
msgstr ""
-#: InvenTree/status_codes.py:274
+#: InvenTree/status_codes.py:271
msgid "Stock item created"
msgstr ""
-#: InvenTree/status_codes.py:276
+#: InvenTree/status_codes.py:273
msgid "Edited stock item"
msgstr ""
-#: InvenTree/status_codes.py:277
+#: InvenTree/status_codes.py:274
msgid "Assigned serial number"
msgstr ""
-#: InvenTree/status_codes.py:279
+#: InvenTree/status_codes.py:276
msgid "Stock counted"
msgstr ""
-#: InvenTree/status_codes.py:280
+#: InvenTree/status_codes.py:277
msgid "Stock manually added"
msgstr ""
-#: InvenTree/status_codes.py:281
+#: InvenTree/status_codes.py:278
msgid "Stock manually removed"
msgstr ""
-#: InvenTree/status_codes.py:283
+#: InvenTree/status_codes.py:280
msgid "Location changed"
msgstr ""
-#: InvenTree/status_codes.py:285
+#: InvenTree/status_codes.py:282
msgid "Installed into assembly"
msgstr ""
-#: InvenTree/status_codes.py:286
+#: InvenTree/status_codes.py:283
msgid "Removed from assembly"
msgstr ""
-#: InvenTree/status_codes.py:288
+#: InvenTree/status_codes.py:285
msgid "Installed component item"
msgstr ""
-#: InvenTree/status_codes.py:289
+#: InvenTree/status_codes.py:286
msgid "Removed component item"
msgstr ""
-#: InvenTree/status_codes.py:291
+#: InvenTree/status_codes.py:288
msgid "Split from parent item"
msgstr ""
-#: InvenTree/status_codes.py:292
+#: InvenTree/status_codes.py:289
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186
+#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202
msgid "Sent to customer"
msgstr ""
-#: InvenTree/status_codes.py:295
+#: InvenTree/status_codes.py:292
msgid "Returned from customer"
msgstr ""
-#: InvenTree/status_codes.py:297
+#: InvenTree/status_codes.py:294
msgid "Build order output created"
msgstr ""
-#: InvenTree/status_codes.py:298
+#: InvenTree/status_codes.py:295
msgid "Build order output completed"
msgstr ""
-#: InvenTree/status_codes.py:300
+#: InvenTree/status_codes.py:297
msgid "Received against purchase order"
msgstr ""
-#: InvenTree/status_codes.py:315
+#: InvenTree/status_codes.py:312
msgid "Production"
msgstr ""
-#: InvenTree/validators.py:22
+#: InvenTree/validators.py:23
msgid "Not a valid currency code"
msgstr ""
-#: InvenTree/validators.py:50
+#: InvenTree/validators.py:51
msgid "Invalid character in part name"
msgstr ""
-#: InvenTree/validators.py:63
+#: InvenTree/validators.py:64
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr ""
-#: InvenTree/validators.py:77 InvenTree/validators.py:91
-#: InvenTree/validators.py:105
+#: InvenTree/validators.py:78 InvenTree/validators.py:92
+#: InvenTree/validators.py:106
#, python-brace-format
msgid "Reference must match pattern {pattern}"
msgstr ""
-#: InvenTree/validators.py:113
+#: InvenTree/validators.py:114
#, python-brace-format
msgid "Illegal character in name ({x})"
msgstr ""
-#: InvenTree/validators.py:132 InvenTree/validators.py:148
+#: InvenTree/validators.py:133 InvenTree/validators.py:149
msgid "Overage value must not be negative"
msgstr ""
-#: InvenTree/validators.py:150
+#: InvenTree/validators.py:151
msgid "Overage must not exceed 100%"
msgstr ""
-#: InvenTree/validators.py:157
+#: InvenTree/validators.py:158
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:616
+#: InvenTree/views.py:536
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:665
+#: InvenTree/views.py:585
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:710
+#: InvenTree/views.py:630
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:954 templates/navbar.html:97
+#: InvenTree/views.py:863 templates/navbar.html:101
msgid "System Information"
msgstr ""
@@ -535,599 +541,566 @@ msgstr ""
msgid "Barcode associated with StockItem"
msgstr ""
-#: build/api.py:213
-msgid "Matching build order does not exist"
-msgstr ""
-
-#: build/forms.py:37
-msgid "Build Order reference"
-msgstr ""
-
-#: build/forms.py:38
-msgid "Order target date"
-msgstr ""
-
-#: build/forms.py:42 build/templates/build/build_base.html:146
-#: build/templates/build/detail.html:124
-#: order/templates/order/order_base.html:124
-#: order/templates/order/sales_order_base.html:124
-#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689
-#: templates/js/translated/order.js:1074
-msgid "Target Date"
-msgstr ""
-
-#: build/forms.py:43 build/models.py:279
-msgid "Target date for build completion. Build will be overdue after this date."
-msgstr ""
-
-#: build/forms.py:48 build/forms.py:90 build/models.py:1281
-#: build/templates/build/allocation_card.html:23
-#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:1087
-#: company/forms.py:42 company/templates/company/supplier_part.html:226
-#: order/forms.py:101 order/forms.py:123 order/models.py:720
-#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249
-#: part/forms.py:265 part/forms.py:281 part/models.py:2377
+#: build/forms.py:36 build/models.py:1283
+#: build/templates/build/build_base.html:124
+#: build/templates/build/detail.html:35 common/models.py:1225
+#: company/forms.py:42 company/templates/company/supplier_part.html:251
+#: order/forms.py:102 order/models.py:729 order/models.py:991
+#: order/templates/order/order_wizard/match_parts.html:30
+#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237
+#: part/forms.py:253 part/forms.py:269 part/models.py:2576
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030
+#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
-#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:140 stock/templates/stock/item_base.html:269
-#: stock/templates/stock/stock_adjust.html:18
-#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264
-#: templates/js/translated/build.js:314 templates/js/translated/build.js:638
-#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515
-#: templates/js/translated/model_renderers.js:74
-#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170
-#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444
-#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487
-#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654
-#: templates/js/translated/stock.js:1829
+#: report/templates/report/inventree_test_report_base.html:81
+#: report/templates/report/inventree_test_report_base.html:139
+#: stock/forms.py:156 stock/serializers.py:286
+#: stock/templates/stock/item_base.html:256
+#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441
+#: templates/js/translated/build.js:235 templates/js/translated/build.js:435
+#: templates/js/translated/build.js:629 templates/js/translated/build.js:639
+#: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362
+#: templates/js/translated/model_renderers.js:99
+#: templates/js/translated/order.js:870 templates/js/translated/order.js:1183
+#: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268
+#: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457
+#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626
+#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347
+#: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141
msgid "Quantity"
msgstr ""
-#: build/forms.py:49
-msgid "Number of items to build"
-msgstr ""
-
-#: build/forms.py:91
+#: build/forms.py:37
msgid "Enter quantity for build output"
msgstr ""
-#: build/forms.py:95 order/forms.py:95 stock/forms.py:83
+#: build/forms.py:41 order/forms.py:96 stock/forms.py:95
+#: stock/serializers.py:307 templates/js/translated/stock.js:194
+#: templates/js/translated/stock.js:348
msgid "Serial Numbers"
msgstr ""
-#: build/forms.py:97
+#: build/forms.py:43
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/forms.py:103
+#: build/forms.py:49
msgid "Confirm creation of build output"
msgstr ""
-#: build/forms.py:124
+#: build/forms.py:70
msgid "Confirm deletion of build output"
msgstr ""
-#: build/forms.py:145
-msgid "Confirm unallocation of stock"
-msgstr ""
-
-#: build/forms.py:174
+#: build/forms.py:94
msgid "Mark build as complete"
msgstr ""
-#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284
-#: stock/forms.py:280 stock/serializers.py:553
-#: stock/templates/stock/item_base.html:299
-#: stock/templates/stock/stock_adjust.html:17
-#: templates/js/translated/barcode.js:385
-#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299
-#: templates/js/translated/build.js:650 templates/js/translated/order.js:347
-#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263
-#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179
-#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921
-#: templates/js/translated/stock.js:1546
-msgid "Location"
-msgstr ""
-
-#: build/forms.py:199
-msgid "Location of completed parts"
-msgstr ""
-
-#: build/forms.py:203 build/templates/build/build_base.html:138
-#: build/templates/build/detail.html:62 order/models.py:563
-#: order/serializers.py:238 stock/templates/stock/item_base.html:422
-#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251
-#: templates/js/translated/order.js:430 templates/js/translated/order.js:676
-#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896
-#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845
-msgid "Status"
-msgstr ""
-
-#: build/forms.py:204
-msgid "Build output stock status"
-msgstr ""
-
-#: build/forms.py:211
-msgid "Confirm incomplete"
-msgstr ""
-
-#: build/forms.py:212
-msgid "Confirm completion with incomplete stock allocation"
-msgstr ""
-
-#: build/forms.py:215
-msgid "Confirm build completion"
-msgstr ""
-
-#: build/forms.py:240
+#: build/forms.py:107
msgid "Confirm cancel"
msgstr ""
-#: build/forms.py:240 build/views.py:65
+#: build/forms.py:107 build/views.py:65
msgid "Confirm build cancellation"
msgstr ""
-#: build/models.py:115
+#: build/models.py:133
msgid "Invalid choice for parent build"
msgstr ""
-#: build/models.py:119 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:73
+#: build/models.py:137 build/templates/build/build_base.html:9
+#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:276
+#: templates/js/translated/build.js:397
msgid "Build Order"
msgstr ""
-#: build/models.py:120 build/templates/build/index.html:8
-#: build/templates/build/index.html:15
-#: order/templates/order/sales_order_detail.html:34
-#: order/templates/order/so_navbar.html:19
-#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50
-#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229
-#: templates/InvenTree/search.html:171
-#: templates/InvenTree/settings/navbar.html:113
-#: templates/InvenTree/settings/navbar.html:115 users/models.py:44
+#: build/models.py:138 build/templates/build/build_base.html:13
+#: build/templates/build/index.html:8 build/templates/build/index.html:12
+#: order/templates/order/sales_order_detail.html:42
+#: templates/InvenTree/index.html:221 templates/InvenTree/search.html:145
+#: users/models.py:44
msgid "Build Orders"
msgstr ""
-#: build/models.py:180
+#: build/models.py:198
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:181 order/models.py:246 order/models.py:547
-#: order/models.py:727 part/models.py:2386
+#: build/models.py:199 order/models.py:249 order/models.py:556
+#: order/models.py:736 part/models.py:2585
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734
-#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863
-#: templates/js/translated/order.js:1438
+#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119
+#: templates/js/translated/order.js:864 templates/js/translated/order.js:1451
msgid "Reference"
msgstr ""
-#: build/models.py:192
+#: build/models.py:210
msgid "Brief description of the build"
msgstr ""
-#: build/models.py:201 build/templates/build/build_base.html:163
-#: build/templates/build/detail.html:80
+#: build/models.py:219 build/templates/build/build_base.html:156
+#: build/templates/build/detail.html:88
msgid "Parent Build"
msgstr ""
-#: build/models.py:202
+#: build/models.py:220
msgid "BuildOrder to which this build is allocated"
msgstr ""
-#: build/models.py:207 build/templates/build/build_base.html:128
-#: build/templates/build/detail.html:29 company/models.py:705
-#: order/models.py:780 order/models.py:851
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298
-#: part/models.py:2000 part/models.py:2016 part/models.py:2035
-#: part/models.py:2053 part/models.py:2132 part/models.py:2254
-#: part/models.py:2361 part/templates/part/detail.html:199
+#: build/models.py:225 build/templates/build/build_base.html:119
+#: build/templates/build/detail.html:30 company/models.py:705
+#: order/models.py:789 order/models.py:860
+#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357
+#: part/models.py:2151 part/models.py:2167 part/models.py:2186
+#: part/models.py:2203 part/models.py:2305 part/models.py:2427
+#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
-#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384
-#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611
-#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222
-#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488
-#: templates/js/translated/company.js:745 templates/js/translated/order.js:425
-#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422
-#: templates/js/translated/part.js:705 templates/js/translated/part.js:875
-#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776
-#: templates/js/translated/stock.js:1817
+#: templates/InvenTree/search.html:86
+#: templates/email/build_order_required_stock.html:17
+#: templates/email/low_stock_notification.html:16
+#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213
+#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620
+#: templates/js/translated/build.js:988 templates/js/translated/build.js:1359
+#: templates/js/translated/build.js:1626 templates/js/translated/company.js:488
+#: templates/js/translated/company.js:745 templates/js/translated/order.js:426
+#: templates/js/translated/order.js:818 templates/js/translated/order.js:1435
+#: templates/js/translated/part.js:726 templates/js/translated/part.js:892
+#: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:2129
msgid "Part"
msgstr ""
-#: build/models.py:215
+#: build/models.py:233
msgid "Select part to build"
msgstr ""
-#: build/models.py:220
+#: build/models.py:238
msgid "Sales Order Reference"
msgstr ""
-#: build/models.py:224
+#: build/models.py:242
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:229 templates/js/translated/build.js:962
+#: build/models.py:247 templates/js/translated/build.js:1347
msgid "Source Location"
msgstr ""
-#: build/models.py:233
+#: build/models.py:251
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr ""
-#: build/models.py:238
+#: build/models.py:256
msgid "Destination Location"
msgstr ""
-#: build/models.py:242
+#: build/models.py:260
msgid "Select location where the completed items will be stored"
msgstr ""
-#: build/models.py:246
+#: build/models.py:264
msgid "Build Quantity"
msgstr ""
-#: build/models.py:249
+#: build/models.py:267
msgid "Number of stock items to build"
msgstr ""
-#: build/models.py:253
+#: build/models.py:271
msgid "Completed items"
msgstr ""
-#: build/models.py:255
+#: build/models.py:273
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:259 part/templates/part/part_base.html:198
+#: build/models.py:277 part/templates/part/part_base.html:216
msgid "Build Status"
msgstr ""
-#: build/models.py:263
+#: build/models.py:281
msgid "Build status code"
msgstr ""
-#: build/models.py:267 stock/models.py:513
+#: build/models.py:285 stock/models.py:544
msgid "Batch Code"
msgstr ""
-#: build/models.py:271
+#: build/models.py:289
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:274 order/models.py:162 part/models.py:854
-#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069
+#: build/models.py:292 order/models.py:165 part/models.py:936
+#: part/templates/part/detail.html:86 templates/js/translated/order.js:1082
msgid "Creation Date"
msgstr ""
-#: build/models.py:278 order/models.py:569
+#: build/models.py:296 order/models.py:578
msgid "Target completion date"
msgstr ""
-#: build/models.py:282 order/models.py:288
-#: templates/js/translated/build.js:1293
+#: build/models.py:297
+msgid "Target date for build completion. Build will be overdue after this date."
+msgstr ""
+
+#: build/models.py:300 order/models.py:291
+#: templates/js/translated/build.js:1697
msgid "Completion Date"
msgstr ""
-#: build/models.py:288
+#: build/models.py:306
msgid "completed by"
msgstr ""
-#: build/models.py:296 templates/js/translated/build.js:1264
+#: build/models.py:314 templates/js/translated/build.js:1668
msgid "Issued by"
msgstr ""
-#: build/models.py:297
+#: build/models.py:315
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:305 build/templates/build/build_base.html:184
-#: build/templates/build/detail.html:108 order/models.py:176
-#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:145 part/models.py:858
+#: build/models.py:323 build/templates/build/build_base.html:177
+#: build/templates/build/detail.html:116 order/models.py:179
+#: order/templates/order/order_base.html:154
+#: order/templates/order/sales_order_base.html:161 part/models.py:940
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1680
msgid "Responsible"
msgstr ""
-#: build/models.py:306
+#: build/models.py:324
msgid "User responsible for this build order"
msgstr ""
-#: build/models.py:311 build/templates/build/detail.html:94
-#: company/templates/company/manufacturer_part.html:83
-#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:266 stock/models.py:507
-#: stock/templates/stock/item_base.html:359
+#: build/models.py:329 build/templates/build/detail.html:102
+#: company/templates/company/manufacturer_part.html:87
+#: company/templates/company/supplier_part.html:88
+#: part/templates/part/detail.html:80 stock/models.py:538
+#: stock/templates/stock/item_base.html:346
msgid "External Link"
msgstr ""
-#: build/models.py:312 part/models.py:716 stock/models.py:509
+#: build/models.py:330 part/models.py:798 stock/models.py:540
msgid "Link to external URL"
msgstr ""
-#: build/models.py:316 build/templates/build/navbar.html:52
-#: company/models.py:142 company/models.py:577
-#: company/templates/company/navbar.html:69
-#: company/templates/company/navbar.html:72 order/models.py:180
-#: order/models.py:729 order/templates/order/po_navbar.html:38
-#: order/templates/order/po_navbar.html:41
-#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:843
-#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120
-#: part/templates/part/navbar.html:123
+#: build/models.py:334 build/serializers.py:201 company/models.py:142
+#: company/models.py:577 order/models.py:183 order/models.py:738
+#: part/models.py:925 part/templates/part/detail.html:223
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579
-#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451
-#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59
-#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841
-#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540
-#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040
+#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610
+#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325
+#: stock/serializers.py:584 templates/js/translated/barcode.js:58
+#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841
+#: templates/js/translated/order.js:963 templates/js/translated/order.js:1561
+#: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340
msgid "Notes"
msgstr ""
-#: build/models.py:317
+#: build/models.py:335
msgid "Extra build notes"
msgstr ""
-#: build/models.py:714
+#: build/models.py:710
msgid "No build output specified"
msgstr ""
-#: build/models.py:717
+#: build/models.py:713
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:720
+#: build/models.py:716
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1102
+#: build/models.py:1108
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1111
+#: build/models.py:1117
#, python-brace-format
msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1121
+#: build/models.py:1127
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1127 order/models.py:955
+#: build/models.py:1133 order/models.py:964
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1133
+#: build/models.py:1139
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1191
+#: build/models.py:1193
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1251 stock/templates/stock/item_base.html:331
-#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195
-#: templates/navbar.html:35
+#: build/models.py:1253 stock/templates/stock/item_base.html:318
+#: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599
+#: templates/navbar.html:33
msgid "Build"
msgstr ""
-#: build/models.py:1252
+#: build/models.py:1254
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1268 build/serializers.py:151
+#: build/models.py:1270 build/serializers.py:328
#: stock/templates/stock/item_base.html:8
-#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:353
-#: stock/templates/stock/stock_adjust.html:16
-#: templates/js/translated/build.js:287 templates/js/translated/build.js:292
-#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148
-#: templates/js/translated/stock.js:1605
+#: stock/templates/stock/item_base.html:16
+#: stock/templates/stock/item_base.html:340
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:413
+#: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742
+#: templates/js/translated/order.js:1156 templates/js/translated/order.js:1161
+#: templates/js/translated/stock.js:1990
msgid "Stock Item"
msgstr ""
-#: build/models.py:1269
+#: build/models.py:1271
msgid "Source stock item"
msgstr ""
-#: build/models.py:1282
+#: build/models.py:1284
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1290
+#: build/models.py:1292
msgid "Install into"
msgstr ""
-#: build/models.py:1291
+#: build/models.py:1293
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:133 part/models.py:2501
-msgid "BOM Item"
-msgstr ""
-
-#: build/serializers.py:142
-msgid "bom_item.part must point to the same part as the build order"
-msgstr ""
-
-#: build/serializers.py:157
-msgid "Item must be in stock"
-msgstr ""
-
-#: build/serializers.py:171 order/models.py:313 order/serializers.py:231
-#: stock/models.py:351 stock/models.py:1072
-msgid "Quantity must be greater than zero"
-msgstr ""
-
-#: build/serializers.py:180
+#: build/serializers.py:137 build/serializers.py:357
msgid "Build Output"
msgstr ""
+#: build/serializers.py:146
+msgid "Build output does not match the parent build"
+msgstr ""
+
+#: build/serializers.py:150
+msgid "Output part does not match BuildOrder part"
+msgstr ""
+
+#: build/serializers.py:154
+msgid "This build output has already been completed"
+msgstr ""
+
+#: build/serializers.py:158
+msgid "This build output is not fully allocated"
+msgstr ""
+
+#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285
+#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686
+#: stock/templates/stock/item_base.html:286
+#: templates/js/translated/barcode.js:384
+#: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420
+#: templates/js/translated/build.js:1027 templates/js/translated/order.js:348
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1276
+#: templates/js/translated/order.js:1282 templates/js/translated/part.js:180
+#: templates/js/translated/stock.js:480 templates/js/translated/stock.js:1221
+#: templates/js/translated/stock.js:1931
+msgid "Location"
+msgstr ""
+
+#: build/serializers.py:191
+msgid "Location for completed build outputs"
+msgstr ""
+
+#: build/serializers.py:197 build/templates/build/build_base.html:129
+#: build/templates/build/detail.html:63 order/models.py:572
+#: order/serializers.py:238 stock/templates/stock/item_base.html:409
+#: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655
+#: templates/js/translated/order.js:431 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196
+#: templates/js/translated/stock.js:2008 templates/js/translated/stock.js:2157
+msgid "Status"
+msgstr ""
+
#: build/serializers.py:213
+msgid "A list of build outputs must be provided"
+msgstr ""
+
+#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700
+#: part/models.py:2859
+msgid "BOM Item"
+msgstr ""
+
+#: build/serializers.py:269
+msgid "Build output"
+msgstr ""
+
+#: build/serializers.py:278
+msgid "Build output must point to the same build"
+msgstr ""
+
+#: build/serializers.py:319
+msgid "bom_item.part must point to the same part as the build order"
+msgstr ""
+
+#: build/serializers.py:334
+msgid "Item must be in stock"
+msgstr ""
+
+#: build/serializers.py:348 order/models.py:316 order/serializers.py:231
+#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298
+msgid "Quantity must be greater than zero"
+msgstr ""
+
+#: build/serializers.py:390
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:219
+#: build/serializers.py:396
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:226
+#: build/serializers.py:403
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:254
+#: build/serializers.py:431
msgid "Allocation items must be provided"
msgstr ""
-#: build/templates/build/allocation_card.html:21
-#: build/templates/build/complete_output.html:46
-#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:501 stock/templates/stock/item_base.html:251
-#: templates/js/translated/build.js:636
-#: templates/js/translated/model_renderers.js:72
-#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342
-msgid "Serial Number"
+#: build/tasks.py:92
+msgid "Stock required for build order"
msgstr ""
-#: build/templates/build/build_base.html:18
+#: build/templates/build/build_base.html:39
+#: order/templates/order/order_base.html:28
+#: order/templates/order/sales_order_base.html:38
+msgid "Print actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:43
+msgid "Print build order report"
+msgstr ""
+
+#: build/templates/build/build_base.html:50
+msgid "Build actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:54
+msgid "Edit Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:56
+#: build/templates/build/build_base.html:207 build/views.py:56
+msgid "Cancel Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:59
+msgid "Delete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:64
+#: build/templates/build/build_base.html:65
+#: build/templates/build/build_base.html:223
+msgid "Complete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:79
#, python-format
msgid "This Build Order is allocated to Sales Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:25
+#: build/templates/build/build_base.html:86
#, python-format
msgid "This Build Order is a child of Build Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:32
+#: build/templates/build/build_base.html:93
msgid "Build Order is ready to mark as completed"
msgstr ""
-#: build/templates/build/build_base.html:37
+#: build/templates/build/build_base.html:98
msgid "Build Order cannot be completed as outstanding outputs remain"
msgstr ""
-#: build/templates/build/build_base.html:42
+#: build/templates/build/build_base.html:103
msgid "Required build quantity has not yet been completed"
msgstr ""
-#: build/templates/build/build_base.html:47
+#: build/templates/build/build_base.html:108
msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
-#: build/templates/build/build_base.html:75
-#: company/templates/company/company_base.html:40
-#: company/templates/company/manufacturer_part.html:29
-#: company/templates/company/supplier_part.html:30
-#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:30
-#: stock/templates/stock/item_base.html:62
-#: stock/templates/stock/location.html:31
-msgid "Admin view"
+#: build/templates/build/build_base.html:138
+#: build/templates/build/detail.html:132
+#: order/templates/order/order_base.html:140
+#: order/templates/order/sales_order_base.html:140
+#: report/templates/report/inventree_build_order_base.html:126
+#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690
+#: templates/js/translated/order.js:1087
+msgid "Target Date"
msgstr ""
-#: build/templates/build/build_base.html:81
-#: build/templates/build/build_base.html:150
-#: order/templates/order/order_base.html:32
-#: order/templates/order/order_base.html:86
-#: order/templates/order/sales_order_base.html:43
-#: order/templates/order/sales_order_base.html:93
-#: templates/js/translated/table_filters.js:272
-#: templates/js/translated/table_filters.js:300
-#: templates/js/translated/table_filters.js:317
-msgid "Overdue"
-msgstr ""
-
-#: build/templates/build/build_base.html:90
-msgid "Print actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:94
-msgid "Print Build Order"
-msgstr ""
-
-#: build/templates/build/build_base.html:100
-#: build/templates/build/build_base.html:222
-msgid "Complete Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:105
-msgid "Build actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:109
-msgid "Edit Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:111
-#: build/templates/build/build_base.html:206 build/views.py:56
-msgid "Cancel Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:114
-msgid "Delete Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:124
-#: build/templates/build/detail.html:15
-msgid "Build Details"
-msgstr ""
-
-#: build/templates/build/build_base.html:150
+#: build/templates/build/build_base.html:143
#, python-format
msgid "This build was due on %(target)s"
msgstr ""
-#: build/templates/build/build_base.html:157
-#: build/templates/build/detail.html:67
-msgid "Progress"
+#: build/templates/build/build_base.html:143
+#: build/templates/build/build_base.html:188
+#: order/templates/order/order_base.html:81
+#: order/templates/order/order_base.html:102
+#: order/templates/order/sales_order_base.html:78
+#: order/templates/order/sales_order_base.html:107
+#: templates/js/translated/table_filters.js:288
+#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:333
+msgid "Overdue"
msgstr ""
-#: build/templates/build/build_base.html:170
-#: build/templates/build/detail.html:87 order/models.py:848
+#: build/templates/build/build_base.html:150
+#: build/templates/build/detail.html:68 build/templates/build/detail.html:143
+#: templates/js/translated/build.js:1641
+#: templates/js/translated/table_filters.js:298
+msgid "Completed"
+msgstr ""
+
+#: build/templates/build/build_base.html:163
+#: build/templates/build/detail.html:95 order/models.py:857
#: order/templates/order/sales_order_base.html:9
-#: order/templates/order/sales_order_base.html:35
+#: order/templates/order/sales_order_base.html:28
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:293
-#: templates/js/translated/order.js:1016
+#: stock/templates/stock/item_base.html:280
+#: templates/js/translated/order.js:1029
msgid "Sales Order"
msgstr ""
-#: build/templates/build/build_base.html:177
-#: build/templates/build/detail.html:101
+#: build/templates/build/build_base.html:170
+#: build/templates/build/detail.html:109
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:214
+#: build/templates/build/build_base.html:215
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:215
+#: build/templates/build/build_base.html:216
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
@@ -1175,220 +1148,197 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/templates/build/complete_output.html:10
-msgid "Stock allocation is complete for this output"
+#: build/templates/build/detail.html:16
+msgid "Build Details"
msgstr ""
-#: build/templates/build/complete_output.html:14
-msgid "Stock allocation is incomplete"
-msgstr ""
-
-#: build/templates/build/complete_output.html:20
-msgid "tracked parts have not been fully allocated"
-msgstr ""
-
-#: build/templates/build/complete_output.html:41
-msgid "The following items will be created"
-msgstr ""
-
-#: build/templates/build/detail.html:38
+#: build/templates/build/detail.html:39
msgid "Stock Source"
msgstr ""
-#: build/templates/build/detail.html:43
+#: build/templates/build/detail.html:44
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134
-#: templates/js/translated/order.js:431 templates/js/translated/order.js:939
+#: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150
+#: templates/js/translated/order.js:432 templates/js/translated/order.js:952
msgid "Destination"
msgstr ""
-#: build/templates/build/detail.html:56
+#: build/templates/build/detail.html:57
msgid "Destination location not specified"
msgstr ""
-#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:317
-#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852
-#: templates/js/translated/table_filters.js:129
-#: templates/js/translated/table_filters.js:211
+#: build/templates/build/detail.html:74 templates/js/translated/build.js:647
+msgid "Allocated Parts"
+msgstr ""
+
+#: build/templates/build/detail.html:81
+#: stock/templates/stock/item_base.html:304
+#: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164
+#: templates/js/translated/table_filters.js:145
+#: templates/js/translated/table_filters.js:227
msgid "Batch"
msgstr ""
-#: build/templates/build/detail.html:119
-#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:118
-#: templates/js/translated/build.js:1259
+#: build/templates/build/detail.html:127
+#: order/templates/order/order_base.html:127
+#: order/templates/order/sales_order_base.html:134
+#: templates/js/translated/build.js:1663
msgid "Created"
msgstr ""
-#: build/templates/build/detail.html:130
+#: build/templates/build/detail.html:138
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237
-#: templates/js/translated/table_filters.js:282
-msgid "Completed"
-msgstr ""
-
-#: build/templates/build/detail.html:139
+#: build/templates/build/detail.html:147
msgid "Build not complete"
msgstr ""
-#: build/templates/build/detail.html:150 build/templates/build/navbar.html:35
+#: build/templates/build/detail.html:158
msgid "Child Build Orders"
msgstr ""
-#: build/templates/build/detail.html:166
+#: build/templates/build/detail.html:173
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:172
-msgid "Allocate stock to build"
-msgstr ""
-
-#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20
-#: build/templates/build/navbar.html:23
-msgid "Allocate Stock"
-msgstr ""
-
-#: build/templates/build/detail.html:175 templates/js/translated/build.js:817
+#: build/templates/build/detail.html:177 templates/js/translated/build.js:1202
msgid "Unallocate stock"
msgstr ""
-#: build/templates/build/detail.html:176 build/views.py:257
+#: build/templates/build/detail.html:178
msgid "Unallocate Stock"
msgstr ""
-#: build/templates/build/detail.html:179
+#: build/templates/build/detail.html:180
+msgid "Allocate stock to build"
+msgstr ""
+
+#: build/templates/build/detail.html:181
+msgid "Allocate Stock"
+msgstr ""
+
+#: build/templates/build/detail.html:184
msgid "Order required parts"
msgstr ""
-#: build/templates/build/detail.html:180
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72 order/views.py:509
-#: part/templates/part/category.html:140
+#: build/templates/build/detail.html:185
+#: company/templates/company/detail.html:38
+#: company/templates/company/detail.html:85 order/views.py:509
+#: part/templates/part/category.html:166
msgid "Order Parts"
msgstr ""
-#: build/templates/build/detail.html:186
+#: build/templates/build/detail.html:197
msgid "Untracked stock has been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:190
+#: build/templates/build/detail.html:201
msgid "Untracked stock has not been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:197
+#: build/templates/build/detail.html:208
msgid "Allocate selected items"
msgstr ""
-#: build/templates/build/detail.html:209
+#: build/templates/build/detail.html:218
msgid "This Build Order does not have any associated untracked BOM items"
msgstr ""
-#: build/templates/build/detail.html:218
+#: build/templates/build/detail.html:227
msgid "Incomplete Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:223
+#: build/templates/build/detail.html:231
msgid "Create new build output"
msgstr ""
-#: build/templates/build/detail.html:224
-msgid "Create New Output"
+#: build/templates/build/detail.html:232
+msgid "New Build Output"
msgstr ""
-#: build/templates/build/detail.html:237
-msgid "Create a new build output"
+#: build/templates/build/detail.html:246
+msgid "Output Actions"
msgstr ""
-#: build/templates/build/detail.html:238
-msgid "No incomplete build outputs remain."
+#: build/templates/build/detail.html:250
+msgid "Complete selected items"
msgstr ""
-#: build/templates/build/detail.html:239
-msgid "Create a new build output using the button above"
-msgstr ""
+#: build/templates/build/detail.html:251
+#, fuzzy
+#| msgid "Complete"
+msgid "Complete outputs"
+msgstr "Slutför"
-#: build/templates/build/detail.html:247
+#: build/templates/build/detail.html:266
msgid "Completed Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42
-#: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35
-#: order/templates/order/sales_order_detail.html:43
-#: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173
-#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117
-#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47
-#: stock/templates/stock/navbar.html:50
+#: build/templates/build/detail.html:278
+#: order/templates/order/purchase_order_detail.html:60
+#: order/templates/order/sales_order_detail.html:52
+#: part/templates/part/detail.html:300 stock/templates/stock/item.html:95
msgid "Attachments"
msgstr ""
-#: build/templates/build/detail.html:269
+#: build/templates/build/detail.html:294
msgid "Build Notes"
msgstr ""
-#: build/templates/build/detail.html:273 build/templates/build/detail.html:414
-#: company/templates/company/detail.html:169
-#: company/templates/company/detail.html:196
-#: order/templates/order/purchase_order_detail.html:71
-#: order/templates/order/purchase_order_detail.html:104
-#: order/templates/order/sales_order_detail.html:58
-#: order/templates/order/sales_order_detail.html:85
-#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103
-#: stock/templates/stock/item.html:188
+#: build/templates/build/detail.html:298 build/templates/build/detail.html:489
+#: company/templates/company/detail.html:188
+#: company/templates/company/detail.html:215
+#: order/templates/order/purchase_order_detail.html:80
+#: order/templates/order/purchase_order_detail.html:108
+#: order/templates/order/sales_order_detail.html:72
+#: order/templates/order/sales_order_detail.html:99
+#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115
+#: stock/templates/stock/item.html:205
msgid "Edit Notes"
msgstr ""
-#: build/templates/build/detail.html:373
-#: order/templates/order/po_attachments.html:79
-#: order/templates/order/purchase_order_detail.html:166
-#: order/templates/order/sales_order_detail.html:146
-#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253
-#: templates/attachment_table.html:6
+#: build/templates/build/detail.html:448
+#: order/templates/order/purchase_order_detail.html:170
+#: order/templates/order/sales_order_detail.html:160
+#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270
+#: templates/attachment_button.html:4
msgid "Add Attachment"
msgstr ""
-#: build/templates/build/detail.html:392
-#: order/templates/order/po_attachments.html:51
-#: order/templates/order/purchase_order_detail.html:138
-#: order/templates/order/sales_order_detail.html:119
-#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221
+#: build/templates/build/detail.html:467
+#: order/templates/order/purchase_order_detail.html:142
+#: order/templates/order/sales_order_detail.html:133
+#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238
msgid "Edit Attachment"
msgstr ""
-#: build/templates/build/detail.html:399
-#: order/templates/order/po_attachments.html:58
-#: order/templates/order/purchase_order_detail.html:145
-#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230
-#: templates/js/translated/order.js:1230
+#: build/templates/build/detail.html:474
+#: order/templates/order/purchase_order_detail.html:149
+#: order/templates/order/sales_order_detail.html:139
+#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247
+#: templates/js/translated/order.js:1243
msgid "Confirm Delete Operation"
msgstr ""
-#: build/templates/build/detail.html:400
-#: order/templates/order/po_attachments.html:59
-#: order/templates/order/purchase_order_detail.html:146
-#: order/templates/order/sales_order_detail.html:126
-#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231
+#: build/templates/build/detail.html:475
+#: order/templates/order/purchase_order_detail.html:150
+#: order/templates/order/sales_order_detail.html:140
+#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248
msgid "Delete Attachment"
msgstr ""
-#: build/templates/build/detail.html:443
+#: build/templates/build/detail.html:513
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:444
+#: build/templates/build/detail.html:514
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/edit_build_item.html:7
-msgid "Alter the quantity of stock allocated to the build output"
-msgstr ""
-
-#: build/templates/build/index.html:28
+#: build/templates/build/index.html:18 part/templates/part/detail.html:433
msgid "New Build Order"
msgstr ""
@@ -1396,47 +1346,18 @@ msgstr ""
msgid "Print Build Orders"
msgstr ""
-#: build/templates/build/index.html:43
-#: order/templates/order/purchase_orders.html:27
-#: order/templates/order/sales_orders.html:27
+#: build/templates/build/index.html:44
+#: order/templates/order/purchase_orders.html:34
+#: order/templates/order/sales_orders.html:37
msgid "Display calendar view"
msgstr ""
-#: build/templates/build/index.html:46
-#: order/templates/order/purchase_orders.html:30
-#: order/templates/order/sales_orders.html:30
+#: build/templates/build/index.html:47
+#: order/templates/order/purchase_orders.html:37
+#: order/templates/order/sales_orders.html:40
msgid "Display list view"
msgstr ""
-#: build/templates/build/navbar.html:12
-msgid "Build Order Details"
-msgstr ""
-
-#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/translated/stock.js:1534
-msgid "Details"
-msgstr ""
-
-#: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31
-msgid "Build Outputs"
-msgstr ""
-
-#: build/templates/build/navbar.html:38
-msgid "Child Builds"
-msgstr ""
-
-#: build/templates/build/navbar.html:49
-msgid "Build Order Notes"
-msgstr ""
-
-#: build/templates/build/unallocate.html:10
-msgid "Are you sure you wish to unallocate all stock for this build?"
-msgstr ""
-
-#: build/templates/build/unallocate.html:12
-msgid "All incomplete stock allocations will be removed from the build"
-msgstr ""
-
#: build/views.py:76
msgid "Build was cancelled"
msgstr ""
@@ -1449,7 +1370,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:122 stock/views.py:1366
+#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290
msgid "Serial numbers already exist"
msgstr ""
@@ -1461,11 +1382,11 @@ msgstr ""
msgid "Delete Build Output"
msgstr ""
-#: build/views.py:218 build/views.py:308
+#: build/views.py:218
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:219 build/views.py:309 stock/views.py:381
+#: build/views.py:219 stock/views.py:385
msgid "Check the confirmation box"
msgstr ""
@@ -1473,7 +1394,7 @@ msgstr ""
msgid "Build output does not match build"
msgstr ""
-#: build/views.py:233 build/views.py:434
+#: build/views.py:233
msgid "Build output must be specified"
msgstr ""
@@ -1481,39 +1402,19 @@ msgstr ""
msgid "Build output deleted"
msgstr ""
-#: build/views.py:343
+#: build/views.py:261
msgid "Complete Build Order"
msgstr ""
-#: build/views.py:349
+#: build/views.py:267
msgid "Build order cannot be completed - incomplete outputs remain"
msgstr ""
-#: build/views.py:360
+#: build/views.py:278
msgid "Completed build order"
msgstr ""
-#: build/views.py:376
-msgid "Complete Build Output"
-msgstr ""
-
-#: build/views.py:418
-msgid "Invalid stock status value selected"
-msgstr ""
-
-#: build/views.py:425
-msgid "Quantity to complete cannot exceed build output quantity"
-msgstr ""
-
-#: build/views.py:431
-msgid "Confirm completion of incomplete build"
-msgstr ""
-
-#: build/views.py:530
-msgid "Build output completed"
-msgstr ""
-
-#: build/views.py:567
+#: build/views.py:319
msgid "Delete Build Order"
msgstr ""
@@ -1554,728 +1455,728 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:308 common/models.py:887 common/models.py:1048
+#: common/models.py:340 common/models.py:970 common/models.py:1178
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:310
+#: common/models.py:342
msgid "Settings value"
msgstr ""
-#: common/models.py:345
+#: common/models.py:377
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:368
+#: common/models.py:382
+msgid "Chosen value is not a valid option"
+msgstr ""
+
+#: common/models.py:405
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:379
+#: common/models.py:416
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:402
+#: common/models.py:439
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:509
+#: common/models.py:559
+msgid "No group"
+msgstr ""
+
+#: common/models.py:601
+msgid "Restart required"
+msgstr ""
+
+#: common/models.py:602
+msgid "A setting has been changed which requires a server restart"
+msgstr ""
+
+#: common/models.py:609
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:511
+#: common/models.py:611
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:515
+#: common/models.py:615
msgid "Use instance name"
msgstr ""
-#: common/models.py:516
+#: common/models.py:616
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:522 company/models.py:100 company/models.py:101
+#: common/models.py:622 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr ""
-#: common/models.py:523
+#: common/models.py:623
msgid "Internal company name"
msgstr ""
-#: common/models.py:528
+#: common/models.py:628
msgid "Base URL"
msgstr ""
-#: common/models.py:529
+#: common/models.py:629
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:535
+#: common/models.py:635
msgid "Default Currency"
msgstr ""
-#: common/models.py:536
+#: common/models.py:636
msgid "Default currency"
msgstr ""
-#: common/models.py:542
+#: common/models.py:642
msgid "Download from URL"
msgstr ""
-#: common/models.py:543
+#: common/models.py:643
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:549
+#: common/models.py:649
msgid "Barcode Support"
msgstr ""
-#: common/models.py:550
+#: common/models.py:650
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:556
+#: common/models.py:656
msgid "IPN Regex"
msgstr ""
-#: common/models.py:557
+#: common/models.py:657
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:561
+#: common/models.py:661
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:562
+#: common/models.py:662
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:568
+#: common/models.py:668
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:569
+#: common/models.py:669
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:575
+#: common/models.py:675
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:576
+#: common/models.py:676
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:582
+#: common/models.py:682
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:583
+#: common/models.py:683
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:589
+#: common/models.py:689
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:590
+#: common/models.py:690
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:596
+#: common/models.py:696
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:597
+#: common/models.py:697
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:603 part/models.py:2256 report/models.py:187
-#: stock/forms.py:224 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:351
+#: common/models.py:703 part/models.py:2429 report/models.py:187
+#: templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:367
msgid "Template"
msgstr ""
-#: common/models.py:604
+#: common/models.py:704
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:610 part/models.py:806
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:363
+#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954
+#: templates/js/translated/table_filters.js:162
+#: templates/js/translated/table_filters.js:379
msgid "Assembly"
msgstr ""
-#: common/models.py:611
+#: common/models.py:711
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:617 part/models.py:812
-#: templates/js/translated/table_filters.js:367
+#: common/models.py:717 part/models.py:894
+#: templates/js/translated/table_filters.js:383
msgid "Component"
msgstr ""
-#: common/models.py:618
+#: common/models.py:718
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:624 part/models.py:823
+#: common/models.py:724 part/models.py:905
msgid "Purchaseable"
msgstr ""
-#: common/models.py:625
+#: common/models.py:725
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:631 part/models.py:828
-#: templates/js/translated/table_filters.js:375
+#: common/models.py:731 part/models.py:910
+#: templates/js/translated/table_filters.js:391
msgid "Salable"
msgstr ""
-#: common/models.py:632
+#: common/models.py:732
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:638 part/models.py:818
+#: common/models.py:738 part/models.py:900
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:379
+#: templates/js/translated/table_filters.js:94
+#: templates/js/translated/table_filters.js:395
msgid "Trackable"
msgstr ""
-#: common/models.py:639
+#: common/models.py:739
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:645 part/models.py:838
-#: part/templates/part/part_base.html:66
+#: common/models.py:745 part/models.py:920
+#: part/templates/part/part_base.html:144
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:646
+#: common/models.py:746
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:652
+#: common/models.py:752
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:653
+#: common/models.py:753
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:659
+#: common/models.py:759
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:660
+#: common/models.py:760
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:671
+#: common/models.py:771
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:672
+#: common/models.py:772
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:678
+#: common/models.py:778
msgid "Show related parts"
msgstr ""
-#: common/models.py:679
+#: common/models.py:779
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:685
+#: common/models.py:785
msgid "Create initial stock"
msgstr ""
-#: common/models.py:686
+#: common/models.py:786
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:692
+#: common/models.py:792
msgid "Internal Prices"
msgstr ""
-#: common/models.py:693
+#: common/models.py:793
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:699
+#: common/models.py:799
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:700
+#: common/models.py:800
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:706 templates/stats.html:25
+#: common/models.py:806
+msgid "Part Name Display Format"
+msgstr ""
+
+#: common/models.py:807
+msgid "Format to display the part name"
+msgstr ""
+
+#: common/models.py:814
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:815
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:821 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:707
+#: common/models.py:822
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:713
+#: common/models.py:828
msgid "Page Size"
msgstr ""
-#: common/models.py:714
+#: common/models.py:829
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:724
+#: common/models.py:839
msgid "Test Reports"
msgstr ""
-#: common/models.py:725
+#: common/models.py:840
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:731
+#: common/models.py:846
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:732
+#: common/models.py:847
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:738
+#: common/models.py:853
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:739
+#: common/models.py:854
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:745
+#: common/models.py:860
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:746
+#: common/models.py:861
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:748
+#: common/models.py:863
msgid "days"
msgstr ""
-#: common/models.py:753
+#: common/models.py:868
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:754
+#: common/models.py:869
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:760
+#: common/models.py:875
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:761
+#: common/models.py:876
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:767
+#: common/models.py:882
msgid "Group by Part"
msgstr ""
-#: common/models.py:768
+#: common/models.py:883
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:774
+#: common/models.py:889
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:775
+#: common/models.py:890
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:780
+#: common/models.py:895
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:781
+#: common/models.py:896
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:785
+#: common/models.py:900
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:786
+#: common/models.py:901
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:791
+#: common/models.py:906
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:792
+#: common/models.py:907
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:798
-msgid "Enable build"
-msgstr ""
-
-#: common/models.py:799
-msgid "Enable build functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:804
-msgid "Enable buy"
-msgstr ""
-
-#: common/models.py:805
-msgid "Enable buy functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:810
-msgid "Enable sell"
-msgstr ""
-
-#: common/models.py:811
-msgid "Enable sell functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:816
-msgid "Enable stock"
-msgstr ""
-
-#: common/models.py:817
-msgid "Enable stock functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:822
-msgid "Enable SO"
-msgstr ""
-
-#: common/models.py:823
-msgid "Enable SO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:828
-msgid "Enable PO"
-msgstr ""
-
-#: common/models.py:829
-msgid "Enable PO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:836
+#: common/models.py:913
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:837
-msgid "Enable password forgot function on the login-pages"
+#: common/models.py:914
+msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:842
+#: common/models.py:919
msgid "Enable registration"
msgstr ""
-#: common/models.py:843
-msgid "Enable self-registration for users on the login-pages"
+#: common/models.py:920
+msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:848
+#: common/models.py:925
msgid "Enable SSO"
msgstr ""
-#: common/models.py:849
-msgid "Enable SSO on the login-pages"
+#: common/models.py:926
+msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:854
-msgid "E-Mail required"
+#: common/models.py:931
+msgid "Email required"
msgstr ""
-#: common/models.py:855
+#: common/models.py:932
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:860
+#: common/models.py:937
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:861
+#: common/models.py:938
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:943
msgid "Mail twice"
msgstr ""
-#: common/models.py:867
+#: common/models.py:944
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:872
+#: common/models.py:949
msgid "Password twice"
msgstr ""
-#: common/models.py:873
+#: common/models.py:950
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:898
-msgid "Show starred parts"
+#: common/models.py:955
+msgid "Group on signup"
msgstr ""
-#: common/models.py:899
-msgid "Show starred parts on the homepage"
+#: common/models.py:956
+msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:904
-msgid "Show latest parts"
-msgstr ""
-
-#: common/models.py:905
-msgid "Show latest parts on the homepage"
-msgstr ""
-
-#: common/models.py:910
-msgid "Recent Part Count"
-msgstr ""
-
-#: common/models.py:911
-msgid "Number of recent parts to display on index page"
-msgstr ""
-
-#: common/models.py:917
-msgid "Show unvalidated BOMs"
-msgstr ""
-
-#: common/models.py:918
-msgid "Show BOMs that await validation on the homepage"
-msgstr ""
-
-#: common/models.py:923
-msgid "Show recent stock changes"
-msgstr ""
-
-#: common/models.py:924
-msgid "Show recently changed stock items on the homepage"
-msgstr ""
-
-#: common/models.py:929
-msgid "Recent Stock Count"
-msgstr ""
-
-#: common/models.py:930
-msgid "Number of recent stock items to display on index page"
-msgstr ""
-
-#: common/models.py:935
-msgid "Show low stock"
-msgstr ""
-
-#: common/models.py:936
-msgid "Show low stock items on the homepage"
-msgstr ""
-
-#: common/models.py:941
-msgid "Show depleted stock"
-msgstr ""
-
-#: common/models.py:942
-msgid "Show depleted stock items on the homepage"
-msgstr ""
-
-#: common/models.py:947
-msgid "Show needed stock"
-msgstr ""
-
-#: common/models.py:948
-msgid "Show stock items needed for builds on the homepage"
-msgstr ""
-
-#: common/models.py:953
-msgid "Show expired stock"
-msgstr ""
-
-#: common/models.py:954
-msgid "Show expired stock items on the homepage"
-msgstr ""
-
-#: common/models.py:959
-msgid "Show stale stock"
-msgstr ""
-
-#: common/models.py:960
-msgid "Show stale stock items on the homepage"
-msgstr ""
-
-#: common/models.py:965
-msgid "Show pending builds"
-msgstr ""
-
-#: common/models.py:966
-msgid "Show pending builds on the homepage"
-msgstr ""
-
-#: common/models.py:971
-msgid "Show overdue builds"
-msgstr ""
-
-#: common/models.py:972
-msgid "Show overdue builds on the homepage"
-msgstr ""
-
-#: common/models.py:977
-msgid "Show outstanding POs"
-msgstr ""
-
-#: common/models.py:978
-msgid "Show outstanding POs on the homepage"
-msgstr ""
-
-#: common/models.py:983
-msgid "Show overdue POs"
-msgstr ""
-
-#: common/models.py:984
-msgid "Show overdue POs on the homepage"
-msgstr ""
-
-#: common/models.py:989
-msgid "Show outstanding SOs"
-msgstr ""
-
-#: common/models.py:990
-msgid "Show outstanding SOs on the homepage"
-msgstr ""
-
-#: common/models.py:995
-msgid "Show overdue SOs"
-msgstr ""
-
-#: common/models.py:996
-msgid "Show overdue SOs on the homepage"
+#: common/models.py:1001
+msgid "Show subscribed parts"
msgstr ""
#: common/models.py:1002
+msgid "Show subscribed parts on the homepage"
+msgstr ""
+
+#: common/models.py:1007
+msgid "Show subscribed categories"
+msgstr ""
+
+#: common/models.py:1008
+msgid "Show subscribed part categories on the homepage"
+msgstr ""
+
+#: common/models.py:1013
+msgid "Show latest parts"
+msgstr ""
+
+#: common/models.py:1014
+msgid "Show latest parts on the homepage"
+msgstr ""
+
+#: common/models.py:1019
+msgid "Recent Part Count"
+msgstr ""
+
+#: common/models.py:1020
+msgid "Number of recent parts to display on index page"
+msgstr ""
+
+#: common/models.py:1026
+msgid "Show unvalidated BOMs"
+msgstr ""
+
+#: common/models.py:1027
+msgid "Show BOMs that await validation on the homepage"
+msgstr ""
+
+#: common/models.py:1032
+msgid "Show recent stock changes"
+msgstr ""
+
+#: common/models.py:1033
+msgid "Show recently changed stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1038
+msgid "Recent Stock Count"
+msgstr ""
+
+#: common/models.py:1039
+msgid "Number of recent stock items to display on index page"
+msgstr ""
+
+#: common/models.py:1044
+msgid "Show low stock"
+msgstr ""
+
+#: common/models.py:1045
+msgid "Show low stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1050
+msgid "Show depleted stock"
+msgstr ""
+
+#: common/models.py:1051
+msgid "Show depleted stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1056
+msgid "Show needed stock"
+msgstr ""
+
+#: common/models.py:1057
+msgid "Show stock items needed for builds on the homepage"
+msgstr ""
+
+#: common/models.py:1062
+msgid "Show expired stock"
+msgstr ""
+
+#: common/models.py:1063
+msgid "Show expired stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1068
+msgid "Show stale stock"
+msgstr ""
+
+#: common/models.py:1069
+msgid "Show stale stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1074
+msgid "Show pending builds"
+msgstr ""
+
+#: common/models.py:1075
+msgid "Show pending builds on the homepage"
+msgstr ""
+
+#: common/models.py:1080
+msgid "Show overdue builds"
+msgstr ""
+
+#: common/models.py:1081
+msgid "Show overdue builds on the homepage"
+msgstr ""
+
+#: common/models.py:1086
+msgid "Show outstanding POs"
+msgstr ""
+
+#: common/models.py:1087
+msgid "Show outstanding POs on the homepage"
+msgstr ""
+
+#: common/models.py:1092
+msgid "Show overdue POs"
+msgstr ""
+
+#: common/models.py:1093
+msgid "Show overdue POs on the homepage"
+msgstr ""
+
+#: common/models.py:1098
+msgid "Show outstanding SOs"
+msgstr ""
+
+#: common/models.py:1099
+msgid "Show outstanding SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Show overdue SOs"
+msgstr ""
+
+#: common/models.py:1105
+msgid "Show overdue SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1111
msgid "Inline label display"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1112
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1118
msgid "Inline report display"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1119
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1125
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1126
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:1023
+#: common/models.py:1132
+msgid "Search Show Stock"
+msgstr ""
+
+#: common/models.py:1133
+msgid "Display stock levels in search preview window"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Hide Inactive Parts"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Hide inactive parts in search preview window"
+msgstr ""
+
+#: common/models.py:1146
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1024
+#: common/models.py:1147
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1153
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1154
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1088 company/forms.py:43
+#: common/models.py:1160
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1161
+msgid "InvenTree navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1226 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1095 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1369
+#: common/models.py:1233 company/serializers.py:264
+#: company/templates/company/supplier_part.html:256
+#: templates/js/translated/part.js:1508
msgid "Price"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1234
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1189
-msgid "Default"
-msgstr ""
-
-#: common/templates/common/edit_setting.html:11
-msgid "Current value"
-msgstr ""
-
-#: common/views.py:33
-msgid "Change Setting"
-msgstr ""
-
-#: common/views.py:119
-msgid "Supplied value is not allowed"
-msgstr ""
-
-#: common/views.py:128
-msgid "Supplied value must be a boolean"
-msgstr ""
-
-#: common/views.py:138
-msgid "Change User Setting"
-msgstr ""
-
-#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42
-#: order/templates/order/po_navbar.html:19
-#: order/templates/order/po_navbar.html:22
-#: order/templates/order/purchase_order_detail.html:27 order/views.py:289
-#: part/templates/part/bom_upload/upload_file.html:65
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
-#: part/views.py:882
+#: common/views.py:93 order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:289
+#: part/templates/part/bom_upload/upload_file.html:51
+#: part/templates/part/import_wizard/part_upload.html:46 part/views.py:281
+#: part/views.py:923
msgid "Upload File"
msgstr ""
-#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
+#: common/views.py:94 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
-#: part/views.py:883
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:282
+#: part/views.py:924
msgid "Match Fields"
msgstr ""
-#: common/views.py:215
+#: common/views.py:95
msgid "Match Items"
msgstr ""
-#: common/views.py:560
+#: common/views.py:440
msgid "Fields matching failed"
msgstr ""
-#: common/views.py:615
+#: common/views.py:495
msgid "Parts imported"
msgstr ""
-#: common/views.py:637 order/templates/order/order_wizard/match_fields.html:27
+#: common/views.py:517 order/templates/order/order_wizard/match_fields.html:27
#: order/templates/order/order_wizard/match_parts.html:19
-#: order/templates/order/order_wizard/po_upload.html:40
+#: order/templates/order/order_wizard/po_upload.html:46
#: part/templates/part/bom_upload/match_fields.html:27
#: part/templates/part/bom_upload/match_parts.html:19
-#: part/templates/part/bom_upload/upload_file.html:63
+#: part/templates/part/bom_upload/upload_file.html:49
#: part/templates/part/import_wizard/match_fields.html:27
#: part/templates/part/import_wizard/match_references.html:19
-#: part/templates/part/import_wizard/part_upload.html:43
+#: part/templates/part/import_wizard/part_upload.html:44
msgid "Previous Step"
msgstr ""
@@ -2321,6 +2222,7 @@ msgid "Contact phone number"
msgstr ""
#: company/models.py:125 company/templates/company/company_base.html:102
+#: templates/InvenTree/settings/user.html:46
msgid "Email"
msgstr ""
@@ -2337,10 +2239,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:131 company/models.py:348 company/models.py:564
-#: order/models.py:160 part/models.py:715
+#: order/models.py:163 part/models.py:797
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:536
-#: templates/js/translated/company.js:825 templates/js/translated/part.js:983
+#: templates/js/translated/company.js:825 templates/js/translated/part.js:984
msgid "Link"
msgstr ""
@@ -2348,7 +2250,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:725
+#: company/models.py:139 part/models.py:807
msgid "Image"
msgstr ""
@@ -2376,8 +2278,8 @@ msgstr ""
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:152 company/serializers.py:264
-#: company/templates/company/company_base.html:76 stock/serializers.py:158
+#: company/models.py:152 company/serializers.py:270
+#: company/templates/company/company_base.html:76 stock/serializers.py:172
msgid "Currency"
msgstr ""
@@ -2385,8 +2287,8 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:454
-#: stock/templates/stock/item_base.html:237
+#: company/models.py:320 company/models.py:535 stock/models.py:484
+#: stock/templates/stock/item_base.html:224
msgid "Base Part"
msgstr ""
@@ -2395,28 +2297,28 @@ msgid "Select part"
msgstr ""
#: company/models.py:335 company/templates/company/company_base.html:116
-#: company/templates/company/manufacturer_part.html:89
-#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:247 stock/templates/stock/item_base.html:366
+#: company/templates/company/manufacturer_part.html:93
+#: company/templates/company/supplier_part.html:104
+#: stock/templates/stock/item_base.html:353
#: templates/js/translated/company.js:332
#: templates/js/translated/company.js:513
-#: templates/js/translated/company.js:796 templates/js/translated/part.js:227
+#: templates/js/translated/company.js:796 templates/js/translated/part.js:228
msgid "Manufacturer"
msgstr ""
-#: company/models.py:336 templates/js/translated/part.js:228
+#: company/models.py:336 templates/js/translated/part.js:229
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:342 company/templates/company/manufacturer_part.html:93
-#: company/templates/company/supplier_part.html:106 part/bom.py:171
-#: part/bom.py:248 templates/js/translated/company.js:529
-#: templates/js/translated/company.js:814 templates/js/translated/order.js:851
-#: templates/js/translated/part.js:238
+#: company/models.py:342 company/templates/company/manufacturer_part.html:97
+#: company/templates/company/supplier_part.html:112
+#: templates/js/translated/company.js:529
+#: templates/js/translated/company.js:814 templates/js/translated/order.js:852
+#: templates/js/translated/part.js:239
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:239
+#: company/models.py:343 templates/js/translated/part.js:240
msgid "Manufacturer Part Number"
msgstr ""
@@ -2431,7 +2333,7 @@ msgstr ""
#: company/models.py:409 company/models.py:558
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:376
+#: stock/templates/stock/item_base.html:363
msgid "Manufacturer Part"
msgstr ""
@@ -2440,10 +2342,9 @@ msgid "Parameter name"
msgstr ""
#: company/models.py:422
-#: report/templates/report/inventree_test_report_base.html:90
-#: stock/models.py:1816 templates/InvenTree/settings/header.html:8
-#: templates/js/translated/company.js:643 templates/js/translated/part.js:623
-#: templates/js/translated/stock.js:555
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:1867 templates/js/translated/company.js:643
+#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848
msgid "Value"
msgstr ""
@@ -2451,8 +2352,9 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:800 part/models.py:2224
-#: templates/js/translated/company.js:649 templates/js/translated/part.js:629
+#: company/models.py:429 part/models.py:882 part/models.py:2397
+#: part/templates/part/detail.html:59 templates/js/translated/company.js:649
+#: templates/js/translated/part.js:650
msgid "Units"
msgstr ""
@@ -2465,27 +2367,27 @@ msgid "Linked manufacturer part must reference the same base part"
msgstr ""
#: company/models.py:545 company/templates/company/company_base.html:121
-#: company/templates/company/supplier_part.html:88 order/models.py:260
-#: order/templates/order/order_base.html:92
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:292 stock/templates/stock/item_base.html:383
+#: company/templates/company/supplier_part.html:94 order/models.py:263
+#: order/templates/order/order_base.html:108
+#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219
+#: part/bom.py:247 stock/templates/stock/item_base.html:370
#: templates/js/translated/company.js:336
-#: templates/js/translated/company.js:770 templates/js/translated/order.js:659
-#: templates/js/translated/part.js:208
+#: templates/js/translated/company.js:770 templates/js/translated/order.js:660
+#: templates/js/translated/part.js:209
msgid "Supplier"
msgstr ""
-#: company/models.py:546 templates/js/translated/part.js:209
+#: company/models.py:546 templates/js/translated/part.js:210
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:92
-#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838
-#: templates/js/translated/part.js:219
+#: company/models.py:551 company/templates/company/supplier_part.html:98
+#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:839
+#: templates/js/translated/part.js:220
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:220
+#: company/models.py:552 templates/js/translated/part.js:221
msgid "Supplier stock keeping unit"
msgstr ""
@@ -2501,23 +2403,23 @@ msgstr ""
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:120
-#: part/models.py:2389 report/templates/report/inventree_po_report.html:93
+#: company/models.py:576 company/templates/company/supplier_part.html:126
+#: part/models.py:2588 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:113
-#: stock/models.py:478 stock/templates/stock/item_base.html:324
-#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036
+#: company/models.py:582 company/templates/company/supplier_part.html:119
+#: stock/models.py:507 stock/templates/stock/item_base.html:311
+#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336
msgid "Packaging"
msgstr ""
@@ -2525,7 +2427,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1605
+#: company/models.py:584 part/models.py:1750
msgid "multiple"
msgstr ""
@@ -2533,46 +2435,42 @@ msgstr ""
msgid "Order multiple"
msgstr ""
-#: company/serializers.py:68
+#: company/serializers.py:70
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:69
+#: company/serializers.py:71
msgid "Currency Code"
msgstr ""
-#: company/templates/company/company_base.html:9
-#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321
+#: company/templates/company/company_base.html:8
+#: company/templates/company/company_base.html:12
+#: templates/InvenTree/search.html:182 templates/js/translated/company.js:321
msgid "Company"
msgstr ""
-#: company/templates/company/company_base.html:25
-#: part/templates/part/part_thumb.html:21
-msgid "Upload new image"
-msgstr ""
-
-#: company/templates/company/company_base.html:27
-#: part/templates/part/part_thumb.html:23
-msgid "Download image from URL"
-msgstr ""
-
-#: company/templates/company/company_base.html:46
-#: templates/js/translated/order.js:120
+#: company/templates/company/company_base.html:22
+#: templates/js/translated/order.js:121
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:51
+#: company/templates/company/company_base.html:27
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:56
-#: company/templates/company/company_base.html:153
+#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:148
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:64
-msgid "Company Details"
+#: company/templates/company/company_base.html:48
+#: part/templates/part/part_thumb.html:12
+msgid "Upload new image"
+msgstr ""
+
+#: company/templates/company/company_base.html:51
+#: part/templates/part/part_thumb.html:14
+msgid "Download image from URL"
msgstr ""
#: company/templates/company/company_base.html:81
@@ -2583,145 +2481,133 @@ msgstr ""
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:126 order/models.py:558
-#: order/templates/order/sales_order_base.html:99 stock/models.py:496
-#: stock/models.py:497 stock/templates/stock/item_base.html:276
-#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038
-#: templates/js/translated/stock.js:1587
+#: company/templates/company/company_base.html:126 order/models.py:567
+#: order/templates/order/sales_order_base.html:114 stock/models.py:525
+#: stock/models.py:526 stock/templates/stock/item_base.html:263
+#: templates/js/translated/company.js:328 templates/js/translated/order.js:1051
+#: templates/js/translated/stock.js:1972
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:199
-#: part/templates/part/part_base.html:424
+#: company/templates/company/company_base.html:194
+#: part/templates/part/part_base.html:342
msgid "Upload Image"
msgstr ""
-#: company/templates/company/detail.html:14
-#: company/templates/company/manufacturer_part_navbar.html:18
-#: templates/InvenTree/search.html:150
+#: company/templates/company/detail.html:15 templates/InvenTree/search.html:124
msgid "Supplier Parts"
msgstr ""
-#: company/templates/company/detail.html:22
+#: company/templates/company/detail.html:19
#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr ""
-#: company/templates/company/detail.html:23
-#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289
+#: company/templates/company/detail.html:20
+#: company/templates/company/manufacturer_part.html:112
+#: part/templates/part/detail.html:466
msgid "New Supplier Part"
msgstr ""
-#: company/templates/company/detail.html:27
-#: company/templates/company/detail.html:67
-#: company/templates/company/manufacturer_part.html:112
-#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/category.html:135 part/templates/part/detail.html:292
-#: part/templates/part/detail.html:315
+#: company/templates/company/detail.html:32
+#: company/templates/company/detail.html:79
+#: company/templates/company/manufacturer_part.html:121
+#: company/templates/company/manufacturer_part.html:150
+#: part/templates/part/category.html:160 part/templates/part/detail.html:475
+#: part/templates/part/detail.html:503
msgid "Options"
msgstr ""
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72
-#: part/templates/part/category.html:140
+#: company/templates/company/detail.html:37
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:166
msgid "Order parts"
msgstr ""
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:42
+#: company/templates/company/detail.html:89
msgid "Delete parts"
msgstr ""
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:43
+#: company/templates/company/detail.html:90
msgid "Delete Parts"
msgstr ""
-#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135
+#: company/templates/company/detail.html:62 templates/InvenTree/search.html:109
msgid "Manufacturer Parts"
msgstr ""
-#: company/templates/company/detail.html:62
+#: company/templates/company/detail.html:66
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:63 part/templates/part/detail.html:312
+#: company/templates/company/detail.html:67 part/templates/part/detail.html:493
msgid "New Manufacturer Part"
msgstr ""
-#: company/templates/company/detail.html:93
+#: company/templates/company/detail.html:107
msgid "Supplier Stock"
msgstr ""
-#: company/templates/company/detail.html:102
-#: company/templates/company/navbar.html:46
-#: company/templates/company/navbar.html:49
+#: company/templates/company/detail.html:117
+#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
-#: order/templates/order/purchase_orders.html:13
-#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82
-#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260
-#: templates/InvenTree/search.html:229
-#: templates/InvenTree/settings/navbar.html:119
-#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44
+#: order/templates/order/purchase_orders.html:12
+#: part/templates/part/detail.html:171 templates/InvenTree/index.html:252
+#: templates/InvenTree/search.html:203 templates/navbar.html:45
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
-#: company/templates/company/detail.html:108
-#: order/templates/order/purchase_orders.html:20
+#: company/templates/company/detail.html:121
+#: order/templates/order/purchase_orders.html:17
msgid "Create new purchase order"
msgstr ""
-#: company/templates/company/detail.html:109
-#: order/templates/order/purchase_orders.html:21
+#: company/templates/company/detail.html:122
+#: order/templates/order/purchase_orders.html:18
msgid "New Purchase Order"
msgstr ""
-#: company/templates/company/detail.html:124
-#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58
+#: company/templates/company/detail.html:143
+#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
-#: order/templates/order/sales_orders.html:13
-#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91
-#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291
-#: templates/InvenTree/search.html:249
-#: templates/InvenTree/settings/navbar.html:125
-#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55
+#: order/templates/order/sales_orders.html:15
+#: part/templates/part/detail.html:194 templates/InvenTree/index.html:283
+#: templates/InvenTree/search.html:223 templates/navbar.html:56
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
-#: company/templates/company/detail.html:130
+#: company/templates/company/detail.html:147
#: order/templates/order/sales_orders.html:20
msgid "Create new sales order"
msgstr ""
-#: company/templates/company/detail.html:131
+#: company/templates/company/detail.html:148
#: order/templates/order/sales_orders.html:21
msgid "New Sales Order"
msgstr ""
-#: company/templates/company/detail.html:147
-#: company/templates/company/navbar.html:61
-#: company/templates/company/navbar.html:64
-#: templates/js/translated/build.js:622
+#: company/templates/company/detail.html:168
+#: templates/js/translated/build.js:999
msgid "Assigned Stock"
msgstr ""
-#: company/templates/company/detail.html:165
+#: company/templates/company/detail.html:184
msgid "Company Notes"
msgstr ""
-#: company/templates/company/detail.html:364
-#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:357
+#: company/templates/company/detail.html:383
+#: company/templates/company/manufacturer_part.html:209
+#: part/templates/part/detail.html:546
msgid "Delete Supplier Parts?"
msgstr ""
-#: company/templates/company/detail.html:365
-#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:358
+#: company/templates/company/detail.html:384
+#: company/templates/company/manufacturer_part.html:210
+#: part/templates/part/detail.html:547
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2729,204 +2615,172 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:40
-#: company/templates/company/supplier_part.html:40
-#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116
+#: company/templates/company/manufacturer_part.html:14 company/views.py:55
+#: part/templates/part/prices.html:167 templates/InvenTree/search.html:184
+#: templates/navbar.html:44
+msgid "Manufacturers"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:35
+#: company/templates/company/supplier_part.html:34
+#: company/templates/company/supplier_part.html:159
+#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:40
#: templates/js/translated/company.js:561
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:49
+#: company/templates/company/manufacturer_part.html:44
#: templates/js/translated/company.js:562
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:61
-msgid "Manufacturer Part Details"
-msgstr ""
-
-#: company/templates/company/manufacturer_part.html:66
-#: company/templates/company/supplier_part.html:65
+#: company/templates/company/manufacturer_part.html:70
+#: company/templates/company/supplier_part.html:71
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/manufacturer_part_navbar.html:21
-#: company/views.py:49 part/templates/part/navbar.html:75
-#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163
-#: templates/InvenTree/search.html:220 templates/navbar.html:41
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: part/templates/part/prices.html:163 templates/InvenTree/search.html:194
+#: templates/navbar.html:43
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: part/templates/part/detail.html:294
+#: company/templates/company/manufacturer_part.html:123
+#: part/templates/part/detail.html:477
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: company/templates/company/manufacturer_part.html:138
-#: company/templates/company/manufacturer_part.html:239
-#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/translated/company.js:424
-#: templates/js/translated/helpers.js:31 users/models.py:199
+#: company/templates/company/manufacturer_part.html:123
+#: company/templates/company/manufacturer_part.html:152
+#: company/templates/company/manufacturer_part.html:248
+#: part/templates/part/detail.html:351 part/templates/part/detail.html:477
+#: part/templates/part/detail.html:505 templates/js/translated/company.js:424
+#: templates/js/translated/helpers.js:31 users/models.py:204
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:127
-#: company/templates/company/manufacturer_part_navbar.html:11
-#: company/templates/company/manufacturer_part_navbar.html:14
-#: part/templates/part/category_navbar.html:38
-#: part/templates/part/category_navbar.html:41
-#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20
-#: part/templates/part/navbar.html:23
+#: company/templates/company/manufacturer_part.html:137
+#: part/templates/part/detail.html:277
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:133
-#: part/templates/part/detail.html:162
-#: templates/InvenTree/settings/category.html:26
-#: templates/InvenTree/settings/part.html:63
+#: company/templates/company/manufacturer_part.html:141
+#: part/templates/part/detail.html:282
+#: templates/InvenTree/settings/category.html:12
+#: templates/InvenTree/settings/part.html:65
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:138
+#: company/templates/company/manufacturer_part.html:152
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:805
+#: company/templates/company/manufacturer_part.html:185
+#: part/templates/part/detail.html:983
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:224
+#: company/templates/company/manufacturer_part.html:233
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:236
+#: company/templates/company/manufacturer_part.html:245
msgid "Delete Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part_navbar.html:26
-msgid "Manufacturer Part Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:29
-#: company/templates/company/navbar.html:39
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/navbar.html:38 stock/api.py:52
-#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182
-#: templates/InvenTree/settings/navbar.html:107
-#: templates/InvenTree/settings/navbar.html:109
-#: templates/js/translated/part.js:540 templates/js/translated/part.js:769
-#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182
-#: templates/js/translated/stock.js:829 templates/navbar.html:32
-msgid "Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:33
-msgid "Manufacturer Part Orders"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:36
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr ""
-
-#: company/templates/company/navbar.html:17
-#: company/templates/company/navbar.html:20
-msgid "Manufactured Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:26
-#: company/templates/company/navbar.html:29
-msgid "Supplied Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35
-#: stock/templates/stock/location.html:119
-#: stock/templates/stock/location.html:134
-#: stock/templates/stock/location.html:148
-#: stock/templates/stock/location_navbar.html:18
-#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486
-#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
-msgid "Stock Items"
-msgstr ""
-
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:463
-#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993
+#: company/templates/company/supplier_part.html:24 stock/models.py:492
+#: stock/templates/stock/item_base.html:375
+#: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44
+#: company/templates/company/supplier_part.html:38
#: templates/js/translated/company.js:859
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48
+#: company/templates/company/supplier_part.html:42
#: templates/js/translated/company.js:860
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:60
-msgid "Supplier Part Details"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:131
+#: company/templates/company/supplier_part.html:138
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:140
+#: company/templates/company/supplier_part.html:141
+#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147
+msgid "Create new stock item"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:142
+#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148
+#: templates/js/translated/stock.js:324
+msgid "New Stock Item"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:155
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:147
-#: part/templates/part/detail.html:56
+#: company/templates/company/supplier_part.html:160
+#: part/templates/part/detail.html:175
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:158
-#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7
+#: company/templates/company/supplier_part.html:179
+#: part/templates/part/prices.html:7
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:164
-#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:271 part/views.py:1730
+#: company/templates/company/supplier_part.html:184
+#: company/templates/company/supplier_part.html:290
+#: part/templates/part/prices.html:271 part/views.py:1782
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:185
+#: company/templates/company/supplier_part.html:210
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:1792
+#: company/templates/company/supplier_part.html:224 part/views.py:1844
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:1778
+#: company/templates/company/supplier_part.html:238 part/views.py:1830
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
+#: company/templates/company/supplier_part.html:263
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:239
+#: company/templates/company/supplier_part.html:264
msgid "Delete price break"
msgstr ""
+#: company/templates/company/supplier_part_navbar.html:15
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426
+#: templates/js/translated/part.js:561 templates/js/translated/part.js:786
+#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479
+#: templates/js/translated/stock.js:1132 templates/navbar.html:26
+msgid "Stock"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:22
+msgid "Orders"
+msgstr ""
+
#: company/templates/company/supplier_part_navbar.html:26
msgid "Supplier Part Pricing"
msgstr ""
@@ -2939,17 +2793,12 @@ msgstr ""
msgid "New Supplier"
msgstr ""
-#: company/views.py:55 part/templates/part/prices.html:167
-#: templates/InvenTree/search.html:210 templates/navbar.html:42
-msgid "Manufacturers"
-msgstr ""
-
#: company/views.py:56
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:240
-#: templates/navbar.html:53
+#: company/views.py:61 templates/InvenTree/search.html:214
+#: templates/navbar.html:55
msgid "Customers"
msgstr ""
@@ -2965,24 +2814,24 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:608
+#: company/views.py:129 part/views.py:649
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:640
+#: company/views.py:158 part/views.py:681
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:647
+#: company/views.py:165 part/views.py:688
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:656
+#: company/views.py:174 part/views.py:697
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:57 report/api.py:201
+#: label/api.py:57 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -2994,7 +2843,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:167
+#: label/models.py:127
msgid "Label"
msgstr ""
@@ -3039,7 +2888,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:259 label/models.py:319 label/models.py:366
-#: report/models.py:322 report/models.py:457 report/models.py:495
+#: report/models.py:322 report/models.py:459 report/models.py:497
msgid "Filters"
msgstr ""
@@ -3051,240 +2900,236 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:250
-msgid "Matching purchase order does not exist"
-msgstr ""
-
-#: order/forms.py:27 order/templates/order/order_base.html:50
+#: order/forms.py:26 order/templates/order/order_base.html:52
msgid "Place order"
msgstr ""
-#: order/forms.py:38 order/templates/order/order_base.html:57
+#: order/forms.py:37 order/templates/order/order_base.html:59
msgid "Mark order as complete"
msgstr ""
-#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:64
+#: order/forms.py:48 order/forms.py:59 order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
msgid "Cancel order"
msgstr ""
-#: order/forms.py:71 order/templates/order/sales_order_base.html:61
+#: order/forms.py:70
msgid "Ship order"
msgstr ""
-#: order/forms.py:97
+#: order/forms.py:98
msgid "Enter stock item serial numbers"
msgstr ""
-#: order/forms.py:103
+#: order/forms.py:104
msgid "Enter quantity of stock items"
msgstr ""
-#: order/models.py:158
+#: order/models.py:161
msgid "Order description"
msgstr ""
-#: order/models.py:160
+#: order/models.py:163
msgid "Link to external page"
msgstr ""
-#: order/models.py:168
+#: order/models.py:171
msgid "Created By"
msgstr ""
-#: order/models.py:175
+#: order/models.py:178
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:180
+#: order/models.py:183
msgid "Order notes"
msgstr ""
-#: order/models.py:247 order/models.py:548
+#: order/models.py:250 order/models.py:557
msgid "Order reference"
msgstr ""
-#: order/models.py:252 order/models.py:563
+#: order/models.py:255 order/models.py:572
msgid "Purchase order status"
msgstr ""
-#: order/models.py:261
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/translated/order.js:668
+#: order/models.py:267 order/templates/order/order_base.html:114
+#: templates/js/translated/order.js:669
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:264
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:271
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:276
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:277
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:282
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:283
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:289
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:318
+#: order/models.py:321
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:428
+#: order/models.py:431
msgid "Quantity must be an integer"
msgstr ""
-#: order/models.py:432
+#: order/models.py:435
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:559
+#: order/models.py:568
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer Reference "
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:570
+#: order/models.py:579
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:573 templates/js/translated/order.js:1079
+#: order/models.py:582 templates/js/translated/order.js:1092
msgid "Shipment Date"
msgstr ""
-#: order/models.py:580
+#: order/models.py:589
msgid "shipped by"
msgstr ""
-#: order/models.py:624
+#: order/models.py:633
msgid "SalesOrder cannot be shipped as it is not currently pending"
msgstr ""
-#: order/models.py:721
+#: order/models.py:730
msgid "Item quantity"
msgstr ""
-#: order/models.py:727
+#: order/models.py:736
msgid "Line item reference"
msgstr ""
-#: order/models.py:729
+#: order/models.py:738
msgid "Line item notes"
msgstr ""
-#: order/models.py:759 order/models.py:847
-#: templates/js/translated/order.js:1131
+#: order/models.py:768 order/models.py:856
+#: templates/js/translated/order.js:1144
msgid "Order"
msgstr ""
-#: order/models.py:760 order/templates/order/order_base.html:9
-#: order/templates/order/order_base.html:24
+#: order/models.py:769 order/templates/order/order_base.html:9
+#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:338
-#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970
-#: templates/js/translated/stock.js:1568
+#: stock/templates/stock/item_base.html:325
+#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1270
+#: templates/js/translated/stock.js:1953
msgid "Purchase Order"
msgstr ""
-#: order/models.py:781
+#: order/models.py:790
msgid "Supplier part"
msgstr ""
-#: order/models.py:788 order/templates/order/order_base.html:131
-#: order/templates/order/sales_order_base.html:138
-#: templates/js/translated/order.js:428 templates/js/translated/order.js:919
+#: order/models.py:797 order/templates/order/order_base.html:147
+#: order/templates/order/sales_order_base.html:154
+#: templates/js/translated/order.js:429 templates/js/translated/order.js:932
msgid "Received"
msgstr ""
-#: order/models.py:789
+#: order/models.py:798
msgid "Number of items received"
msgstr ""
-#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588
-#: stock/serializers.py:150 stock/templates/stock/item_base.html:345
-#: templates/js/translated/stock.js:1024
+#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619
+#: stock/serializers.py:163 stock/templates/stock/item_base.html:332
+#: templates/js/translated/stock.js:1324
msgid "Purchase Price"
msgstr ""
-#: order/models.py:797
+#: order/models.py:806
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:805
+#: order/models.py:814
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:857 part/templates/part/part_pricing.html:112
+#: order/models.py:866 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:116 part/templates/part/prices.html:284
msgid "Sale Price"
msgstr ""
-#: order/models.py:858
+#: order/models.py:867
msgid "Unit sale price"
msgstr ""
-#: order/models.py:937 order/models.py:939
+#: order/models.py:946 order/models.py:948
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:943
+#: order/models.py:952
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:945
+#: order/models.py:954
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:948
+#: order/models.py:957
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:952
+#: order/models.py:961
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:958
+#: order/models.py:967
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:966
+#: order/models.py:975
msgid "Line"
msgstr ""
-#: order/models.py:978
+#: order/models.py:987
msgid "Item"
msgstr ""
-#: order/models.py:979
+#: order/models.py:988
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:982
+#: order/models.py:991
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3300,7 +3145,7 @@ msgstr ""
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:218 order/serializers.py:285
+#: order/serializers.py:218 order/serializers.py:286
msgid "Select destination location for received items"
msgstr ""
@@ -3312,72 +3157,70 @@ msgstr ""
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:259
+#: order/serializers.py:260
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:297
+#: order/serializers.py:298
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:314
+#: order/serializers.py:315
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:325
+#: order/serializers.py:326
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:569
+#: order/serializers.py:568
msgid "Sale price currency"
msgstr ""
#: order/templates/order/delete_attachment.html:5
#: stock/templates/stock/attachment_delete.html:5
-#: templates/attachment_delete.html:5
msgid "Are you sure you want to delete this attachment?"
msgstr ""
-#: order/templates/order/order_base.html:39
-#: order/templates/order/sales_order_base.html:50
-msgid "Print"
+#: order/templates/order/order_base.html:33
+msgid "Print purchase order report"
msgstr ""
-#: order/templates/order/order_base.html:42
-#: order/templates/order/sales_order_base.html:53
+#: order/templates/order/order_base.html:35
+#: order/templates/order/sales_order_base.html:45
msgid "Export order to file"
msgstr ""
-#: order/templates/order/order_base.html:46
-#: order/templates/order/sales_order_base.html:57
-msgid "Edit order information"
+#: order/templates/order/order_base.html:41
+#: order/templates/order/sales_order_base.html:54
+msgid "Order actions"
msgstr ""
-#: order/templates/order/order_base.html:54
+#: order/templates/order/order_base.html:45
+#: order/templates/order/sales_order_base.html:58
+msgid "Edit order"
+msgstr ""
+
+#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
-#: order/templates/order/order_base.html:72
-#: order/templates/order/po_navbar.html:12
-msgid "Purchase Order Details"
-msgstr ""
-
-#: order/templates/order/order_base.html:77
-#: order/templates/order/sales_order_base.html:84
+#: order/templates/order/order_base.html:93
+#: order/templates/order/sales_order_base.html:98
msgid "Order Reference"
msgstr ""
-#: order/templates/order/order_base.html:82
-#: order/templates/order/sales_order_base.html:89
+#: order/templates/order/order_base.html:98
+#: order/templates/order/sales_order_base.html:103
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:117
+#: order/templates/order/order_base.html:133
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:185
+#: order/templates/order/order_base.html:203
msgid "Edit Purchase Order"
msgstr ""
@@ -3453,7 +3296,8 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/build.js:869 templates/js/translated/order.js:376
+#: templates/js/translated/build.js:240 templates/js/translated/build.js:1251
+#: templates/js/translated/order.js:377
msgid "Remove row"
msgstr ""
@@ -3475,19 +3319,19 @@ msgstr ""
msgid "Select Supplier Part"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:11
+#: order/templates/order/order_wizard/po_upload.html:16
msgid "Upload File for Purchase Order"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:18
-#: part/templates/part/bom_upload/upload_file.html:34
+#: order/templates/order/order_wizard/po_upload.html:24
+#: part/templates/part/bom_upload/upload_file.html:20
#: part/templates/part/import_wizard/ajax_part_upload.html:10
-#: part/templates/part/import_wizard/part_upload.html:21
+#: part/templates/part/import_wizard/part_upload.html:22
#, python-format
msgid "Step %(step)s of %(count)s"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/order_wizard/po_upload.html:54
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
@@ -3530,7 +3374,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084
+#: templates/js/translated/order.js:695 templates/js/translated/order.js:1097
msgid "Items"
msgstr ""
@@ -3548,30 +3392,14 @@ msgstr ""
msgid "Select a purchase order for %(name)s"
msgstr ""
-#: order/templates/order/po_attachments.html:12
-#: order/templates/order/po_navbar.html:32
-#: order/templates/order/purchase_order_detail.html:56
-msgid "Purchase Order Attachments"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:26
-msgid "Received Stock Items"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:29
-#: order/templates/order/po_received_items.html:12
-#: order/templates/order/purchase_order_detail.html:47
-msgid "Received Items"
-msgstr ""
-
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:24
-#: order/templates/order/purchase_order_detail.html:212
+#: order/templates/order/purchase_order_detail.html:27
+#: order/templates/order/purchase_order_detail.html:216
#: order/templates/order/sales_order_detail.html:23
-#: order/templates/order/sales_order_detail.html:177
+#: order/templates/order/sales_order_detail.html:191
msgid "Add Line Item"
msgstr ""
@@ -3583,34 +3411,43 @@ msgstr ""
msgid "Receive Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
-#: order/templates/order/sales_order_detail.html:54
+#: order/templates/order/purchase_order_detail.html:50
+msgid "Received Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:76
+#: order/templates/order/sales_order_detail.html:68
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_orders.html:24
-#: order/templates/order/sales_orders.html:24
+#: order/templates/order/purchase_orders.html:30
+#: order/templates/order/sales_orders.html:33
msgid "Print Order Reports"
msgstr ""
-#: order/templates/order/sales_order_base.html:16
+#: order/templates/order/sales_order_base.html:43
+msgid "Print sales order report"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:47
+msgid "Print packing list"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:66
+#: order/templates/order/sales_order_base.html:67 order/views.py:222
+msgid "Ship Order"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:86
msgid "This Sales Order has not been fully allocated"
msgstr ""
-#: order/templates/order/sales_order_base.html:70
-msgid "Packing List"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:79
-msgid "Sales Order Details"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:105
-#: templates/js/translated/order.js:1051
+#: order/templates/order/sales_order_base.html:121
+#: templates/js/translated/order.js:1064
msgid "Customer Reference"
msgstr ""
-#: order/templates/order/sales_order_base.html:183
+#: order/templates/order/sales_order_base.html:194
msgid "Edit Sales Order"
msgstr ""
@@ -3625,7 +3462,7 @@ msgstr ""
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -3653,18 +3490,6 @@ msgstr ""
msgid "Allocate stock items by serial number"
msgstr ""
-#: order/templates/order/so_navbar.html:12
-msgid "Sales Order Line Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:15
-msgid "Order Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:26
-msgid "Sales Order Attachments"
-msgstr ""
-
#: order/views.py:103
msgid "Cancel Order"
msgstr ""
@@ -3705,10 +3530,6 @@ msgstr ""
msgid "Purchase order completed"
msgstr ""
-#: order/views.py:222
-msgid "Ship Order"
-msgstr ""
-
#: order/views.py:238
msgid "Confirm order shipment"
msgstr ""
@@ -3776,40 +3597,28 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7
-#: part/templates/part/category.html:108 part/templates/part/category.html:122
-#: part/templates/part/category_navbar.html:21
-#: part/templates/part/category_navbar.html:24
-#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97
-#: templates/js/translated/part.js:1165 templates/navbar.html:29
-#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
-msgid "Parts"
-msgstr ""
-
-#: part/api.py:700
+#: part/api.py:731
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:704
+#: part/api.py:735
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:719
+#: part/api.py:750
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773
+#: part/api.py:781 part/api.py:785 part/api.py:800 part/api.py:804
msgid "This field is required"
msgstr ""
-#: part/bom.py:133 part/models.py:76 part/models.py:734
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:290
+#: part/bom.py:125 part/models.py:81 part/models.py:816
+#: part/templates/part/category.html:90 part/templates/part/detail.html:104
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:156
+#: part/bom.py:126 part/templates/part/part_base.html:167
msgid "Available Stock"
msgstr ""
@@ -3869,7 +3678,7 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:96 part/models.py:2254
+#: part/forms.py:96 part/models.py:2427
msgid "Parent Part"
msgstr ""
@@ -3901,455 +3710,458 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:226
+#: part/forms.py:214
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:230
+#: part/forms.py:218
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:250
+#: part/forms.py:238
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:77
+#: part/models.py:82
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords"
msgstr ""
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:90 part/models.py:2300
+#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:91 part/templates/part/category.html:32
-#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
-#: templates/stats.html:84 users/models.py:40
+#: part/models.py:96 part/templates/part/category.html:117
+#: templates/InvenTree/search.html:101 templates/stats.html:84
+#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:384
+#: part/models.py:358 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:13 part/templates/part/category.html:122
+#: part/templates/part/category.html:142 templates/InvenTree/index.html:85
+#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304
+#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89
+#: users/models.py:41
+msgid "Parts"
+msgstr ""
+
+#: part/models.py:450
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:436 part/models.py:448
+#: part/models.py:502 part/models.py:514
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:545
+#: part/models.py:611
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:549
+#: part/models.py:615
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:554
+#: part/models.py:620
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:633
+#: part/models.py:715
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:658
+#: part/models.py:740
msgid "Part name"
msgstr ""
-#: part/models.py:665
+#: part/models.py:747
msgid "Is Template"
msgstr ""
-#: part/models.py:666
+#: part/models.py:748
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:676
+#: part/models.py:758
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:677
+#: part/models.py:759
msgid "Variant Of"
msgstr ""
-#: part/models.py:683
+#: part/models.py:765
msgid "Part description"
msgstr ""
-#: part/models.py:688 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:259
+#: part/models.py:770 part/templates/part/category.html:97
+#: part/templates/part/detail.html:73
msgid "Keywords"
msgstr ""
-#: part/models.py:689
+#: part/models.py:771
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:696 part/models.py:2299
-#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:169
-#: templates/js/translated/part.js:927
+#: part/models.py:778 part/models.py:2223 part/models.py:2472
+#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15
+#: templates/InvenTree/settings/settings.html:163
+#: templates/js/translated/part.js:928
msgid "Category"
msgstr ""
-#: part/models.py:697
+#: part/models.py:779
msgid "Part category"
msgstr ""
-#: part/models.py:702 part/templates/part/part_base.html:235
-#: templates/js/translated/part.js:528 templates/js/translated/part.js:760
+#: part/models.py:784 part/templates/part/detail.html:45
+#: templates/js/translated/part.js:549
msgid "IPN"
msgstr ""
-#: part/models.py:703
+#: part/models.py:785
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:709
+#: part/models.py:791
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:710 part/templates/part/part_base.html:252
-#: report/models.py:200 templates/js/translated/part.js:532
+#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200
+#: templates/js/translated/part.js:553
msgid "Revision"
msgstr ""
-#: part/models.py:732
+#: part/models.py:814
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:779 part/templates/part/part_base.html:297
+#: part/models.py:861 part/templates/part/detail.html:113
msgid "Default Supplier"
msgstr ""
-#: part/models.py:780
+#: part/models.py:862
msgid "Default supplier part"
msgstr ""
-#: part/models.py:787
+#: part/models.py:869
msgid "Default Expiry"
msgstr ""
-#: part/models.py:788
+#: part/models.py:870
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:793
+#: part/models.py:875 part/templates/part/part_base.html:178
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:794
+#: part/models.py:876
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:801
+#: part/models.py:883
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:807
+#: part/models.py:889
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:813
+#: part/models.py:895
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:819
+#: part/models.py:901
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:824
+#: part/models.py:906
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:911
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:833 templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:82
-#: templates/js/translated/table_filters.js:268
-#: templates/js/translated/table_filters.js:346
+#: part/models.py:915 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:362
msgid "Active"
msgstr ""
-#: part/models.py:834
+#: part/models.py:916
msgid "Is this part active?"
msgstr ""
-#: part/models.py:839
+#: part/models.py:921
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:844
+#: part/models.py:926
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "BOM checksum"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:850
+#: part/models.py:932
msgid "BOM checked by"
msgstr ""
-#: part/models.py:852
+#: part/models.py:934
msgid "BOM checked date"
msgstr ""
-#: part/models.py:856
+#: part/models.py:938
msgid "Creation User"
msgstr ""
-#: part/models.py:1605
+#: part/models.py:1750
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2100
+#: part/models.py:2273
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2117
+#: part/models.py:2290
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2137 templates/js/translated/part.js:1216
-#: templates/js/translated/stock.js:535
+#: part/models.py:2310 templates/js/translated/part.js:1355
+#: templates/js/translated/stock.js:828
msgid "Test Name"
msgstr ""
-#: part/models.py:2138
+#: part/models.py:2311
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2143
+#: part/models.py:2316
msgid "Test Description"
msgstr ""
-#: part/models.py:2144
+#: part/models.py:2317
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2149 templates/js/translated/part.js:1225
-#: templates/js/translated/table_filters.js:254
+#: part/models.py:2322 templates/js/translated/part.js:1364
+#: templates/js/translated/table_filters.js:270
msgid "Required"
msgstr ""
-#: part/models.py:2150
+#: part/models.py:2323
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2155 templates/js/translated/part.js:1233
+#: part/models.py:2328 templates/js/translated/part.js:1372
msgid "Requires Value"
msgstr ""
-#: part/models.py:2156
+#: part/models.py:2329
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2161 templates/js/translated/part.js:1240
+#: part/models.py:2334 templates/js/translated/part.js:1379
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2162
+#: part/models.py:2335
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2173
+#: part/models.py:2346
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2209
+#: part/models.py:2382
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2217
+#: part/models.py:2390
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2224
+#: part/models.py:2397
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2256 part/models.py:2305 part/models.py:2306
-#: templates/InvenTree/settings/settings.html:164
+#: part/models.py:2429 part/models.py:2478 part/models.py:2479
+#: templates/InvenTree/settings/settings.html:158
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Data"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2310 templates/InvenTree/settings/settings.html:173
+#: part/models.py:2483 templates/InvenTree/settings/settings.html:167
msgid "Default Value"
msgstr ""
-#: part/models.py:2311
+#: part/models.py:2484
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2561
msgid "Select parent part"
msgstr ""
-#: part/models.py:2370
+#: part/models.py:2569
msgid "Sub part"
msgstr ""
-#: part/models.py:2371
+#: part/models.py:2570
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2377
+#: part/models.py:2576
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2379 templates/js/translated/bom.js:275
-#: templates/js/translated/bom.js:335
+#: part/models.py:2578 templates/js/translated/bom.js:452
+#: templates/js/translated/bom.js:526
+#: templates/js/translated/table_filters.js:86
msgid "Optional"
msgstr ""
-#: part/models.py:2379
+#: part/models.py:2578
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2382
+#: part/models.py:2581
msgid "Overage"
msgstr ""
-#: part/models.py:2383
+#: part/models.py:2582
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2585
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2588
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "Checksum"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2395 templates/js/translated/bom.js:352
-#: templates/js/translated/bom.js:359
+#: part/models.py:2594 templates/js/translated/bom.js:543
+#: templates/js/translated/bom.js:550
#: templates/js/translated/table_filters.js:68
+#: templates/js/translated/table_filters.js:82
msgid "Inherited"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2595
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2401 templates/js/translated/bom.js:344
+#: part/models.py:2600 templates/js/translated/bom.js:535
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2402
+#: part/models.py:2601
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2487 stock/models.py:341
+#: part/models.py:2686 stock/models.py:371
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2496 part/models.py:2498
+#: part/models.py:2695 part/models.py:2697
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2620
+#: part/models.py:2826
+msgid "BOM Item Substitute"
+msgstr ""
+
+#: part/models.py:2848
+msgid "Substitute part cannot be the same as the master part"
+msgstr ""
+
+#: part/models.py:2860
+msgid "Parent BOM item"
+msgstr ""
+
+#: part/models.py:2868
+msgid "Substitute part"
+msgstr ""
+
+#: part/models.py:2879
msgid "Part 1"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Part 2"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2656
+#: part/models.py:2915
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
+#: part/tasks.py:53
+msgid "Low stock notification"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
-#: part/templates/part/bom.html:14
+#: part/templates/part/bom.html:15
#, python-format
msgid "The BOM for %(part)s has changed, and must be validated.
"
msgstr ""
-#: part/templates/part/bom.html:16
+#: part/templates/part/bom.html:17
#, python-format
msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s"
msgstr ""
-#: part/templates/part/bom.html:20
+#: part/templates/part/bom.html:21
#, python-format
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:27
-msgid "Remove selected BOM items"
-msgstr ""
-
-#: part/templates/part/bom.html:30
-msgid "Import BOM data"
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:383
+msgid "BOM actions"
msgstr ""
#: part/templates/part/bom.html:34
-msgid "Copy BOM from parent part"
-msgstr ""
-
-#: part/templates/part/bom.html:38
-msgid "New BOM Item"
-msgstr ""
-
-#: part/templates/part/bom.html:41
-msgid "Finish Editing"
-msgstr ""
-
-#: part/templates/part/bom.html:46
-msgid "Edit BOM"
-msgstr ""
-
-#: part/templates/part/bom.html:50
-msgid "Validate Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:56 part/views.py:1220
-msgid "Export Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:59
-msgid "Print BOM Report"
+msgid "Delete Items"
msgstr ""
#: part/templates/part/bom_duplicate.html:13
@@ -4360,28 +4172,23 @@ msgstr ""
msgid "Select Part"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:13
-#: part/templates/part/bom_upload/upload_file.html:16
-msgid "Return To BOM"
-msgstr ""
-
-#: part/templates/part/bom_upload/upload_file.html:27
+#: part/templates/part/bom_upload/upload_file.html:12
msgid "Upload Bill of Materials"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:46
+#: part/templates/part/bom_upload/upload_file.html:32
msgid "Requirements for BOM upload"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "The BOM file must contain the required named columns as provided in the "
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "BOM Upload Template"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:49
+#: part/templates/part/bom_upload/upload_file.html:35
msgid "Each part must already exist in the database"
msgstr ""
@@ -4394,93 +4201,113 @@ msgstr ""
msgid "This will validate each line in the BOM."
msgstr ""
-#: part/templates/part/category.html:33
-msgid "All parts"
+#: part/templates/part/category.html:24 part/templates/part/category.html:28
+msgid "You are subscribed to notifications for this category"
+msgstr ""
+
+#: part/templates/part/category.html:32
+msgid "Subscribe to notifications for this category"
msgstr ""
#: part/templates/part/category.html:38
+msgid "Category Actions"
+msgstr ""
+
+#: part/templates/part/category.html:43
+#, fuzzy
+#| msgid "Select Category"
+msgid "Edit category"
+msgstr "Välj Kategori"
+
+#: part/templates/part/category.html:44
+#, fuzzy
+#| msgid "Select Category"
+msgid "Edit Category"
+msgstr "Välj Kategori"
+
+#: part/templates/part/category.html:48
+#, fuzzy
+#| msgid "Select Category"
+msgid "Delete category"
+msgstr "Välj Kategori"
+
+#: part/templates/part/category.html:49
+#, fuzzy
+#| msgid "Select Category"
+msgid "Delete Category"
+msgstr "Välj Kategori"
+
+#: part/templates/part/category.html:57
msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:44
-msgid "Edit part category"
+#: part/templates/part/category.html:58
+#, fuzzy
+#| msgid "Select Category"
+msgid "New Category"
+msgstr "Välj Kategori"
+
+#: part/templates/part/category.html:67
+msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:49
-msgid "Delete part category"
-msgstr ""
-
-#: part/templates/part/category.html:59 part/templates/part/category.html:98
-msgid "Category Details"
-msgstr ""
-
-#: part/templates/part/category.html:64
+#: part/templates/part/category.html:79
msgid "Category Path"
msgstr ""
-#: part/templates/part/category.html:69
+#: part/templates/part/category.html:84
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:175
-#: part/templates/part/category_navbar.html:14
-#: part/templates/part/category_navbar.html:17
+#: part/templates/part/category.html:103 part/templates/part/category.html:194
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:93
+#: part/templates/part/category.html:108
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:126
+#: part/templates/part/category.html:145
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:142
+#: part/templates/part/category.html:146 part/templates/part/category.html:170
msgid "Export"
msgstr ""
-#: part/templates/part/category.html:130
+#: part/templates/part/category.html:149
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 templates/js/translated/bom.js:39
+#: part/templates/part/category.html:150 templates/js/translated/bom.js:40
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:141
+#: part/templates/part/category.html:168
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:142
+#: part/templates/part/category.html:170
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:146
-msgid "View list display"
-msgstr ""
-
-#: part/templates/part/category.html:149
-msgid "View grid display"
-msgstr ""
-
-#: part/templates/part/category.html:165
+#: part/templates/part/category.html:184
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:254
+#: part/templates/part/category.html:261
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:281
+#: part/templates/part/category.html:288
msgid "Create Part"
msgstr ""
@@ -4519,12 +4346,7 @@ msgstr ""
msgid "If this category is deleted, these parts will be moved to the top-level category Teile"
msgstr ""
-#: part/templates/part/category_navbar.html:29
-#: part/templates/part/category_navbar.html:32
-msgid "Import Parts"
-msgstr ""
-
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365
msgid "Duplicate Part"
msgstr ""
@@ -4549,311 +4371,315 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)"
msgstr ""
#: part/templates/part/detail.html:16
+msgid "Part Details"
+msgstr ""
+
+#: part/templates/part/detail.html:66
+msgid "Minimum stock level"
+msgstr ""
+
+#: part/templates/part/detail.html:97
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/detail.html:124
msgid "Part Stock"
msgstr ""
-#: part/templates/part/detail.html:21
+#: part/templates/part/detail.html:136
#, python-format
msgid "Showing stock for all variants of %(full_name)s"
msgstr ""
-#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99
+#: part/templates/part/detail.html:146
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:36
+#: part/templates/part/detail.html:151
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:77
-msgid "New sales order"
-msgstr ""
-
-#: part/templates/part/detail.html:77
-msgid "New Order"
-msgstr ""
-
-#: part/templates/part/detail.html:90
+#: part/templates/part/detail.html:208
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27
+#: part/templates/part/detail.html:249
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:137
+#: part/templates/part/detail.html:253
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:138
+#: part/templates/part/detail.html:254
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:161
+#: part/templates/part/detail.html:281
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107
-#: part/templates/part/navbar.html:110
+#: part/templates/part/detail.html:315
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:188
+#: part/templates/part/detail.html:319 part/templates/part/detail.html:320
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43
-#: part/templates/part/navbar.html:46
+#: part/templates/part/detail.html:366
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:237
+#: part/templates/part/detail.html:371
+msgid "Export actions"
+msgstr ""
+
+#: part/templates/part/detail.html:375
+msgid "Export BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:377
+msgid "Print BOM Report"
+msgstr ""
+
+#: part/templates/part/detail.html:387
+msgid "Upload BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:389 templates/js/translated/part.js:266
+msgid "Copy BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:391 part/views.py:820
+msgid "Validate BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:396
+msgid "New BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:397
+msgid "Add BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:410
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:253
+#: part/templates/part/detail.html:427
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:260
-msgid "Start New Build"
-msgstr ""
-
-#: part/templates/part/detail.html:274
+#: part/templates/part/detail.html:452
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:283
+#: part/templates/part/detail.html:462
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:305
+#: part/templates/part/detail.html:489
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:317
+#: part/templates/part/detail.html:505
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:502
+#: part/templates/part/detail.html:686
msgid "Delete selected BOM items?"
msgstr ""
-#: part/templates/part/detail.html:503
+#: part/templates/part/detail.html:687
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:554
+#: part/templates/part/detail.html:738
msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:699
+#: part/templates/part/detail.html:876
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:755
+#: part/templates/part/detail.html:933
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:907
+#: part/templates/part/detail.html:1085
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:919
+#: part/templates/part/detail.html:1097
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:931
+#: part/templates/part/detail.html:1109
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1020
+#: part/templates/part/detail.html:1198
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
#: part/templates/part/import_wizard/ajax_part_upload.html:29
-#: part/templates/part/import_wizard/part_upload.html:51
+#: part/templates/part/import_wizard/part_upload.html:52
msgid "Unsuffitient privileges."
msgstr ""
-#: part/templates/part/import_wizard/part_upload.html:14
+#: part/templates/part/import_wizard/part_upload.html:15
msgid "Import Parts from File"
msgstr ""
-#: part/templates/part/navbar.html:30
-msgid "Variants"
-msgstr ""
-
-#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/navbar.html:70
-msgid "Prices"
-msgstr ""
-
-#: part/templates/part/navbar.html:102
-msgid "Test Templates"
-msgstr ""
-
#: part/templates/part/part_app_base.html:12
msgid "Part List"
msgstr ""
+#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31
+msgid "You are subscribed to notifications for this part"
+msgstr ""
+
#: part/templates/part/part_base.html:35
-msgid "Part is a template part (variants can be made from this part)"
+msgid "Subscribe to notifications for this part"
msgstr ""
-#: part/templates/part/part_base.html:38
-msgid "Part can be assembled from other parts"
-msgstr ""
-
-#: part/templates/part/part_base.html:41
-msgid "Part can be used in assemblies"
-msgstr ""
-
-#: part/templates/part/part_base.html:44
-msgid "Part stock is tracked by serial number"
-msgstr ""
-
-#: part/templates/part/part_base.html:47
-msgid "Part can be purchased from external suppliers"
-msgstr ""
-
-#: part/templates/part/part_base.html:50
-msgid "Part can be sold to customers"
-msgstr ""
-
-#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504
-#: templates/js/translated/company.js:761 templates/js/translated/part.js:443
-#: templates/js/translated/part.js:520
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:73
-msgid "Star this part"
-msgstr ""
-
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:75
-#: stock/templates/stock/location.html:51
+#: part/templates/part/part_base.html:43
+#: stock/templates/stock/item_base.html:28
+#: stock/templates/stock/location.html:29
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:82
-#: stock/templates/stock/item_base.html:77
-#: stock/templates/stock/location.html:53 templates/qr_button.html:1
+#: part/templates/part/part_base.html:45
+#: stock/templates/stock/item_base.html:32
+#: stock/templates/stock/location.html:31 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:83
-#: stock/templates/stock/item_base.html:93
-#: stock/templates/stock/location.html:54
+#: part/templates/part/part_base.html:46
+#: stock/templates/stock/item_base.html:48
+#: stock/templates/stock/location.html:32
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:89
+#: part/templates/part/part_base.html:51
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:95
-#: stock/templates/stock/item_base.html:142
-#: stock/templates/stock/location.html:62
+#: part/templates/part/part_base.html:56
+#: stock/templates/stock/item_base.html:103
+#: stock/templates/stock/location.html:40
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:102
+#: part/templates/part/part_base.html:63
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:108
+#: part/templates/part/part_base.html:69
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:125
+#: part/templates/part/part_base.html:84
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:128
+#: part/templates/part/part_base.html:87
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:131
+#: part/templates/part/part_base.html:90
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:134
+#: part/templates/part/part_base.html:93
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:146
+#: part/templates/part/part_base.html:109
+msgid "Part is a template part (variants can be made from this part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:113
+msgid "Part can be assembled from other parts"
+msgstr ""
+
+#: part/templates/part/part_base.html:117
+msgid "Part can be used in assemblies"
+msgstr ""
+
+#: part/templates/part/part_base.html:121
+msgid "Part stock is tracked by serial number"
+msgstr ""
+
+#: part/templates/part/part_base.html:125
+msgid "Part can be purchased from external suppliers"
+msgstr ""
+
+#: part/templates/part/part_base.html:129
+msgid "Part can be sold to customers"
+msgstr ""
+
+#: part/templates/part/part_base.html:135
+#: part/templates/part/part_base.html:143
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:136
+#: templates/js/translated/company.js:504
+#: templates/js/translated/company.js:761
+#: templates/js/translated/model_renderers.js:175
+#: templates/js/translated/part.js:464 templates/js/translated/part.js:541
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:155
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:161
-#: templates/js/translated/model_renderers.js:169
-#: templates/js/translated/order.js:1503
-#: templates/js/translated/table_filters.js:166
+#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524
+#: templates/js/translated/table_filters.js:182
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960
+#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961
msgid "On Order"
msgstr ""
-#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:181
+#: part/templates/part/part_base.html:199
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:188
+#: part/templates/part/part_base.html:206
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373
+#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776
-#: templates/js/translated/part.js:964
+#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793
+#: templates/js/translated/part.js:965
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:223
-#: part/templates/part/part_base.html:531
-#: part/templates/part/part_base.html:557
-msgid "Show Part Details"
-msgstr ""
-
-#: part/templates/part/part_base.html:283
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144
+#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:445
+#: part/templates/part/part_base.html:363
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:526
-#: part/templates/part/part_base.html:551
-msgid "Hide Part Details"
-msgstr ""
-
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4877,7 +4703,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
-#: templates/js/translated/bom.js:327
+#: templates/js/translated/bom.js:518
msgid "No supplier pricing available"
msgstr ""
@@ -4911,13 +4737,14 @@ msgstr ""
msgid "No pricing information is available for this part."
msgstr ""
-#: part/templates/part/part_thumb.html:20
+#: part/templates/part/part_thumb.html:11
msgid "Select from existing images"
msgstr ""
#: part/templates/part/partial_delete.html:9
#, python-format
-msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
+msgid ""
+"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
"
Disable the \"Active\" part attribute and re-try.\n"
" "
msgstr ""
@@ -4980,7 +4807,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321
+#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512
msgid "Supplier Cost"
msgstr ""
@@ -5002,7 +4829,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:215 part/views.py:1801
+#: part/templates/part/prices.html:215 part/views.py:1853
msgid "Add Internal Price Break"
msgstr ""
@@ -5022,13 +4849,13 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297
-#: templates/js/translated/model_renderers.js:167
-#: templates/js/translated/part.js:766 templates/js/translated/part.js:968
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474
+#: templates/js/translated/part.js:428 templates/js/translated/part.js:783
+#: templates/js/translated/part.js:969
msgid "No Stock"
msgstr ""
-#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166
+#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158
msgid "Low Stock"
msgstr ""
@@ -5041,135 +4868,140 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:106
+#: part/templatetags/inventree_extras.py:113
msgid "Unknown database"
msgstr ""
-#: part/views.py:94
+#: part/views.py:95
msgid "Add Related Part"
msgstr ""
-#: part/views.py:149
+#: part/views.py:150
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:160
+#: part/views.py:161
msgid "Set Part Category"
msgstr ""
-#: part/views.py:210
+#: part/views.py:211
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:270
+#: part/views.py:283
msgid "Match References"
msgstr ""
-#: part/views.py:526
+#: part/views.py:567
msgid "None"
msgstr ""
-#: part/views.py:585
+#: part/views.py:626
msgid "Part QR Code"
msgstr ""
-#: part/views.py:687
+#: part/views.py:728
msgid "Select Part Image"
msgstr ""
-#: part/views.py:713
+#: part/views.py:754
msgid "Updated part image"
msgstr ""
-#: part/views.py:716
+#: part/views.py:757
msgid "Part image not found"
msgstr ""
-#: part/views.py:728
+#: part/views.py:769
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:758
+#: part/views.py:799
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:779
-msgid "Validate BOM"
-msgstr ""
-
-#: part/views.py:800
+#: part/views.py:841
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:811
+#: part/views.py:852
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:884
+#: part/views.py:925
msgid "Match Parts"
msgstr ""
-#: part/views.py:1272
+#: part/views.py:1261
+msgid "Export Bill of Materials"
+msgstr ""
+
+#: part/views.py:1313
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1279
+#: part/views.py:1320
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1288
+#: part/views.py:1329
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1437
+#: part/views.py:1478
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1447
+#: part/views.py:1488
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1454
+#: part/views.py:1495
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1502 templates/js/translated/part.js:308
+#: part/views.py:1554 templates/js/translated/part.js:309
msgid "Edit Part Category"
msgstr ""
-#: part/views.py:1540
+#: part/views.py:1592
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1546
+#: part/views.py:1598
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1555
+#: part/views.py:1607
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1656
+#: part/views.py:1708
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1712
+#: part/views.py:1764
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:1734
+#: part/views.py:1786
msgid "Added new price break"
msgstr ""
-#: part/views.py:1810
+#: part/views.py:1862
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:1818
+#: part/views.py:1870
msgid "Delete Internal Price Break"
msgstr ""
+#: report/api.py:234 report/api.py:278
+#, python-brace-format
+msgid "Template file '{filename}' is missing or does not exist"
+msgstr ""
+
#: report/models.py:182
msgid "Template name"
msgstr ""
@@ -5206,51 +5038,51 @@ msgstr ""
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:380
+#: report/models.py:382
msgid "Build Filters"
msgstr ""
-#: report/models.py:381
+#: report/models.py:383
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:423
+#: report/models.py:425
msgid "Part Filters"
msgstr ""
-#: report/models.py:424
+#: report/models.py:426
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:458
+#: report/models.py:460
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:496
+#: report/models.py:498
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:546
+#: report/models.py:548
msgid "Snippet"
msgstr ""
-#: report/models.py:547
+#: report/models.py:549
msgid "Report snippet file"
msgstr ""
-#: report/models.py:551
+#: report/models.py:553
msgid "Snippet file description"
msgstr ""
-#: report/models.py:586
+#: report/models.py:588
msgid "Asset"
msgstr ""
-#: report/models.py:587
+#: report/models.py:589
msgid "Report asset file"
msgstr ""
-#: report/models.py:590
+#: report/models.py:592
msgid "Asset file description"
msgstr ""
@@ -5267,543 +5099,584 @@ msgstr ""
msgid "Stock Item Test Report"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:83
-msgid "Test Results"
+#: report/templates/report/inventree_test_report_base.html:79
+#: stock/models.py:530 stock/templates/stock/item_base.html:238
+#: templates/js/translated/build.js:233 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1013
+#: templates/js/translated/model_renderers.js:95
+#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355
+msgid "Serial Number"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:1804
+msgid "Test Results"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:93
+#: stock/models.py:1855
msgid "Test"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:89
-#: stock/models.py:1810
+#: report/templates/report/inventree_test_report_base.html:94
+#: stock/models.py:1861
msgid "Result"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502
+#: report/templates/report/inventree_test_report_base.html:97
+#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887
msgid "Date"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:103
+#: report/templates/report/inventree_test_report_base.html:108
msgid "Pass"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:105
+#: report/templates/report/inventree_test_report_base.html:110
msgid "Fail"
msgstr ""
-#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556
-#: stock/templates/stock/item_base.html:395
-#: templates/js/translated/stock.js:946
+#: report/templates/report/inventree_test_report_base.html:123
+msgid "Installed Items"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:137
+#: templates/js/translated/stock.js:2147
+msgid "Serial"
+msgstr ""
+
+#: stock/api.py:422
+msgid "Quantity is required"
+msgstr ""
+
+#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587
+#: stock/templates/stock/item_base.html:382
+#: templates/js/translated/stock.js:1246
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:308
+#: stock/forms.py:92 stock/forms.py:266
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:83
+#: stock/forms.py:95
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:134
+#: stock/forms.py:150
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:138 stock/forms.py:282
+#: stock/forms.py:154 stock/forms.py:238
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:168 stock/forms.py:224
-msgid "Select test report template"
-msgstr ""
-
-#: stock/forms.py:240
+#: stock/forms.py:194
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:270
+#: stock/forms.py:224
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:280
+#: stock/forms.py:236
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm removal of installed stock items"
msgstr ""
-#: stock/models.py:57 stock/models.py:593
+#: stock/models.py:60 stock/models.py:624
+#: stock/templates/stock/item_base.html:422
msgid "Owner"
msgstr ""
-#: stock/models.py:58 stock/models.py:594
+#: stock/models.py:61 stock/models.py:625
msgid "Select Owner"
msgstr ""
-#: stock/models.py:322
+#: stock/models.py:352
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:358
+#: stock/models.py:388
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:368 stock/models.py:377
+#: stock/models.py:398 stock/models.py:407
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:369
+#: stock/models.py:399
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:391
+#: stock/models.py:421
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:397
+#: stock/models.py:427
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:404
+#: stock/models.py:434
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:446
+#: stock/models.py:476
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:455
+#: stock/models.py:485
msgid "Base part"
msgstr ""
-#: stock/models.py:464
+#: stock/models.py:493
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8
+#: stock/models.py:498 stock/templates/stock/location.html:12
+#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:472
+#: stock/models.py:501
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:479
+#: stock/models.py:508
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:484 stock/templates/stock/item_base.html:284
+#: stock/models.py:513 stock/templates/stock/item_base.html:271
msgid "Installed In"
msgstr ""
-#: stock/models.py:487
+#: stock/models.py:516
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:503
+#: stock/models.py:532
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:515
+#: stock/models.py:546
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:519
+#: stock/models.py:550
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:528
+#: stock/models.py:559
msgid "Source Build"
msgstr ""
-#: stock/models.py:530
+#: stock/models.py:561
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:541
+#: stock/models.py:572
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:544
+#: stock/models.py:575
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:550
+#: stock/models.py:581
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:557
+#: stock/models.py:588
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:580 stock/templates/stock/item.html:99
-#: stock/templates/stock/navbar.html:54
+#: stock/models.py:611 stock/templates/stock/item.html:111
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:589
+#: stock/models.py:620
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:599
+#: stock/models.py:630
msgid "Scheduled for deletion"
msgstr ""
-#: stock/models.py:600
+#: stock/models.py:631
msgid "This StockItem will be deleted by the background worker"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1094
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1069
+#: stock/models.py:1100
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1075
+#: stock/models.py:1106
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1078
+#: stock/models.py:1109
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1081
+#: stock/models.py:1112
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1088
+#: stock/models.py:1119
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1246
+#: stock/models.py:1277
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:1724
+#: stock/models.py:1775
msgid "Entry notes"
msgstr ""
-#: stock/models.py:1781
+#: stock/models.py:1832
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:1787
+#: stock/models.py:1838
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:1805
+#: stock/models.py:1856
msgid "Test name"
msgstr ""
-#: stock/models.py:1811 templates/js/translated/table_filters.js:244
+#: stock/models.py:1862 templates/js/translated/table_filters.js:260
msgid "Test result"
msgstr ""
-#: stock/models.py:1817
+#: stock/models.py:1868
msgid "Test output value"
msgstr ""
-#: stock/models.py:1824
+#: stock/models.py:1875
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:1830
+#: stock/models.py:1881
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:424
-msgid "StockItem primary key value"
+#: stock/serializers.py:166
+msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:452
-msgid "Stock transaction notes"
+#: stock/serializers.py:173
+msgid "Purchase currency of this stock item"
msgstr ""
-#: stock/serializers.py:462
-msgid "A list of stock items must be provided"
+#: stock/serializers.py:287
+msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:554
+#: stock/serializers.py:302
+#, python-brace-format
+msgid "Quantity must not exceed available stock quantity ({q})"
+msgstr ""
+
+#: stock/serializers.py:308
+#, fuzzy
+#| msgid "No serial numbers found"
+msgid "Enter serial numbers for new items"
+msgstr "Inga serienummer hittades"
+
+#: stock/serializers.py:319 stock/serializers.py:687
msgid "Destination stock location"
msgstr ""
-#: stock/templates/stock/item.html:17
+#: stock/serializers.py:326
+msgid "Optional note field"
+msgstr ""
+
+#: stock/serializers.py:339
+msgid "Serial numbers cannot be assigned to this part"
+msgstr ""
+
+#: stock/serializers.py:557
+msgid "StockItem primary key value"
+msgstr ""
+
+#: stock/serializers.py:585
+msgid "Stock transaction notes"
+msgstr ""
+
+#: stock/serializers.py:595
+msgid "A list of stock items must be provided"
+msgstr ""
+
+#: stock/templates/stock/item.html:18
msgid "Stock Tracking Information"
msgstr ""
-#: stock/templates/stock/item.html:30
+#: stock/templates/stock/item.html:29
msgid "New Entry"
msgstr ""
-#: stock/templates/stock/item.html:43
+#: stock/templates/stock/item.html:48
msgid "Child Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:50
+#: stock/templates/stock/item.html:55
msgid "This stock item does not have any child items"
msgstr ""
-#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19
-#: stock/templates/stock/navbar.html:22
+#: stock/templates/stock/item.html:64
msgid "Test Data"
msgstr ""
-#: stock/templates/stock/item.html:66
-msgid "Delete Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:70
-msgid "Add Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95
+#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50
msgid "Test Report"
msgstr ""
-#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27
+#: stock/templates/stock/item.html:72
+msgid "Delete Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:76
+msgid "Add Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:133
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:125 stock/views.py:511
+#: stock/templates/stock/item.html:137 stock/views.py:515
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326
+#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:346
+#: stock/templates/stock/item.html:363
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:360
+#: stock/templates/stock/item.html:377
msgid "Delete Test Result"
msgstr ""
-#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:399
-#: templates/js/translated/table_filters.js:225
-msgid "Expired"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:401
-#: templates/js/translated/table_filters.js:231
-msgid "Stale"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:80
-#: templates/js/translated/barcode.js:331
-#: templates/js/translated/barcode.js:336
+#: stock/templates/stock/item_base.html:35
+#: templates/js/translated/barcode.js:330
+#: templates/js/translated/barcode.js:335
msgid "Unlink Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/item_base.html:37
msgid "Link Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31
+#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24
msgid "Scan to Location"
msgstr ""
-#: stock/templates/stock/item_base.html:91
+#: stock/templates/stock/item_base.html:46
msgid "Printing actions"
msgstr ""
-#: stock/templates/stock/item_base.html:104
+#: stock/templates/stock/item_base.html:65
msgid "Stock adjustment actions"
msgstr ""
-#: stock/templates/stock/item_base.html:108
-#: stock/templates/stock/location.html:69 templates/stock_table.html:57
+#: stock/templates/stock/item_base.html:69
+#: stock/templates/stock/location.html:47 templates/stock_table.html:50
msgid "Count stock"
msgstr ""
-#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55
+#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48
msgid "Add stock"
msgstr ""
-#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56
+#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49
msgid "Remove stock"
msgstr ""
-#: stock/templates/stock/item_base.html:117
+#: stock/templates/stock/item_base.html:78
msgid "Serialize stock"
msgstr ""
-#: stock/templates/stock/item_base.html:121
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/location.html:53
msgid "Transfer stock"
msgstr ""
-#: stock/templates/stock/item_base.html:124
+#: stock/templates/stock/item_base.html:85
msgid "Assign to customer"
msgstr ""
-#: stock/templates/stock/item_base.html:127
+#: stock/templates/stock/item_base.html:88
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install"
msgstr ""
-#: stock/templates/stock/item_base.html:145
+#: stock/templates/stock/item_base.html:106
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:109
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:150
+#: stock/templates/stock/item_base.html:111
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:153
+#: stock/templates/stock/item_base.html:114
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:173
+#: stock/templates/stock/item_base.html:136
+#: stock/templates/stock/item_base.html:386
+#: templates/js/translated/table_filters.js:241
+msgid "Expired"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/table_filters.js:247
+msgid "Stale"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:161
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:180
+#: stock/templates/stock/item_base.html:168
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:181
+#: stock/templates/stock/item_base.html:169
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:194
+#: stock/templates/stock/item_base.html:182
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:202
+#: stock/templates/stock/item_base.html:190
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:210
+#: stock/templates/stock/item_base.html:198
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:216
+#: stock/templates/stock/item_base.html:204
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:220
+#: stock/templates/stock/item_base.html:208
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:224
+#: stock/templates/stock/item_base.html:212
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:232
-msgid "Stock Item Details"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:241
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:260
+#: stock/templates/stock/item_base.html:247
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:303
-#: templates/js/translated/build.js:658
+#: stock/templates/stock/item_base.html:290
+#: templates/js/translated/build.js:1035
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:310
+#: stock/templates/stock/item_base.html:297
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:352
+#: stock/templates/stock/item_base.html:339
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:370
+#: stock/templates/stock/item_base.html:357
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:399
+#: stock/templates/stock/item_base.html:386
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:401
+#: stock/templates/stock/item_base.html:388
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:408
-#: templates/js/translated/stock.js:959
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1259
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:413
+#: stock/templates/stock/item_base.html:400
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:417
+#: stock/templates/stock/item_base.html:404
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:428
+#: stock/templates/stock/item_base.html:415
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:516
-msgid "Save"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:528
+#: stock/templates/stock/item_base.html:504
msgid "Edit Stock Status"
msgstr ""
@@ -5857,106 +5730,68 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:20
-msgid "You are not in the list of owners of this location. This stock location cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/location.html:37
-msgid "All stock items"
-msgstr ""
-
-#: stock/templates/stock/location.html:42
-msgid "Create new stock location"
-msgstr ""
-
-#: stock/templates/stock/location.html:55
+#: stock/templates/stock/location.html:33
msgid "Check-in Items"
msgstr ""
-#: stock/templates/stock/location.html:83
+#: stock/templates/stock/location.html:61
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:85
+#: stock/templates/stock/location.html:63
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:87
+#: stock/templates/stock/location.html:65
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:99
-msgid "Location Details"
+#: stock/templates/stock/location.html:75
+msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:104
-msgid "Location Path"
+#: stock/templates/stock/location.html:76
+msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:109
-msgid "Location Description"
+#: stock/templates/stock/location.html:86
+msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:114
-#: stock/templates/stock/location.html:155
-#: stock/templates/stock/location_navbar.html:11
-#: stock/templates/stock/location_navbar.html:14
+#: stock/templates/stock/location.html:95
+msgid "You are not in the list of owners of this location. This stock location cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/location.html:113
+#: stock/templates/stock/location.html:160
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:124
-msgid "Stock Details"
+#: stock/templates/stock/location.html:118
+#: stock/templates/stock/location.html:132
+#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158
+#: templates/js/translated/stock.js:1871 templates/stats.html:93
+#: templates/stats.html:102 users/models.py:43
+msgid "Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196
+#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170
#: templates/stats.html:97 users/models.py:42
msgid "Stock Locations"
msgstr ""
-#: stock/templates/stock/location.html:162 templates/stock_table.html:37
+#: stock/templates/stock/location.html:167 templates/stock_table.html:30
msgid "Printing Actions"
msgstr ""
-#: stock/templates/stock/location.html:166 templates/stock_table.html:41
+#: stock/templates/stock/location.html:171 templates/stock_table.html:34
msgid "Print labels"
msgstr ""
-#: stock/templates/stock/location.html:250
-msgid "New Location"
-msgstr ""
-
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
-msgstr ""
-
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: stock/templates/stock/navbar.html:11
-msgid "Stock Item Tracking"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:14
-msgid "History"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:30
-msgid "Installed Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:38
-msgid "Child Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:41
-msgid "Children"
-msgstr ""
-
-#: stock/templates/stock/stock_adjust.html:43
-msgid "Remove item"
-msgstr ""
-
#: stock/templates/stock/stock_app_base.html:16
msgid "Loading..."
msgstr ""
@@ -5965,7 +5800,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912
msgid "Convert Stock Item"
msgstr ""
@@ -5986,104 +5821,100 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:158
+#: stock/views.py:162
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:265 stock/views.py:888 stock/views.py:1010
-#: stock/views.py:1375
+#: stock/views.py:269 stock/views.py:891 stock/views.py:1017
+#: stock/views.py:1299
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:280
+#: stock/views.py:284
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:299
+#: stock/views.py:303
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:308
+#: stock/views.py:312
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:332
+#: stock/views.py:336
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:345
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:352
+#: stock/views.py:356
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:363
+#: stock/views.py:367
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:380
+#: stock/views.py:384
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:485
+#: stock/views.py:489
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:660
+#: stock/views.py:663
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:757 templates/js/translated/stock.js:321
+#: stock/views.py:760 templates/js/translated/stock.js:618
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:768
+#: stock/views.py:771
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:790
+#: stock/views.py:793 templates/js/translated/stock.js:288
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:936
+#: stock/views.py:943
msgid "Create new Stock Location"
msgstr ""
-#: stock/views.py:1027
-msgid "Serialize Stock"
-msgstr ""
-
-#: stock/views.py:1120
+#: stock/views.py:1044
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1262
+#: stock/views.py:1186 templates/js/translated/stock.js:268
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1344
+#: stock/views.py:1268
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1444
+#: stock/views.py:1368
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1457
+#: stock/views.py:1381
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1468
+#: stock/views.py:1392
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1475
+#: stock/views.py:1399
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1484
+#: stock/views.py:1408
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6107,63 +5938,67 @@ msgstr ""
msgid "Index"
msgstr ""
-#: templates/InvenTree/index.html:105
-msgid "Starred Parts"
+#: templates/InvenTree/index.html:88
+msgid "Subscribed Parts"
msgstr ""
-#: templates/InvenTree/index.html:115
+#: templates/InvenTree/index.html:98
+msgid "Subscribed Categories"
+msgstr ""
+
+#: templates/InvenTree/index.html:108
msgid "Latest Parts"
msgstr ""
-#: templates/InvenTree/index.html:126
+#: templates/InvenTree/index.html:119
msgid "BOM Waiting Validation"
msgstr ""
-#: templates/InvenTree/index.html:153
+#: templates/InvenTree/index.html:145
msgid "Recently Updated"
msgstr ""
-#: templates/InvenTree/index.html:176
+#: templates/InvenTree/index.html:168
msgid "Depleted Stock"
msgstr ""
-#: templates/InvenTree/index.html:199
+#: templates/InvenTree/index.html:191
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:202
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:232
+#: templates/InvenTree/index.html:224
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:243
+#: templates/InvenTree/index.html:235
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:263
+#: templates/InvenTree/index.html:255
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:274
+#: templates/InvenTree/index.html:266
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:294
+#: templates/InvenTree/index.html:286
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:305
+#: templates/InvenTree/index.html:297
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14
+#: templates/InvenTree/search.html:8
msgid "Search Results"
msgstr ""
-#: templates/InvenTree/search.html:24
+#: templates/InvenTree/search.html:22
msgid "Enter a search query"
msgstr ""
@@ -6183,23 +6018,23 @@ msgstr ""
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:23
+#: templates/InvenTree/settings/currencies.html:19
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:27
+#: templates/InvenTree/settings/currencies.html:24
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:37
+#: templates/InvenTree/settings/currencies.html:38
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:43
+#: templates/InvenTree/settings/currencies.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:48
+#: templates/InvenTree/settings/currencies.html:49
msgid "Update Now"
msgstr ""
@@ -6207,147 +6042,74 @@ msgstr ""
msgid "Server Settings"
msgstr ""
-#: templates/InvenTree/settings/header.html:7
-msgid "Setting"
-msgstr ""
-
#: templates/InvenTree/settings/login.html:9
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:12
-#: templates/InvenTree/settings/user_settings.html:9
-msgid "User Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:15
-#: templates/InvenTree/settings/navbar.html:17
-msgid "Account"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:21
-#: templates/InvenTree/settings/navbar.html:23
-msgid "Home Page"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29
-#: templates/js/translated/tables.js:375 templates/search_form.html:6
-#: templates/search_form.html:8
-msgid "Search"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:33
-#: templates/InvenTree/settings/navbar.html:35
-msgid "Labels"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:39
-#: templates/InvenTree/settings/navbar.html:41
-msgid "Reports"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:45
-#: templates/InvenTree/settings/navbar.html:47
-msgid "Forms"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:52
-#: templates/InvenTree/settings/navbar.html:54
-#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90
-msgid "Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:62
-msgid "InvenTree Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:65
-#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87
-msgid "Login"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:77
-#: templates/InvenTree/settings/navbar.html:79
-msgid "Barcodes"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85
-msgid "Currencies"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91
-msgid "Reporting"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103
-msgid "Categories"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:7
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:12
-msgid "Part Options"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:43
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:47
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:59
+#: templates/InvenTree/settings/part.html:61
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/po.html:9
+#: templates/InvenTree/settings/po.html:7
msgid "Purchase Order Settings"
msgstr ""
-#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:29
+#: templates/InvenTree/settings/setting.html:28
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:41
+#: templates/InvenTree/settings/setting.html:39
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:154
+#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93
+msgid "Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+msgid "Edit Global Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+msgid "Edit User Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:148
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:176
-#: templates/InvenTree/settings/settings.html:275
+#: templates/InvenTree/settings/settings.html:170
+#: templates/InvenTree/settings/settings.html:269
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:177
-#: templates/InvenTree/settings/settings.html:276
+#: templates/InvenTree/settings/settings.html:171
+#: templates/InvenTree/settings/settings.html:270
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:255
+#: templates/InvenTree/settings/settings.html:249
msgid "No part parameter templates found"
msgstr ""
@@ -6363,134 +6125,158 @@ msgstr ""
msgid "Account Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:19
+#: templates/InvenTree/settings/user.html:18
#: templates/js/translated/helpers.js:26
msgid "Edit"
msgstr ""
-#: templates/InvenTree/settings/user.html:21
+#: templates/InvenTree/settings/user.html:20
#: templates/account/password_reset_from_key.html:4
#: templates/account/password_reset_from_key.html:7
msgid "Change Password"
msgstr ""
-#: templates/InvenTree/settings/user.html:28
+#: templates/InvenTree/settings/user.html:31
msgid "Username"
msgstr ""
-#: templates/InvenTree/settings/user.html:32
+#: templates/InvenTree/settings/user.html:35
msgid "First Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:36
+#: templates/InvenTree/settings/user.html:39
msgid "Last Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:42
-msgid "E-Mail"
+#: templates/InvenTree/settings/user.html:54
+msgid "The following email addresses are associated with your account:"
msgstr ""
-#: templates/InvenTree/settings/user.html:47
-msgid "The following e-mail addresses are associated with your account:"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:61
+#: templates/InvenTree/settings/user.html:74
msgid "Verified"
msgstr ""
-#: templates/InvenTree/settings/user.html:63
+#: templates/InvenTree/settings/user.html:76
msgid "Unverified"
msgstr ""
-#: templates/InvenTree/settings/user.html:65
+#: templates/InvenTree/settings/user.html:78
msgid "Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:71
+#: templates/InvenTree/settings/user.html:84
msgid "Make Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:72
+#: templates/InvenTree/settings/user.html:85
msgid "Re-send Verification"
msgstr ""
-#: templates/InvenTree/settings/user.html:73
-#: templates/InvenTree/settings/user.html:130
+#: templates/InvenTree/settings/user.html:86
+#: templates/InvenTree/settings/user.html:153
msgid "Remove"
msgstr ""
-#: templates/InvenTree/settings/user.html:80
+#: templates/InvenTree/settings/user.html:93
msgid "Warning:"
msgstr ""
-#: templates/InvenTree/settings/user.html:81
-msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc."
+#: templates/InvenTree/settings/user.html:94
+msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc."
msgstr ""
-#: templates/InvenTree/settings/user.html:88
-msgid "Add E-mail Address"
+#: templates/InvenTree/settings/user.html:101
+msgid "Add Email Address"
msgstr ""
-#: templates/InvenTree/settings/user.html:93
-msgid "Add E-mail"
+#: templates/InvenTree/settings/user.html:111
+msgid "Enter e-mail address"
msgstr ""
-#: templates/InvenTree/settings/user.html:100
+#: templates/InvenTree/settings/user.html:113
+msgid "Add Email"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:123
msgid "Social Accounts"
msgstr ""
-#: templates/InvenTree/settings/user.html:105
+#: templates/InvenTree/settings/user.html:128
msgid "You can sign in to your account using any of the following third party accounts:"
msgstr ""
-#: templates/InvenTree/settings/user.html:138
-msgid "You currently have no social network accounts connected to this account."
+#: templates/InvenTree/settings/user.html:162
+msgid "There are no social network accounts connected to your InvenTree account"
msgstr ""
-#: templates/InvenTree/settings/user.html:142
+#: templates/InvenTree/settings/user.html:167
msgid "Add a 3rd Party Account"
msgstr ""
-#: templates/InvenTree/settings/user.html:153
-msgid "Theme Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:174
-msgid "Set Theme"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:181
+#: templates/InvenTree/settings/user.html:177
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:200
+#: templates/InvenTree/settings/user.html:186
+#, fuzzy
+#| msgid "Select Category"
+msgid "Select language"
+msgstr "Välj Kategori"
+
+#: templates/InvenTree/settings/user.html:202
#, python-format
msgid "%(lang_translated)s%% translated"
msgstr ""
-#: templates/InvenTree/settings/user.html:202
+#: templates/InvenTree/settings/user.html:204
msgid "No translations available"
msgstr ""
-#: templates/InvenTree/settings/user.html:209
+#: templates/InvenTree/settings/user.html:211
msgid "Set Language"
msgstr ""
-#: templates/InvenTree/settings/user.html:214
-msgid "Help the translation efforts!"
+#: templates/InvenTree/settings/user.html:213
+msgid "Some languages are not complete"
msgstr ""
#: templates/InvenTree/settings/user.html:215
+msgid "Show only sufficent"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:217
+msgid "Show them too"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:224
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:225
#, python-format
msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
msgstr ""
-#: templates/InvenTree/settings/user.html:223
-msgid "Do you really want to remove the selected e-mail address?"
+#: templates/InvenTree/settings/user.html:233
+msgid "Do you really want to remove the selected email address?"
msgstr ""
-#: templates/InvenTree/settings/user_forms.html:9
-msgid "Form Settings"
+#: templates/InvenTree/settings/user_display.html:9
+msgid "Display Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:25
+msgid "Theme Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:35
+#, fuzzy
+#| msgid "Select Category"
+msgid "Select theme"
+msgstr "Välj Kategori"
+
+#: templates/InvenTree/settings/user_display.html:46
+msgid "Set Theme"
msgstr ""
#: templates/InvenTree/settings/user_homepage.html:9
@@ -6505,124 +6291,139 @@ msgstr ""
msgid "Search Settings"
msgstr ""
-#: templates/about.html:13
+#: templates/InvenTree/settings/user_settings.html:9
+msgid "User Settings"
+msgstr ""
+
+#: templates/about.html:10
msgid "InvenTree Version Information"
msgstr ""
-#: templates/about.html:22
+#: templates/about.html:11 templates/about.html:105
+#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:964 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
+msgid "Close"
+msgstr ""
+
+#: templates/about.html:20
msgid "InvenTree Version"
msgstr ""
-#: templates/about.html:27
+#: templates/about.html:25
msgid "Development Version"
msgstr ""
-#: templates/about.html:30
+#: templates/about.html:28
msgid "Up to Date"
msgstr ""
-#: templates/about.html:32
+#: templates/about.html:30
msgid "Update Available"
msgstr ""
-#: templates/about.html:42
+#: templates/about.html:40
msgid "Commit Hash"
msgstr ""
-#: templates/about.html:49
+#: templates/about.html:47
msgid "Commit Date"
msgstr ""
-#: templates/about.html:55
+#: templates/about.html:53
msgid "InvenTree Documentation"
msgstr ""
-#: templates/about.html:60
+#: templates/about.html:58
msgid "API Version"
msgstr ""
-#: templates/about.html:65
+#: templates/about.html:63
msgid "Python Version"
msgstr ""
-#: templates/about.html:70
+#: templates/about.html:68
msgid "Django Version"
msgstr ""
-#: templates/about.html:75
+#: templates/about.html:73
msgid "View Code on GitHub"
msgstr ""
-#: templates/about.html:80
+#: templates/about.html:78
msgid "Credits"
msgstr ""
-#: templates/about.html:85
+#: templates/about.html:83
msgid "Mobile App"
msgstr ""
-#: templates/about.html:90
+#: templates/about.html:88
msgid "Submit Bug Report"
msgstr ""
-#: templates/about.html:97 templates/clip.html:4
+#: templates/about.html:95 templates/clip.html:4
msgid "copy to clipboard"
msgstr ""
-#: templates/about.html:97
+#: templates/about.html:95
msgid "copy version information"
msgstr ""
-#: templates/about.html:107 templates/js/translated/modals.js:50
-#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678
-#: templates/js/translated/modals.js:982 templates/modals.html:29
-#: templates/modals.html:54
-msgid "Close"
-msgstr ""
-
#: templates/account/email_confirm.html:6
#: templates/account/email_confirm.html:10
-msgid "Confirm E-mail Address"
+msgid "Confirm Email Address"
msgstr ""
#: templates/account/email_confirm.html:16
#, python-format
-msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s."
+msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
#: templates/account/email_confirm.html:27
#, python-format
-msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request."
+msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:5 templates/account/login.html:14
-#: templates/account/login.html:36
+#: templates/account/login.html:6 templates/account/login.html:16
+#: templates/account/login.html:39
msgid "Sign In"
msgstr ""
-#: templates/account/login.html:19
+#: templates/account/login.html:21
#, python-format
-msgid "Please sign in with one\n"
+msgid ""
+"Please sign in with one\n"
"of your existing third party accounts or sign up\n"
"for a account and sign in below:"
msgstr ""
-#: templates/account/login.html:23
+#: templates/account/login.html:25
#, python-format
-msgid "If you have not created an account yet, then please\n"
+msgid ""
+"If you have not created an account yet, then please\n"
"sign up first."
msgstr ""
-#: templates/account/login.html:38
+#: templates/account/login.html:42
msgid "Forgot Password?"
msgstr ""
-#: templates/account/login.html:45
+#: templates/account/login.html:47
+msgid "InvenTree demo instance"
+msgstr ""
+
+#: templates/account/login.html:47
+msgid "Click here for login details"
+msgstr ""
+
+#: templates/account/login.html:55
msgid "or use SSO"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
-#: templates/account/logout.html:17
+#: templates/account/logout.html:20
msgid "Sign Out"
msgstr ""
@@ -6630,13 +6431,17 @@ msgstr ""
msgid "Are you sure you want to sign out?"
msgstr ""
+#: templates/account/logout.html:19
+msgid "Back to Site"
+msgstr ""
+
#: templates/account/password_reset.html:5
#: templates/account/password_reset.html:12
msgid "Password Reset"
msgstr ""
#: templates/account/password_reset.html:18
-msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it."
+msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it."
msgstr ""
#: templates/account/password_reset.html:23
@@ -6656,11 +6461,13 @@ msgstr ""
msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
msgstr ""
-#: templates/account/password_reset_from_key.html:17
-msgid "change password"
-msgstr ""
+#: templates/account/password_reset_from_key.html:18
+#, fuzzy
+#| msgid "Enter password"
+msgid "Change password"
+msgstr "Ange lösenord"
-#: templates/account/password_reset_from_key.html:20
+#: templates/account/password_reset_from_key.html:22
msgid "Your password is now changed."
msgstr ""
@@ -6677,6 +6484,77 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/admin_button.html:2
+msgid "View in administration panel"
+msgstr ""
+
+#: templates/base.html:96
+msgid "Server Restart Required"
+msgstr ""
+
+#: templates/base.html:99
+msgid "A configuration option has been changed which requires a server restart"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Contact your system administrator for further information"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:7
+msgid "Stock is required for the following build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:8
+#, python-format
+msgid "Build order %(build)s - building %(quantity)s x %(part)s"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:10
+msgid "Click on the following link to view this build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:14
+msgid "The following parts are low on required stock"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:18
+#: templates/js/translated/bom.js:989
+msgid "Required Quantity"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:19
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129
+#: templates/js/translated/build.js:1749
+msgid "Available"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:38
+#: templates/email/low_stock_notification.html:31
+msgid "You are receiving this email because you are subscribed to notifications for this part "
+msgstr ""
+
+#: templates/email/email.html:35
+msgid "InvenTree version"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:7
+#, python-format
+msgid " The available stock for %(part)s has fallen below the configured minimum level"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:9
+msgid "Click on the following link to view this part"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:17
+msgid "Total Stock"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:19
+msgid "Minimum Quantity"
+msgstr ""
+
#: templates/image_download.html:8
msgid "Specify URL for downloading image"
msgstr ""
@@ -6693,138 +6571,59 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/report.js:47 templates/js/translated/report.js:67
-msgid "items selected"
-msgstr ""
-
-#: templates/js/report.js:55 templates/js/translated/report.js:75
-msgid "Select Report Template"
-msgstr ""
-
-#: templates/js/report.js:70 templates/js/translated/report.js:90
-msgid "Select Test Report Template"
-msgstr ""
-
-#: templates/js/report.js:98 templates/js/translated/label.js:29
-#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/report.js:99 templates/js/translated/report.js:119
-msgid "Stock item(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:116 templates/js/report.js:169
-#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331 templates/js/translated/report.js:136
-#: templates/js/translated/report.js:189 templates/js/translated/report.js:243
-#: templates/js/translated/report.js:297 templates/js/translated/report.js:351
-msgid "No Reports Found"
-msgstr ""
-
-#: templates/js/report.js:117 templates/js/translated/report.js:137
-msgid "No report templates found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/report.js:152 templates/js/translated/report.js:172
-msgid "Select Builds"
-msgstr ""
-
-#: templates/js/report.js:153 templates/js/translated/report.js:173
-msgid "Build(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:170 templates/js/translated/report.js:190
-msgid "No report templates found which match selected build(s)"
-msgstr ""
-
-#: templates/js/report.js:205 templates/js/translated/build.js:948
-#: templates/js/translated/label.js:134 templates/js/translated/report.js:225
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/report.js:206 templates/js/translated/report.js:226
-msgid "Part(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:224 templates/js/translated/report.js:244
-msgid "No report templates found which match selected part(s)"
-msgstr ""
-
-#: templates/js/report.js:259 templates/js/translated/report.js:279
-msgid "Select Purchase Orders"
-msgstr ""
-
-#: templates/js/report.js:260 templates/js/translated/report.js:280
-msgid "Purchase Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/report.js:278 templates/js/report.js:332
-#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
-msgid "No report templates found which match selected orders"
-msgstr ""
-
-#: templates/js/report.js:313 templates/js/translated/report.js:333
-msgid "Select Sales Orders"
-msgstr ""
-
-#: templates/js/report.js:314 templates/js/translated/report.js:334
-msgid "Sales Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053
+#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035
msgid "No response from the InvenTree server"
msgstr ""
-#: templates/js/translated/api.js:181
+#: templates/js/translated/api.js:191
msgid "Error 400: Bad request"
msgstr ""
-#: templates/js/translated/api.js:182
+#: templates/js/translated/api.js:192
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063
+#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055
msgid "The requested resource could not be located on the server"
msgstr ""
-#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060
msgid "Connection timeout while requesting data from server"
msgstr ""
-#: templates/js/translated/api.js:205
+#: templates/js/translated/api.js:215
msgid "Unhandled Error Code"
msgstr ""
-#: templates/js/translated/api.js:206
+#: templates/js/translated/api.js:216
msgid "Error code"
msgstr ""
@@ -6832,292 +6631,369 @@ msgstr ""
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:91
+#: templates/js/translated/attachment.js:95
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:104
+#: templates/js/translated/attachment.js:108
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:115
msgid "Delete attachment"
msgstr ""
-#: templates/js/translated/barcode.js:30
+#: templates/js/translated/barcode.js:29
msgid "Scan barcode data here using wedge scanner"
msgstr ""
-#: templates/js/translated/barcode.js:32
+#: templates/js/translated/barcode.js:31
msgid "Enter barcode data"
msgstr ""
-#: templates/js/translated/barcode.js:36
+#: templates/js/translated/barcode.js:35
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:54
+#: templates/js/translated/barcode.js:53
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:55
+#: templates/js/translated/barcode.js:54
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:93
+#: templates/js/translated/barcode.js:92
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:114
+#: templates/js/translated/barcode.js:113
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:141
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/barcode.js:140
+#: templates/js/translated/modals.js:1024
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:234
+#: templates/js/translated/barcode.js:233
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:281 templates/navbar.html:65
+#: templates/js/translated/barcode.js:280 templates/navbar.html:69
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:292
+#: templates/js/translated/barcode.js:291
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:310
+#: templates/js/translated/barcode.js:309
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:333
+#: templates/js/translated/barcode.js:332
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:339
+#: templates/js/translated/barcode.js:338
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273
+#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:440
+#: templates/js/translated/barcode.js:439
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:444
-#: templates/js/translated/barcode.js:571
+#: templates/js/translated/barcode.js:443
+#: templates/js/translated/barcode.js:573
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:486
-#: templates/js/translated/barcode.js:610
+#: templates/js/translated/barcode.js:485
+#: templates/js/translated/barcode.js:612
msgid "Error transferring stock"
msgstr ""
-#: templates/js/translated/barcode.js:505
+#: templates/js/translated/barcode.js:507
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:509
+#: templates/js/translated/barcode.js:511
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:516
+#: templates/js/translated/barcode.js:518
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:523
+#: templates/js/translated/barcode.js:525
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:566
+#: templates/js/translated/barcode.js:568
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:629
+#: templates/js/translated/barcode.js:633
msgid "Barcode does not match a valid location"
msgstr ""
-#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495
+#: templates/js/translated/bom.js:184
+msgid "Remove substitute part"
+msgstr ""
+
+#: templates/js/translated/bom.js:226
+msgid "Select and add a new variant item using the input below"
+msgstr ""
+
+#: templates/js/translated/bom.js:237
+msgid "Are you sure you wish to remove this substitute part link?"
+msgstr ""
+
+#: templates/js/translated/bom.js:243
+msgid "Remove Substitute Part"
+msgstr ""
+
+#: templates/js/translated/bom.js:282
+msgid "Add Substitute"
+msgstr ""
+
+#: templates/js/translated/bom.js:283
+msgid "Edit BOM Item Substitutes"
+msgstr ""
+
+#: templates/js/translated/bom.js:402
+msgid "Substitutes Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111
+msgid "Variant stock allowed"
+msgstr ""
+
+#: templates/js/translated/bom.js:411
msgid "Open subassembly"
msgstr ""
-#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744
-#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522
-msgid "Available"
+#: templates/js/translated/bom.js:483
+msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:307
+#: templates/js/translated/bom.js:498
msgid "Purchase Price Range"
msgstr ""
-#: templates/js/translated/bom.js:314
+#: templates/js/translated/bom.js:505
msgid "Purchase Price Average"
msgstr ""
-#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449
+#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798
-#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285
+#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183
+#: templates/js/translated/order.js:1298
msgid "Actions"
msgstr ""
-#: templates/js/translated/bom.js:423
+#: templates/js/translated/bom.js:614
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:425
+#: templates/js/translated/bom.js:616
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590
+#: templates/js/translated/bom.js:618
+msgid "Edit substitute parts"
+msgstr ""
+
+#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575
+#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:1593
+#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/build.js:71
-msgid "Edit Build Order"
+#: templates/js/translated/bom.js:772
+msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/build.js:105
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/translated/build.js:138
-msgid "Allocate stock items to this build output"
-msgstr ""
-
-#: templates/js/translated/build.js:146
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/translated/build.js:155
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:164
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:265
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356
-#: templates/js/translated/order.js:1292
-msgid "Edit stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357
-#: templates/js/translated/order.js:1293
-msgid "Delete stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:695
-msgid "Edit Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:705
-msgid "Remove Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:718
+#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095
msgid "Required Part"
msgstr ""
-#: templates/js/translated/build.js:739
+#: templates/js/translated/bom.js:994
+msgid "Inherited from parent BOM"
+msgstr ""
+
+#: templates/js/translated/build.js:78
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:112
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:133
+msgid "Allocate stock items to this build output"
+msgstr ""
+
+#: templates/js/translated/build.js:144
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:153
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:161
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:184
+msgid "Are you sure you wish to unallocate stock items from this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:202
+msgid "Unallocate Stock Items"
+msgstr ""
+
+#: templates/js/translated/build.js:220
+msgid "Select Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:221
+msgid "At least one build output must be selected"
+msgstr ""
+
+#: templates/js/translated/build.js:275
+msgid "Output"
+msgstr ""
+
+#: templates/js/translated/build.js:291
+msgid "Complete Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:386
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:603
+msgid "No active build outputs found"
+msgstr ""
+
+#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760
+#: templates/js/translated/order.js:1305
+msgid "Edit stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761
+#: templates/js/translated/order.js:1306
+msgid "Delete stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1072
+msgid "Edit Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1082
+msgid "Remove Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1107
+msgid "Substitute parts available"
+msgstr ""
+
+#: templates/js/translated/build.js:1124
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:749 templates/js/translated/build.js:975
-#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514
+#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360
+#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553
-#: templates/js/translated/order.js:1567
+#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557
-#: templates/stock_table.html:59
+#: templates/js/translated/build.js:1194 templates/stock_table.html:52
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560
+#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:880
+#: templates/js/translated/build.js:1262
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:949
+#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134
+#: templates/js/translated/report.js:225
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/translated/build.js:1334
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:963
+#: templates/js/translated/build.js:1348
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:992
+#: templates/js/translated/build.js:1377
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/build.js:993
+#: templates/js/translated/build.js:1378
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:1004
+#: templates/js/translated/build.js:1389
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:1048
+#: templates/js/translated/build.js:1451
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:1172
+#: templates/js/translated/build.js:1576
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856
-#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762
-#: templates/js/translated/stock.js:1456
+#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873
+#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064
+#: templates/js/translated/stock.js:1841
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:1209
+#: templates/js/translated/build.js:1613
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675
+#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:1282
+#: templates/js/translated/build.js:1686
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:1333
+#: templates/js/translated/build.js:1737
msgid "No parts allocated for"
msgstr ""
@@ -7137,7 +7013,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:164 templates/js/translated/order.js:89
+#: templates/js/translated/company.js:164 templates/js/translated/order.js:90
msgid "Add Supplier"
msgstr ""
@@ -7186,34 +7062,34 @@ msgid "No manufacturer parts found"
msgstr ""
#: templates/js/translated/company.js:496
-#: templates/js/translated/company.js:753 templates/js/translated/part.js:427
-#: templates/js/translated/part.js:512
+#: templates/js/translated/company.js:753 templates/js/translated/part.js:448
+#: templates/js/translated/part.js:533
msgid "Template part"
msgstr ""
#: templates/js/translated/company.js:500
-#: templates/js/translated/company.js:757 templates/js/translated/part.js:431
-#: templates/js/translated/part.js:516
+#: templates/js/translated/company.js:757 templates/js/translated/part.js:452
+#: templates/js/translated/part.js:537
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:627 templates/js/translated/part.js:604
+#: templates/js/translated/company.js:627 templates/js/translated/part.js:625
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:664 templates/js/translated/part.js:646
+#: templates/js/translated/company.js:664 templates/js/translated/part.js:667
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:665 templates/js/translated/part.js:647
+#: templates/js/translated/company.js:665 templates/js/translated/part.js:668
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:684 templates/js/translated/part.js:664
+#: templates/js/translated/company.js:684 templates/js/translated/part.js:685
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:695 templates/js/translated/part.js:676
+#: templates/js/translated/company.js:695 templates/js/translated/part.js:697
msgid "Delete Parameter"
msgstr ""
@@ -7222,12 +7098,12 @@ msgid "No supplier parts found"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:407
+#: templates/js/translated/filters.js:420
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:408
+#: templates/js/translated/filters.js:421
msgid "false"
msgstr ""
@@ -7235,57 +7111,63 @@ msgstr ""
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:284
+#: templates/js/translated/filters.js:286
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:286
+#: templates/js/translated/filters.js:290
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:289
+#: templates/js/translated/filters.js:293
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:317
+#: templates/js/translated/filters.js:329
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336
-#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360
+#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364
+#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:324
+#: templates/js/translated/forms.js:351
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:337
+#: templates/js/translated/forms.js:366
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:349
+#: templates/js/translated/forms.js:380
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:361
+#: templates/js/translated/forms.js:394
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:968 templates/modals.html:21
-#: templates/modals.html:47
+#: templates/js/translated/forms.js:679
+#, fuzzy
+#| msgid "Must be a valid number"
+msgid "Enter a valid number"
+msgstr "Måste vara ett giltigt nummer"
+
+#: templates/js/translated/forms.js:1071 templates/modals.html:19
+#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1323
+#: templates/js/translated/forms.js:1457
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1525
+#: templates/js/translated/forms.js:1661
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:1742
+#: templates/js/translated/forms.js:1878
msgid "Clear input"
msgstr ""
@@ -7297,6 +7179,11 @@ msgstr ""
msgid "NO"
msgstr ""
+#: templates/js/translated/label.js:29 templates/js/translated/report.js:118
+#: templates/js/translated/stock.js:594
+msgid "Select Stock Items"
+msgstr ""
+
#: templates/js/translated/label.js:30
msgid "Stock item(s) must be selected before printing labels"
msgstr ""
@@ -7342,62 +7229,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119
+#: templates/js/translated/modals.js:593
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981
-#: templates/modals.html:30 templates/modals.html:55
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963
+#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:117
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:397
+#: templates/js/translated/modals.js:380
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:556
+#: templates/js/translated/modals.js:539
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:592
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:649
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:945
+#: templates/js/translated/modals.js:927
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/modals.js:1024
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1057
+#: templates/js/translated/modals.js:1039
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1058
+#: templates/js/translated/modals.js:1040
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1081
+#: templates/js/translated/modals.js:1063
msgid "Error requesting form data"
msgstr ""
@@ -7405,35 +7292,35 @@ msgstr ""
msgid "Company ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:90
+#: templates/js/translated/model_renderers.js:77
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:125
+#: templates/js/translated/model_renderers.js:130
msgid "Location ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:142
+#: templates/js/translated/model_renderers.js:147
msgid "Build ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:177
+#: templates/js/translated/model_renderers.js:182
msgid "Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:231
+#: templates/js/translated/model_renderers.js:236
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:251
+#: templates/js/translated/model_renderers.js:256
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:288
+#: templates/js/translated/model_renderers.js:293
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:317
+#: templates/js/translated/model_renderers.js:322
msgid "Supplier Part ID"
msgstr ""
@@ -7445,565 +7332,688 @@ msgstr ""
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:207
+#: templates/js/translated/order.js:208
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96
+#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393
msgid "Format"
msgstr ""
-#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97
+#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394
msgid "Select file format"
msgstr ""
-#: templates/js/translated/order.js:299
+#: templates/js/translated/order.js:300
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:300
+#: templates/js/translated/order.js:301
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:325
+#: templates/js/translated/order.js:326
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343
+#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:426
+#: templates/js/translated/order.js:427
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:428
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:429
+#: templates/js/translated/order.js:430
msgid "Receive"
msgstr ""
-#: templates/js/translated/order.js:448
+#: templates/js/translated/order.js:449
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:449
+#: templates/js/translated/order.js:450
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:626
+#: templates/js/translated/order.js:627
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028
+#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602
+#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613
+#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:800
+#: templates/js/translated/order.js:801
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432
+#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457
-#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554
+#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470
+#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464
-msgid "Total price"
+#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486
+msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573
+#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:963
+#: templates/js/translated/order.js:976
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:967
+#: templates/js/translated/order.js:980
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1004
+#: templates/js/translated/order.js:1017
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1055
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1120
+#: templates/js/translated/order.js:1133
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:1213
+#: templates/js/translated/order.js:1226
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1231
+#: templates/js/translated/order.js:1244
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1273
+#: templates/js/translated/order.js:1286
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:1514
+#: templates/js/translated/order.js:1535
msgid "Fulfilled"
msgstr ""
-#: templates/js/translated/order.js:1557
+#: templates/js/translated/order.js:1579
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1585
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725
+#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1596
msgid "Delete line item "
msgstr ""
-#: templates/js/translated/order.js:1673
+#: templates/js/translated/order.js:1719
msgid "Allocate Stock Item"
msgstr ""
-#: templates/js/translated/order.js:1733
+#: templates/js/translated/order.js:1779
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1747
+#: templates/js/translated/order.js:1793
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/part.js:49
+#: templates/js/translated/part.js:50
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:53
+#: templates/js/translated/part.js:54
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:57
+#: templates/js/translated/part.js:58
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:61
+#: templates/js/translated/part.js:62
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:75
+#: templates/js/translated/part.js:76
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:164
+#: templates/js/translated/part.js:165
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:165
+#: templates/js/translated/part.js:166
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:172
+#: templates/js/translated/part.js:173
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:173
+#: templates/js/translated/part.js:174
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:180
+#: templates/js/translated/part.js:181
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:191
+#: templates/js/translated/part.js:192
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:192
+#: templates/js/translated/part.js:193
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:201
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:202
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:257
+#: templates/js/translated/part.js:258
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:258
+#: templates/js/translated/part.js:259
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:265
-msgid "Copy BOM"
-msgstr ""
-
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:267
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:273
+#: templates/js/translated/part.js:274
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:274
+#: templates/js/translated/part.js:275
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:287
+#: templates/js/translated/part.js:288
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:331
+#: templates/js/translated/part.js:332
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:419 templates/js/translated/part.js:504
+#: templates/js/translated/part.js:334
+msgid "Part edited"
+msgstr ""
+
+#: templates/js/translated/part.js:402
+msgid "You are subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:404
+msgid "You have subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:409
+msgid "Subscribe to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:411
+msgid "You have unsubscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:440 templates/js/translated/part.js:525
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:423 templates/js/translated/part.js:508
+#: templates/js/translated/part.js:444 templates/js/translated/part.js:529
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:435
-msgid "Starred part"
+#: templates/js/translated/part.js:456
+msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:439
+#: templates/js/translated/part.js:460
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:554
+#: templates/js/translated/part.js:575
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005
+#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:932
+#: templates/js/translated/part.js:933
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:955
-#: templates/js/translated/table_filters.js:359
+#: templates/js/translated/part.js:956
+#: templates/js/translated/table_filters.js:375
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480
+#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200
+#: templates/js/translated/stock.js:1802
+msgid "Display as list"
+msgstr ""
+
+#: templates/js/translated/part.js:1044
+msgid "Display as grid"
+msgstr ""
+
+#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821
+msgid "Display as tree"
+msgstr ""
+
+#: templates/js/translated/part.js:1283
+msgid "Subscribed category"
+msgstr ""
+
+#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1202
+#: templates/js/translated/part.js:1341
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493
+#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494
+#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1260
+#: templates/js/translated/part.js:1399
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1282
+#: templates/js/translated/part.js:1421
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1296
+#: templates/js/translated/part.js:1435
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1321
+#: templates/js/translated/part.js:1460
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1376
+#: templates/js/translated/part.js:1515
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1377
+#: templates/js/translated/part.js:1516
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1478
+#: templates/js/translated/part.js:1617
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1497
+#: templates/js/translated/part.js:1636
msgid "Single Price Difference"
msgstr ""
-#: templates/js/translated/stock.js:63
+#: templates/js/translated/report.js:67
+msgid "items selected"
+msgstr ""
+
+#: templates/js/translated/report.js:75
+msgid "Select Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:90
+msgid "Select Test Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:119
+msgid "Stock item(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:136 templates/js/translated/report.js:189
+#: templates/js/translated/report.js:243 templates/js/translated/report.js:297
+#: templates/js/translated/report.js:351
+msgid "No Reports Found"
+msgstr ""
+
+#: templates/js/translated/report.js:137
+msgid "No report templates found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:172
+msgid "Select Builds"
+msgstr ""
+
+#: templates/js/translated/report.js:173
+msgid "Build(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:190
+msgid "No report templates found which match selected build(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:226
+msgid "Part(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:244
+msgid "No report templates found which match selected part(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:279
+msgid "Select Purchase Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:280
+msgid "Purchase Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
+msgid "No report templates found which match selected orders"
+msgstr ""
+
+#: templates/js/translated/report.js:333
+msgid "Select Sales Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:334
+msgid "Sales Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/stock.js:70
+msgid "Serialize Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:90
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:126
+msgid "New Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:189
+msgid "Enter initial quantity for this stock item"
+msgstr ""
+
+#: templates/js/translated/stock.js:195
+msgid "Enter serial numbers for new stock (or leave blank)"
+msgstr ""
+
+#: templates/js/translated/stock.js:338
+msgid "Created new stock item"
+msgstr ""
+
+#: templates/js/translated/stock.js:351
+msgid "Created multiple stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:390
msgid "Export Stock"
msgstr ""
-#: templates/js/translated/stock.js:104
+#: templates/js/translated/stock.js:401
msgid "Include Sublocations"
msgstr ""
-#: templates/js/translated/stock.js:105
+#: templates/js/translated/stock.js:402
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:444
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:148
+#: templates/js/translated/stock.js:445
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:154
+#: templates/js/translated/stock.js:451
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:155
+#: templates/js/translated/stock.js:452
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:159
+#: templates/js/translated/stock.js:456
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:160
+#: templates/js/translated/stock.js:457
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:164
+#: templates/js/translated/stock.js:461
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:165 users/models.py:195
+#: templates/js/translated/stock.js:462 users/models.py:200
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:169 templates/stock_table.html:63
+#: templates/js/translated/stock.js:466 templates/stock_table.html:56
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:298
+#: templates/js/translated/stock.js:595
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:456
+#: templates/js/translated/stock.js:753
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:458
+#: templates/js/translated/stock.js:755
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:463
+#: templates/js/translated/stock.js:760
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:489
+#: templates/js/translated/stock.js:782
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:515
+#: templates/js/translated/stock.js:808
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:563
+#: templates/js/translated/stock.js:865
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:670
+#: templates/js/translated/stock.js:972
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:674
+#: templates/js/translated/stock.js:976
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:678
+#: templates/js/translated/stock.js:980
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:984
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:688
+#: templates/js/translated/stock.js:990
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:844
+#: templates/js/translated/stock.js:1148
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:849
+#: templates/js/translated/stock.js:1153
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:852
+#: templates/js/translated/stock.js:1156
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:856
+#: templates/js/translated/stock.js:1160
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:858
+#: templates/js/translated/stock.js:1162
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:1166
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:866
+#: templates/js/translated/stock.js:1170
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:873
+#: templates/js/translated/stock.js:1177
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:1179
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:877
+#: templates/js/translated/stock.js:1181
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:881
-#: templates/js/translated/table_filters.js:161
+#: templates/js/translated/stock.js:1185
+#: templates/js/translated/table_filters.js:177
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:935
+#: templates/js/translated/stock.js:1235
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1308
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1046
+#: templates/js/translated/stock.js:1346
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115
+#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415
msgid "items"
msgstr ""
-#: templates/js/translated/stock.js:1155
+#: templates/js/translated/stock.js:1455
msgid "batches"
msgstr ""
-#: templates/js/translated/stock.js:1182
+#: templates/js/translated/stock.js:1482
msgid "locations"
msgstr ""
-#: templates/js/translated/stock.js:1184
+#: templates/js/translated/stock.js:1484
msgid "Undefined location"
msgstr ""
-#: templates/js/translated/stock.js:1358
+#: templates/js/translated/stock.js:1658
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:1372
+#: templates/js/translated/stock.js:1672
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:1373
+#: templates/js/translated/stock.js:1673
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:1512
+#: templates/js/translated/stock.js:1897
msgid "Invalid date"
msgstr ""
-#: templates/js/translated/stock.js:1559
+#: templates/js/translated/stock.js:1919
+msgid "Details"
+msgstr ""
+
+#: templates/js/translated/stock.js:1944
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1578
+#: templates/js/translated/stock.js:1963
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1597
+#: templates/js/translated/stock.js:1982
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1615
+#: templates/js/translated/stock.js:2000
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1638
+#: templates/js/translated/stock.js:2023
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:1646
+#: templates/js/translated/stock.js:2031
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:1687
+#: templates/js/translated/stock.js:2072
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1688
+#: templates/js/translated/stock.js:2073
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:2124
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:1835
-msgid "Serial"
-msgstr ""
-
-#: templates/js/translated/stock.js:1863
+#: templates/js/translated/stock.js:2175
msgid "Uninstall Stock Item"
msgstr ""
@@ -8023,254 +8033,264 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:156
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:172
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:93
+#: templates/js/translated/table_filters.js:105
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:103
-#: templates/js/translated/table_filters.js:104
-#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:115
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:352
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:114
-#: templates/js/translated/table_filters.js:191
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:117
-#: templates/js/translated/table_filters.js:198
-msgid "Serial number GTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:118
-#: templates/js/translated/table_filters.js:199
-msgid "Serial number greater than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:121
-#: templates/js/translated/table_filters.js:202
-msgid "Serial number LTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:122
-#: templates/js/translated/table_filters.js:203
-msgid "Serial number less than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:125
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:195
-msgid "Serial number"
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:387
+msgid "Subscribed"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:212
-msgid "Batch code"
+#: templates/js/translated/table_filters.js:207
+msgid "Is Serialized"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:214
+msgid "Serial number GTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:134
+#: templates/js/translated/table_filters.js:215
+msgid "Serial number greater than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:137
+#: templates/js/translated/table_filters.js:218
+msgid "Serial number LTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:138
+#: templates/js/translated/table_filters.js:219
+msgid "Serial number less than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:141
-#: templates/js/translated/table_filters.js:326
-msgid "Active parts"
-msgstr ""
-
#: templates/js/translated/table_filters.js:142
-msgid "Show stock for active parts"
+#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:211
+msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:147
-msgid "Part is an assembly"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:151
-msgid "Is allocated"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:152
-msgid "Item has been allocated"
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:228
+msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:157
-msgid "Include stock in sublocations"
+#: templates/js/translated/table_filters.js:342
+msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:162
-msgid "Show stock items which are depleted"
+#: templates/js/translated/table_filters.js:158
+msgid "Show stock for active parts"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:163
+msgid "Part is an assembly"
msgstr ""
#: templates/js/translated/table_filters.js:167
+msgid "Is allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:168
+msgid "Item has been allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:173
+msgid "Include stock in sublocations"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:178
+msgid "Show stock items which are depleted"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:183
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:187
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:188
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:176
+#: templates/js/translated/table_filters.js:192
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:177
+#: templates/js/translated/table_filters.js:193
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:197
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:182
+#: templates/js/translated/table_filters.js:198
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:187
+#: templates/js/translated/table_filters.js:203
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:207
-#: templates/js/translated/table_filters.js:208
+#: templates/js/translated/table_filters.js:223
+#: templates/js/translated/table_filters.js:224
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/table_filters.js:232
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:233
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:242
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:248
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:279
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:291
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:307
+#: templates/js/translated/table_filters.js:324
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:296
-#: templates/js/translated/table_filters.js:313
+#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:329
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:337
+#: templates/js/translated/table_filters.js:353
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:341
+#: templates/js/translated/table_filters.js:357
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:342
+#: templates/js/translated/table_filters.js:358
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:347
+#: templates/js/translated/table_filters.js:363
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:355
+#: templates/js/translated/table_filters.js:371
msgid "Stock available"
msgstr ""
-#: templates/js/translated/table_filters.js:371
-msgid "Starred"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:383
+#: templates/js/translated/table_filters.js:399
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/tables.js:366
+#: templates/js/translated/tables.js:368
msgid "Loading data"
msgstr ""
-#: templates/js/translated/tables.js:369
+#: templates/js/translated/tables.js:371
msgid "rows per page"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "Showing"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "to"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "of"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "rows"
msgstr ""
-#: templates/js/translated/tables.js:378
+#: templates/js/translated/tables.js:377 templates/search_form.html:6
+#: templates/search_form.html:7
+msgid "Search"
+msgstr ""
+
+#: templates/js/translated/tables.js:380
msgid "No matching results"
msgstr ""
-#: templates/js/translated/tables.js:381
+#: templates/js/translated/tables.js:383
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/translated/tables.js:384
+#: templates/js/translated/tables.js:386
msgid "Refresh"
msgstr ""
-#: templates/js/translated/tables.js:387
+#: templates/js/translated/tables.js:389
msgid "Toggle"
msgstr ""
-#: templates/js/translated/tables.js:390
+#: templates/js/translated/tables.js:392
msgid "Columns"
msgstr ""
-#: templates/js/translated/tables.js:393
+#: templates/js/translated/tables.js:395
msgid "All"
msgstr ""
-#: templates/navbar.html:19
-msgid "Toggle navigation"
-msgstr ""
-
-#: templates/navbar.html:39
+#: templates/navbar.html:40
msgid "Buy"
msgstr ""
-#: templates/navbar.html:51
+#: templates/navbar.html:52
msgid "Sell"
msgstr ""
-#: templates/navbar.html:83 users/models.py:39
+#: templates/navbar.html:86 users/models.py:39
msgid "Admin"
msgstr ""
-#: templates/navbar.html:85
+#: templates/navbar.html:88
msgid "Logout"
msgstr ""
-#: templates/navbar.html:106
+#: templates/navbar.html:90
+msgid "Login"
+msgstr ""
+
+#: templates/navbar.html:111
msgid "About InvenTree"
msgstr ""
+#: templates/navbar_demo.html:5
+msgid "InvenTree demo mode"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -8283,6 +8303,10 @@ msgstr ""
msgid "Log in again"
msgstr ""
+#: templates/stats.html:9
+msgid "Server"
+msgstr ""
+
#: templates/stats.html:13
msgid "Instance Name"
msgstr ""
@@ -8336,54 +8360,50 @@ msgid "Export Stock Information"
msgstr ""
#: templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/stock_table.html:27
msgid "Barcode Actions"
msgstr ""
-#: templates/stock_table.html:43
+#: templates/stock_table.html:36
msgid "Print test reports"
msgstr ""
-#: templates/stock_table.html:50
+#: templates/stock_table.html:43
msgid "Stock Options"
msgstr ""
-#: templates/stock_table.html:55
+#: templates/stock_table.html:48
msgid "Add to selected stock items"
msgstr ""
-#: templates/stock_table.html:56
+#: templates/stock_table.html:49
msgid "Remove from selected stock items"
msgstr ""
-#: templates/stock_table.html:57
+#: templates/stock_table.html:50
msgid "Stocktake selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move stock"
msgstr ""
-#: templates/stock_table.html:59
+#: templates/stock_table.html:52
msgid "Order selected items"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change status"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change stock status"
msgstr ""
-#: templates/stock_table.html:63
+#: templates/stock_table.html:56
msgid "Delete selected items"
msgstr ""
@@ -8419,35 +8439,34 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:182
+#: users/models.py:187
msgid "Permission set"
msgstr ""
-#: users/models.py:190
+#: users/models.py:195
msgid "Group"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "View"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "Permission to view items"
msgstr ""
-#: users/models.py:195
+#: users/models.py:200
msgid "Permission to add items"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Change"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:199
+#: users/models.py:204
msgid "Permission to delete items"
msgstr ""
-
diff --git a/InvenTree/locale/th/LC_MESSAGES/django.mo b/InvenTree/locale/th/LC_MESSAGES/django.mo
new file mode 100644
index 0000000000..17059a4eda
Binary files /dev/null and b/InvenTree/locale/th/LC_MESSAGES/django.mo differ
diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po
index 1f25b70e4e..6d249907a5 100644
--- a/InvenTree/locale/th/LC_MESSAGES/django.po
+++ b/InvenTree/locale/th/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-11 06:21+0000\n"
+"POT-Creation-Date: 2021-11-22 22:08+0000\n"
"PO-Revision-Date: 2021-10-11 06:29\n"
"Last-Translator: \n"
"Language-Team: Thai\n"
@@ -33,260 +33,266 @@ msgstr ""
msgid "Enter date"
msgstr ""
-#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123
-#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27
-#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71
-#: part/forms.py:108 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:564
+#: InvenTree/forms.py:120 build/forms.py:48 build/forms.py:69 build/forms.py:93
+#: order/forms.py:26 order/forms.py:37 order/forms.py:48 order/forms.py:59
+#: order/forms.py:70 part/forms.py:108 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:594
msgid "Confirm"
msgstr ""
-#: InvenTree/forms.py:132
+#: InvenTree/forms.py:136
msgid "Confirm delete"
msgstr ""
-#: InvenTree/forms.py:133
+#: InvenTree/forms.py:137
msgid "Confirm item deletion"
msgstr ""
-#: InvenTree/forms.py:164
+#: InvenTree/forms.py:168
msgid "Enter password"
msgstr ""
-#: InvenTree/forms.py:165
+#: InvenTree/forms.py:169
msgid "Enter new password"
msgstr ""
-#: InvenTree/forms.py:172
+#: InvenTree/forms.py:176
msgid "Confirm password"
msgstr ""
-#: InvenTree/forms.py:173
+#: InvenTree/forms.py:177
msgid "Confirm new password"
msgstr ""
-#: InvenTree/forms.py:205
+#: InvenTree/forms.py:209
msgid "Select Category"
msgstr ""
-#: InvenTree/forms.py:226
-msgid "E-mail (again)"
-msgstr ""
-
#: InvenTree/forms.py:230
-msgid "E-mail address confirmation"
+msgid "Email (again)"
msgstr ""
-#: InvenTree/forms.py:250
+#: InvenTree/forms.py:234
+msgid "Email address confirmation"
+msgstr ""
+
+#: InvenTree/forms.py:254
msgid "You must type the same email each time."
msgstr ""
-#: InvenTree/helpers.py:401
+#: InvenTree/helpers.py:430
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr ""
-#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437
-#: stock/views.py:1340
+#: InvenTree/helpers.py:437 order/models.py:318 order/models.py:440
+#: stock/views.py:1264
msgid "Invalid quantity provided"
msgstr ""
-#: InvenTree/helpers.py:411
+#: InvenTree/helpers.py:440
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:462 InvenTree/helpers.py:465 InvenTree/helpers.py:468
+#: InvenTree/helpers.py:493
#, python-brace-format
msgid "Invalid group: {g}"
msgstr ""
-#: InvenTree/helpers.py:469
+#: InvenTree/helpers.py:498
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr ""
-#: InvenTree/helpers.py:477
+#: InvenTree/helpers.py:506
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:481
+#: InvenTree/helpers.py:510
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/models.py:66 stock/models.py:1823
+#: InvenTree/models.py:109 stock/models.py:1874
msgid "Attachment"
msgstr ""
-#: InvenTree/models.py:67
+#: InvenTree/models.py:110
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:69 templates/js/translated/attachment.js:87
+#: InvenTree/models.py:112 templates/js/translated/attachment.js:91
msgid "Comment"
msgstr ""
-#: InvenTree/models.py:69
+#: InvenTree/models.py:112
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055
-#: common/models.py:1056 part/models.py:2055
-#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/translated/stock.js:1669
+#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185
+#: common/models.py:1186 part/models.py:2205 part/models.py:2225
+#: report/templates/report/inventree_test_report_base.html:96
+#: templates/js/translated/stock.js:2054
msgid "User"
msgstr ""
-#: InvenTree/models.py:79
+#: InvenTree/models.py:122
msgid "upload date"
msgstr ""
-#: InvenTree/models.py:99
+#: InvenTree/models.py:142
msgid "Filename must not be empty"
msgstr ""
-#: InvenTree/models.py:122
+#: InvenTree/models.py:165
msgid "Invalid attachment directory"
msgstr ""
-#: InvenTree/models.py:132
+#: InvenTree/models.py:175
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr ""
-#: InvenTree/models.py:135
+#: InvenTree/models.py:178
msgid "Filename missing extension"
msgstr ""
-#: InvenTree/models.py:142
+#: InvenTree/models.py:185
msgid "Attachment with this filename already exists"
msgstr ""
-#: InvenTree/models.py:149
+#: InvenTree/models.py:192
msgid "Error renaming file"
msgstr ""
-#: InvenTree/models.py:184
+#: InvenTree/models.py:227
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415
-#: label/models.py:112 part/models.py:659 part/models.py:2216
-#: part/templates/part/part_base.html:241 report/models.py:181
-#: templates/js/translated/company.js:637 templates/js/translated/part.js:477
-#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141
-#: templates/js/translated/stock.js:1462
+#: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415
+#: label/models.py:112 part/models.py:741 part/models.py:2389
+#: part/templates/part/detail.html:25 report/models.py:181
+#: templates/js/translated/company.js:637 templates/js/translated/part.js:498
+#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272
+#: templates/js/translated/stock.js:1847
msgid "Name"
msgstr ""
-#: InvenTree/models.py:207 build/models.py:189
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/manufacturer_part.html:76
-#: company/templates/company/supplier_part.html:75 label/models.py:119
-#: order/models.py:158 part/models.py:682
-#: part/templates/part/part_base.html:246
+#: InvenTree/models.py:250 build/models.py:207
+#: build/templates/build/detail.html:25 company/models.py:354
+#: company/models.py:570 company/templates/company/manufacturer_part.html:80
+#: company/templates/company/supplier_part.html:81 label/models.py:119
+#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30
#: part/templates/part/set_category.html:14 report/models.py:194
-#: report/models.py:551 report/models.py:590
+#: report/models.py:553 report/models.py:592
#: report/templates/report/inventree_build_order_base.html:118
-#: templates/InvenTree/settings/header.html:9
-#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217
-#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344
+#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214
+#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621
+#: templates/js/translated/company.js:344
#: templates/js/translated/company.js:547
-#: templates/js/translated/company.js:836 templates/js/translated/order.js:672
-#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056
-#: templates/js/translated/part.js:536 templates/js/translated/part.js:724
-#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153
-#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819
-#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519
+#: templates/js/translated/company.js:836 templates/js/translated/order.js:673
+#: templates/js/translated/order.js:833 templates/js/translated/order.js:1069
+#: templates/js/translated/part.js:557 templates/js/translated/part.js:745
+#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291
+#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121
+#: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904
msgid "Description"
msgstr ""
-#: InvenTree/models.py:208
+#: InvenTree/models.py:251
msgid "Description (optional)"
msgstr ""
-#: InvenTree/models.py:216
+#: InvenTree/models.py:259
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:55 part/models.py:2475
+#: InvenTree/serializers.py:62 part/models.py:2674
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:244
+#: InvenTree/serializers.py:251
msgid "Filename"
msgstr ""
-#: InvenTree/settings.py:529
+#: InvenTree/settings.py:663
msgid "German"
msgstr ""
-#: InvenTree/settings.py:530
+#: InvenTree/settings.py:664
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:531
+#: InvenTree/settings.py:665
msgid "English"
msgstr ""
-#: InvenTree/settings.py:532
+#: InvenTree/settings.py:666
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:533
+#: InvenTree/settings.py:667
+msgid "Spanish (Mexican)"
+msgstr ""
+
+#: InvenTree/settings.py:668
msgid "French"
msgstr ""
-#: InvenTree/settings.py:534
+#: InvenTree/settings.py:669
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:535
+#: InvenTree/settings.py:670
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:536
+#: InvenTree/settings.py:671
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:537
+#: InvenTree/settings.py:672
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:538
+#: InvenTree/settings.py:673
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:539
+#: InvenTree/settings.py:674
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:540
+#: InvenTree/settings.py:675
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:541
+#: InvenTree/settings.py:676
+msgid "Portugese"
+msgstr ""
+
+#: InvenTree/settings.py:677
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:542
+#: InvenTree/settings.py:678
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:543
+#: InvenTree/settings.py:679
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:544
+#: InvenTree/settings.py:680
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:545
+#: InvenTree/settings.py:681
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:546
+#: InvenTree/settings.py:682
msgid "Chinese"
msgstr ""
@@ -302,196 +308,196 @@ msgstr ""
msgid "InvenTree system health checks failed"
msgstr ""
-#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145
-#: InvenTree/status_codes.py:314
+#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142
+#: InvenTree/status_codes.py:311
msgid "Pending"
msgstr ""
-#: InvenTree/status_codes.py:105
+#: InvenTree/status_codes.py:102
msgid "Placed"
msgstr ""
-#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317
+#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:314
msgid "Complete"
msgstr ""
-#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147
-#: InvenTree/status_codes.py:316
+#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144
+#: InvenTree/status_codes.py:313
msgid "Cancelled"
msgstr ""
-#: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148
-#: InvenTree/status_codes.py:190
+#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145
+#: InvenTree/status_codes.py:187
msgid "Lost"
msgstr ""
-#: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149
-#: InvenTree/status_codes.py:192
+#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146
+#: InvenTree/status_codes.py:189
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:146
-#: order/templates/order/sales_order_base.html:131
+#: InvenTree/status_codes.py:143
+#: order/templates/order/sales_order_base.html:147
msgid "Shipped"
msgstr ""
-#: InvenTree/status_codes.py:186
+#: InvenTree/status_codes.py:183
msgid "OK"
msgstr ""
-#: InvenTree/status_codes.py:187
+#: InvenTree/status_codes.py:184
msgid "Attention needed"
msgstr ""
-#: InvenTree/status_codes.py:188
+#: InvenTree/status_codes.py:185
msgid "Damaged"
msgstr ""
-#: InvenTree/status_codes.py:189
+#: InvenTree/status_codes.py:186
msgid "Destroyed"
msgstr ""
-#: InvenTree/status_codes.py:191
+#: InvenTree/status_codes.py:188
msgid "Rejected"
msgstr ""
-#: InvenTree/status_codes.py:272
+#: InvenTree/status_codes.py:269
msgid "Legacy stock tracking entry"
msgstr ""
-#: InvenTree/status_codes.py:274
+#: InvenTree/status_codes.py:271
msgid "Stock item created"
msgstr ""
-#: InvenTree/status_codes.py:276
+#: InvenTree/status_codes.py:273
msgid "Edited stock item"
msgstr ""
-#: InvenTree/status_codes.py:277
+#: InvenTree/status_codes.py:274
msgid "Assigned serial number"
msgstr ""
-#: InvenTree/status_codes.py:279
+#: InvenTree/status_codes.py:276
msgid "Stock counted"
msgstr ""
-#: InvenTree/status_codes.py:280
+#: InvenTree/status_codes.py:277
msgid "Stock manually added"
msgstr ""
-#: InvenTree/status_codes.py:281
+#: InvenTree/status_codes.py:278
msgid "Stock manually removed"
msgstr ""
-#: InvenTree/status_codes.py:283
+#: InvenTree/status_codes.py:280
msgid "Location changed"
msgstr ""
-#: InvenTree/status_codes.py:285
+#: InvenTree/status_codes.py:282
msgid "Installed into assembly"
msgstr ""
-#: InvenTree/status_codes.py:286
+#: InvenTree/status_codes.py:283
msgid "Removed from assembly"
msgstr ""
-#: InvenTree/status_codes.py:288
+#: InvenTree/status_codes.py:285
msgid "Installed component item"
msgstr ""
-#: InvenTree/status_codes.py:289
+#: InvenTree/status_codes.py:286
msgid "Removed component item"
msgstr ""
-#: InvenTree/status_codes.py:291
+#: InvenTree/status_codes.py:288
msgid "Split from parent item"
msgstr ""
-#: InvenTree/status_codes.py:292
+#: InvenTree/status_codes.py:289
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186
+#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202
msgid "Sent to customer"
msgstr ""
-#: InvenTree/status_codes.py:295
+#: InvenTree/status_codes.py:292
msgid "Returned from customer"
msgstr ""
-#: InvenTree/status_codes.py:297
+#: InvenTree/status_codes.py:294
msgid "Build order output created"
msgstr ""
-#: InvenTree/status_codes.py:298
+#: InvenTree/status_codes.py:295
msgid "Build order output completed"
msgstr ""
-#: InvenTree/status_codes.py:300
+#: InvenTree/status_codes.py:297
msgid "Received against purchase order"
msgstr ""
-#: InvenTree/status_codes.py:315
+#: InvenTree/status_codes.py:312
msgid "Production"
msgstr ""
-#: InvenTree/validators.py:22
+#: InvenTree/validators.py:23
msgid "Not a valid currency code"
msgstr ""
-#: InvenTree/validators.py:50
+#: InvenTree/validators.py:51
msgid "Invalid character in part name"
msgstr ""
-#: InvenTree/validators.py:63
+#: InvenTree/validators.py:64
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr ""
-#: InvenTree/validators.py:77 InvenTree/validators.py:91
-#: InvenTree/validators.py:105
+#: InvenTree/validators.py:78 InvenTree/validators.py:92
+#: InvenTree/validators.py:106
#, python-brace-format
msgid "Reference must match pattern {pattern}"
msgstr ""
-#: InvenTree/validators.py:113
+#: InvenTree/validators.py:114
#, python-brace-format
msgid "Illegal character in name ({x})"
msgstr ""
-#: InvenTree/validators.py:132 InvenTree/validators.py:148
+#: InvenTree/validators.py:133 InvenTree/validators.py:149
msgid "Overage value must not be negative"
msgstr ""
-#: InvenTree/validators.py:150
+#: InvenTree/validators.py:151
msgid "Overage must not exceed 100%"
msgstr ""
-#: InvenTree/validators.py:157
+#: InvenTree/validators.py:158
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:616
+#: InvenTree/views.py:536
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:665
+#: InvenTree/views.py:585
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:710
+#: InvenTree/views.py:630
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:954 templates/navbar.html:97
+#: InvenTree/views.py:863 templates/navbar.html:101
msgid "System Information"
msgstr ""
@@ -535,599 +541,566 @@ msgstr ""
msgid "Barcode associated with StockItem"
msgstr ""
-#: build/api.py:213
-msgid "Matching build order does not exist"
-msgstr ""
-
-#: build/forms.py:37
-msgid "Build Order reference"
-msgstr ""
-
-#: build/forms.py:38
-msgid "Order target date"
-msgstr ""
-
-#: build/forms.py:42 build/templates/build/build_base.html:146
-#: build/templates/build/detail.html:124
-#: order/templates/order/order_base.html:124
-#: order/templates/order/sales_order_base.html:124
-#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689
-#: templates/js/translated/order.js:1074
-msgid "Target Date"
-msgstr ""
-
-#: build/forms.py:43 build/models.py:279
-msgid "Target date for build completion. Build will be overdue after this date."
-msgstr ""
-
-#: build/forms.py:48 build/forms.py:90 build/models.py:1281
-#: build/templates/build/allocation_card.html:23
-#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:1087
-#: company/forms.py:42 company/templates/company/supplier_part.html:226
-#: order/forms.py:101 order/forms.py:123 order/models.py:720
-#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249
-#: part/forms.py:265 part/forms.py:281 part/models.py:2377
+#: build/forms.py:36 build/models.py:1283
+#: build/templates/build/build_base.html:124
+#: build/templates/build/detail.html:35 common/models.py:1225
+#: company/forms.py:42 company/templates/company/supplier_part.html:251
+#: order/forms.py:102 order/models.py:729 order/models.py:991
+#: order/templates/order/order_wizard/match_parts.html:30
+#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237
+#: part/forms.py:253 part/forms.py:269 part/models.py:2576
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030
+#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
-#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:140 stock/templates/stock/item_base.html:269
-#: stock/templates/stock/stock_adjust.html:18
-#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264
-#: templates/js/translated/build.js:314 templates/js/translated/build.js:638
-#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515
-#: templates/js/translated/model_renderers.js:74
-#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170
-#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444
-#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487
-#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654
-#: templates/js/translated/stock.js:1829
+#: report/templates/report/inventree_test_report_base.html:81
+#: report/templates/report/inventree_test_report_base.html:139
+#: stock/forms.py:156 stock/serializers.py:286
+#: stock/templates/stock/item_base.html:256
+#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441
+#: templates/js/translated/build.js:235 templates/js/translated/build.js:435
+#: templates/js/translated/build.js:629 templates/js/translated/build.js:639
+#: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362
+#: templates/js/translated/model_renderers.js:99
+#: templates/js/translated/order.js:870 templates/js/translated/order.js:1183
+#: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268
+#: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457
+#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626
+#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347
+#: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141
msgid "Quantity"
msgstr ""
-#: build/forms.py:49
-msgid "Number of items to build"
-msgstr ""
-
-#: build/forms.py:91
+#: build/forms.py:37
msgid "Enter quantity for build output"
msgstr ""
-#: build/forms.py:95 order/forms.py:95 stock/forms.py:83
+#: build/forms.py:41 order/forms.py:96 stock/forms.py:95
+#: stock/serializers.py:307 templates/js/translated/stock.js:194
+#: templates/js/translated/stock.js:348
msgid "Serial Numbers"
msgstr ""
-#: build/forms.py:97
+#: build/forms.py:43
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/forms.py:103
+#: build/forms.py:49
msgid "Confirm creation of build output"
msgstr ""
-#: build/forms.py:124
+#: build/forms.py:70
msgid "Confirm deletion of build output"
msgstr ""
-#: build/forms.py:145
-msgid "Confirm unallocation of stock"
-msgstr ""
-
-#: build/forms.py:174
+#: build/forms.py:94
msgid "Mark build as complete"
msgstr ""
-#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284
-#: stock/forms.py:280 stock/serializers.py:553
-#: stock/templates/stock/item_base.html:299
-#: stock/templates/stock/stock_adjust.html:17
-#: templates/js/translated/barcode.js:385
-#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299
-#: templates/js/translated/build.js:650 templates/js/translated/order.js:347
-#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263
-#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179
-#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921
-#: templates/js/translated/stock.js:1546
-msgid "Location"
-msgstr ""
-
-#: build/forms.py:199
-msgid "Location of completed parts"
-msgstr ""
-
-#: build/forms.py:203 build/templates/build/build_base.html:138
-#: build/templates/build/detail.html:62 order/models.py:563
-#: order/serializers.py:238 stock/templates/stock/item_base.html:422
-#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251
-#: templates/js/translated/order.js:430 templates/js/translated/order.js:676
-#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896
-#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845
-msgid "Status"
-msgstr ""
-
-#: build/forms.py:204
-msgid "Build output stock status"
-msgstr ""
-
-#: build/forms.py:211
-msgid "Confirm incomplete"
-msgstr ""
-
-#: build/forms.py:212
-msgid "Confirm completion with incomplete stock allocation"
-msgstr ""
-
-#: build/forms.py:215
-msgid "Confirm build completion"
-msgstr ""
-
-#: build/forms.py:240
+#: build/forms.py:107
msgid "Confirm cancel"
msgstr ""
-#: build/forms.py:240 build/views.py:65
+#: build/forms.py:107 build/views.py:65
msgid "Confirm build cancellation"
msgstr ""
-#: build/models.py:115
+#: build/models.py:133
msgid "Invalid choice for parent build"
msgstr ""
-#: build/models.py:119 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:73
+#: build/models.py:137 build/templates/build/build_base.html:9
+#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:276
+#: templates/js/translated/build.js:397
msgid "Build Order"
msgstr ""
-#: build/models.py:120 build/templates/build/index.html:8
-#: build/templates/build/index.html:15
-#: order/templates/order/sales_order_detail.html:34
-#: order/templates/order/so_navbar.html:19
-#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50
-#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229
-#: templates/InvenTree/search.html:171
-#: templates/InvenTree/settings/navbar.html:113
-#: templates/InvenTree/settings/navbar.html:115 users/models.py:44
+#: build/models.py:138 build/templates/build/build_base.html:13
+#: build/templates/build/index.html:8 build/templates/build/index.html:12
+#: order/templates/order/sales_order_detail.html:42
+#: templates/InvenTree/index.html:221 templates/InvenTree/search.html:145
+#: users/models.py:44
msgid "Build Orders"
msgstr ""
-#: build/models.py:180
+#: build/models.py:198
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:181 order/models.py:246 order/models.py:547
-#: order/models.py:727 part/models.py:2386
+#: build/models.py:199 order/models.py:249 order/models.py:556
+#: order/models.py:736 part/models.py:2585
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734
-#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863
-#: templates/js/translated/order.js:1438
+#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119
+#: templates/js/translated/order.js:864 templates/js/translated/order.js:1451
msgid "Reference"
msgstr ""
-#: build/models.py:192
+#: build/models.py:210
msgid "Brief description of the build"
msgstr ""
-#: build/models.py:201 build/templates/build/build_base.html:163
-#: build/templates/build/detail.html:80
+#: build/models.py:219 build/templates/build/build_base.html:156
+#: build/templates/build/detail.html:88
msgid "Parent Build"
msgstr ""
-#: build/models.py:202
+#: build/models.py:220
msgid "BuildOrder to which this build is allocated"
msgstr ""
-#: build/models.py:207 build/templates/build/build_base.html:128
-#: build/templates/build/detail.html:29 company/models.py:705
-#: order/models.py:780 order/models.py:851
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298
-#: part/models.py:2000 part/models.py:2016 part/models.py:2035
-#: part/models.py:2053 part/models.py:2132 part/models.py:2254
-#: part/models.py:2361 part/templates/part/detail.html:199
+#: build/models.py:225 build/templates/build/build_base.html:119
+#: build/templates/build/detail.html:30 company/models.py:705
+#: order/models.py:789 order/models.py:860
+#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357
+#: part/models.py:2151 part/models.py:2167 part/models.py:2186
+#: part/models.py:2203 part/models.py:2305 part/models.py:2427
+#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
-#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384
-#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611
-#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222
-#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488
-#: templates/js/translated/company.js:745 templates/js/translated/order.js:425
-#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422
-#: templates/js/translated/part.js:705 templates/js/translated/part.js:875
-#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776
-#: templates/js/translated/stock.js:1817
+#: templates/InvenTree/search.html:86
+#: templates/email/build_order_required_stock.html:17
+#: templates/email/low_stock_notification.html:16
+#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213
+#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620
+#: templates/js/translated/build.js:988 templates/js/translated/build.js:1359
+#: templates/js/translated/build.js:1626 templates/js/translated/company.js:488
+#: templates/js/translated/company.js:745 templates/js/translated/order.js:426
+#: templates/js/translated/order.js:818 templates/js/translated/order.js:1435
+#: templates/js/translated/part.js:726 templates/js/translated/part.js:892
+#: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:2129
msgid "Part"
msgstr ""
-#: build/models.py:215
+#: build/models.py:233
msgid "Select part to build"
msgstr ""
-#: build/models.py:220
+#: build/models.py:238
msgid "Sales Order Reference"
msgstr ""
-#: build/models.py:224
+#: build/models.py:242
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:229 templates/js/translated/build.js:962
+#: build/models.py:247 templates/js/translated/build.js:1347
msgid "Source Location"
msgstr ""
-#: build/models.py:233
+#: build/models.py:251
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr ""
-#: build/models.py:238
+#: build/models.py:256
msgid "Destination Location"
msgstr ""
-#: build/models.py:242
+#: build/models.py:260
msgid "Select location where the completed items will be stored"
msgstr ""
-#: build/models.py:246
+#: build/models.py:264
msgid "Build Quantity"
msgstr ""
-#: build/models.py:249
+#: build/models.py:267
msgid "Number of stock items to build"
msgstr ""
-#: build/models.py:253
+#: build/models.py:271
msgid "Completed items"
msgstr ""
-#: build/models.py:255
+#: build/models.py:273
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:259 part/templates/part/part_base.html:198
+#: build/models.py:277 part/templates/part/part_base.html:216
msgid "Build Status"
msgstr ""
-#: build/models.py:263
+#: build/models.py:281
msgid "Build status code"
msgstr ""
-#: build/models.py:267 stock/models.py:513
+#: build/models.py:285 stock/models.py:544
msgid "Batch Code"
msgstr ""
-#: build/models.py:271
+#: build/models.py:289
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:274 order/models.py:162 part/models.py:854
-#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069
+#: build/models.py:292 order/models.py:165 part/models.py:936
+#: part/templates/part/detail.html:86 templates/js/translated/order.js:1082
msgid "Creation Date"
msgstr ""
-#: build/models.py:278 order/models.py:569
+#: build/models.py:296 order/models.py:578
msgid "Target completion date"
msgstr ""
-#: build/models.py:282 order/models.py:288
-#: templates/js/translated/build.js:1293
+#: build/models.py:297
+msgid "Target date for build completion. Build will be overdue after this date."
+msgstr ""
+
+#: build/models.py:300 order/models.py:291
+#: templates/js/translated/build.js:1697
msgid "Completion Date"
msgstr ""
-#: build/models.py:288
+#: build/models.py:306
msgid "completed by"
msgstr ""
-#: build/models.py:296 templates/js/translated/build.js:1264
+#: build/models.py:314 templates/js/translated/build.js:1668
msgid "Issued by"
msgstr ""
-#: build/models.py:297
+#: build/models.py:315
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:305 build/templates/build/build_base.html:184
-#: build/templates/build/detail.html:108 order/models.py:176
-#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:145 part/models.py:858
+#: build/models.py:323 build/templates/build/build_base.html:177
+#: build/templates/build/detail.html:116 order/models.py:179
+#: order/templates/order/order_base.html:154
+#: order/templates/order/sales_order_base.html:161 part/models.py:940
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1680
msgid "Responsible"
msgstr ""
-#: build/models.py:306
+#: build/models.py:324
msgid "User responsible for this build order"
msgstr ""
-#: build/models.py:311 build/templates/build/detail.html:94
-#: company/templates/company/manufacturer_part.html:83
-#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:266 stock/models.py:507
-#: stock/templates/stock/item_base.html:359
+#: build/models.py:329 build/templates/build/detail.html:102
+#: company/templates/company/manufacturer_part.html:87
+#: company/templates/company/supplier_part.html:88
+#: part/templates/part/detail.html:80 stock/models.py:538
+#: stock/templates/stock/item_base.html:346
msgid "External Link"
msgstr ""
-#: build/models.py:312 part/models.py:716 stock/models.py:509
+#: build/models.py:330 part/models.py:798 stock/models.py:540
msgid "Link to external URL"
msgstr ""
-#: build/models.py:316 build/templates/build/navbar.html:52
-#: company/models.py:142 company/models.py:577
-#: company/templates/company/navbar.html:69
-#: company/templates/company/navbar.html:72 order/models.py:180
-#: order/models.py:729 order/templates/order/po_navbar.html:38
-#: order/templates/order/po_navbar.html:41
-#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:843
-#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120
-#: part/templates/part/navbar.html:123
+#: build/models.py:334 build/serializers.py:201 company/models.py:142
+#: company/models.py:577 order/models.py:183 order/models.py:738
+#: part/models.py:925 part/templates/part/detail.html:223
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579
-#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451
-#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59
-#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841
-#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540
-#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040
+#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610
+#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325
+#: stock/serializers.py:584 templates/js/translated/barcode.js:58
+#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841
+#: templates/js/translated/order.js:963 templates/js/translated/order.js:1561
+#: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340
msgid "Notes"
msgstr ""
-#: build/models.py:317
+#: build/models.py:335
msgid "Extra build notes"
msgstr ""
-#: build/models.py:714
+#: build/models.py:710
msgid "No build output specified"
msgstr ""
-#: build/models.py:717
+#: build/models.py:713
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:720
+#: build/models.py:716
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1102
+#: build/models.py:1108
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1111
+#: build/models.py:1117
#, python-brace-format
msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1121
+#: build/models.py:1127
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1127 order/models.py:955
+#: build/models.py:1133 order/models.py:964
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1133
+#: build/models.py:1139
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1191
+#: build/models.py:1193
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1251 stock/templates/stock/item_base.html:331
-#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195
-#: templates/navbar.html:35
+#: build/models.py:1253 stock/templates/stock/item_base.html:318
+#: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599
+#: templates/navbar.html:33
msgid "Build"
msgstr ""
-#: build/models.py:1252
+#: build/models.py:1254
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1268 build/serializers.py:151
+#: build/models.py:1270 build/serializers.py:328
#: stock/templates/stock/item_base.html:8
-#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:353
-#: stock/templates/stock/stock_adjust.html:16
-#: templates/js/translated/build.js:287 templates/js/translated/build.js:292
-#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148
-#: templates/js/translated/stock.js:1605
+#: stock/templates/stock/item_base.html:16
+#: stock/templates/stock/item_base.html:340
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:413
+#: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742
+#: templates/js/translated/order.js:1156 templates/js/translated/order.js:1161
+#: templates/js/translated/stock.js:1990
msgid "Stock Item"
msgstr ""
-#: build/models.py:1269
+#: build/models.py:1271
msgid "Source stock item"
msgstr ""
-#: build/models.py:1282
+#: build/models.py:1284
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1290
+#: build/models.py:1292
msgid "Install into"
msgstr ""
-#: build/models.py:1291
+#: build/models.py:1293
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:133 part/models.py:2501
-msgid "BOM Item"
-msgstr ""
-
-#: build/serializers.py:142
-msgid "bom_item.part must point to the same part as the build order"
-msgstr ""
-
-#: build/serializers.py:157
-msgid "Item must be in stock"
-msgstr ""
-
-#: build/serializers.py:171 order/models.py:313 order/serializers.py:231
-#: stock/models.py:351 stock/models.py:1072
-msgid "Quantity must be greater than zero"
-msgstr ""
-
-#: build/serializers.py:180
+#: build/serializers.py:137 build/serializers.py:357
msgid "Build Output"
msgstr ""
+#: build/serializers.py:146
+msgid "Build output does not match the parent build"
+msgstr ""
+
+#: build/serializers.py:150
+msgid "Output part does not match BuildOrder part"
+msgstr ""
+
+#: build/serializers.py:154
+msgid "This build output has already been completed"
+msgstr ""
+
+#: build/serializers.py:158
+msgid "This build output is not fully allocated"
+msgstr ""
+
+#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285
+#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686
+#: stock/templates/stock/item_base.html:286
+#: templates/js/translated/barcode.js:384
+#: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420
+#: templates/js/translated/build.js:1027 templates/js/translated/order.js:348
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1276
+#: templates/js/translated/order.js:1282 templates/js/translated/part.js:180
+#: templates/js/translated/stock.js:480 templates/js/translated/stock.js:1221
+#: templates/js/translated/stock.js:1931
+msgid "Location"
+msgstr ""
+
+#: build/serializers.py:191
+msgid "Location for completed build outputs"
+msgstr ""
+
+#: build/serializers.py:197 build/templates/build/build_base.html:129
+#: build/templates/build/detail.html:63 order/models.py:572
+#: order/serializers.py:238 stock/templates/stock/item_base.html:409
+#: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655
+#: templates/js/translated/order.js:431 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196
+#: templates/js/translated/stock.js:2008 templates/js/translated/stock.js:2157
+msgid "Status"
+msgstr ""
+
#: build/serializers.py:213
+msgid "A list of build outputs must be provided"
+msgstr ""
+
+#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700
+#: part/models.py:2859
+msgid "BOM Item"
+msgstr ""
+
+#: build/serializers.py:269
+msgid "Build output"
+msgstr ""
+
+#: build/serializers.py:278
+msgid "Build output must point to the same build"
+msgstr ""
+
+#: build/serializers.py:319
+msgid "bom_item.part must point to the same part as the build order"
+msgstr ""
+
+#: build/serializers.py:334
+msgid "Item must be in stock"
+msgstr ""
+
+#: build/serializers.py:348 order/models.py:316 order/serializers.py:231
+#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298
+msgid "Quantity must be greater than zero"
+msgstr ""
+
+#: build/serializers.py:390
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:219
+#: build/serializers.py:396
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:226
+#: build/serializers.py:403
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:254
+#: build/serializers.py:431
msgid "Allocation items must be provided"
msgstr ""
-#: build/templates/build/allocation_card.html:21
-#: build/templates/build/complete_output.html:46
-#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:501 stock/templates/stock/item_base.html:251
-#: templates/js/translated/build.js:636
-#: templates/js/translated/model_renderers.js:72
-#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342
-msgid "Serial Number"
+#: build/tasks.py:92
+msgid "Stock required for build order"
msgstr ""
-#: build/templates/build/build_base.html:18
+#: build/templates/build/build_base.html:39
+#: order/templates/order/order_base.html:28
+#: order/templates/order/sales_order_base.html:38
+msgid "Print actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:43
+msgid "Print build order report"
+msgstr ""
+
+#: build/templates/build/build_base.html:50
+msgid "Build actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:54
+msgid "Edit Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:56
+#: build/templates/build/build_base.html:207 build/views.py:56
+msgid "Cancel Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:59
+msgid "Delete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:64
+#: build/templates/build/build_base.html:65
+#: build/templates/build/build_base.html:223
+msgid "Complete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:79
#, python-format
msgid "This Build Order is allocated to Sales Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:25
+#: build/templates/build/build_base.html:86
#, python-format
msgid "This Build Order is a child of Build Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:32
+#: build/templates/build/build_base.html:93
msgid "Build Order is ready to mark as completed"
msgstr ""
-#: build/templates/build/build_base.html:37
+#: build/templates/build/build_base.html:98
msgid "Build Order cannot be completed as outstanding outputs remain"
msgstr ""
-#: build/templates/build/build_base.html:42
+#: build/templates/build/build_base.html:103
msgid "Required build quantity has not yet been completed"
msgstr ""
-#: build/templates/build/build_base.html:47
+#: build/templates/build/build_base.html:108
msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
-#: build/templates/build/build_base.html:75
-#: company/templates/company/company_base.html:40
-#: company/templates/company/manufacturer_part.html:29
-#: company/templates/company/supplier_part.html:30
-#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:30
-#: stock/templates/stock/item_base.html:62
-#: stock/templates/stock/location.html:31
-msgid "Admin view"
+#: build/templates/build/build_base.html:138
+#: build/templates/build/detail.html:132
+#: order/templates/order/order_base.html:140
+#: order/templates/order/sales_order_base.html:140
+#: report/templates/report/inventree_build_order_base.html:126
+#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690
+#: templates/js/translated/order.js:1087
+msgid "Target Date"
msgstr ""
-#: build/templates/build/build_base.html:81
-#: build/templates/build/build_base.html:150
-#: order/templates/order/order_base.html:32
-#: order/templates/order/order_base.html:86
-#: order/templates/order/sales_order_base.html:43
-#: order/templates/order/sales_order_base.html:93
-#: templates/js/translated/table_filters.js:272
-#: templates/js/translated/table_filters.js:300
-#: templates/js/translated/table_filters.js:317
-msgid "Overdue"
-msgstr ""
-
-#: build/templates/build/build_base.html:90
-msgid "Print actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:94
-msgid "Print Build Order"
-msgstr ""
-
-#: build/templates/build/build_base.html:100
-#: build/templates/build/build_base.html:222
-msgid "Complete Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:105
-msgid "Build actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:109
-msgid "Edit Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:111
-#: build/templates/build/build_base.html:206 build/views.py:56
-msgid "Cancel Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:114
-msgid "Delete Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:124
-#: build/templates/build/detail.html:15
-msgid "Build Details"
-msgstr ""
-
-#: build/templates/build/build_base.html:150
+#: build/templates/build/build_base.html:143
#, python-format
msgid "This build was due on %(target)s"
msgstr ""
-#: build/templates/build/build_base.html:157
-#: build/templates/build/detail.html:67
-msgid "Progress"
+#: build/templates/build/build_base.html:143
+#: build/templates/build/build_base.html:188
+#: order/templates/order/order_base.html:81
+#: order/templates/order/order_base.html:102
+#: order/templates/order/sales_order_base.html:78
+#: order/templates/order/sales_order_base.html:107
+#: templates/js/translated/table_filters.js:288
+#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:333
+msgid "Overdue"
msgstr ""
-#: build/templates/build/build_base.html:170
-#: build/templates/build/detail.html:87 order/models.py:848
+#: build/templates/build/build_base.html:150
+#: build/templates/build/detail.html:68 build/templates/build/detail.html:143
+#: templates/js/translated/build.js:1641
+#: templates/js/translated/table_filters.js:298
+msgid "Completed"
+msgstr ""
+
+#: build/templates/build/build_base.html:163
+#: build/templates/build/detail.html:95 order/models.py:857
#: order/templates/order/sales_order_base.html:9
-#: order/templates/order/sales_order_base.html:35
+#: order/templates/order/sales_order_base.html:28
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:293
-#: templates/js/translated/order.js:1016
+#: stock/templates/stock/item_base.html:280
+#: templates/js/translated/order.js:1029
msgid "Sales Order"
msgstr ""
-#: build/templates/build/build_base.html:177
-#: build/templates/build/detail.html:101
+#: build/templates/build/build_base.html:170
+#: build/templates/build/detail.html:109
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:214
+#: build/templates/build/build_base.html:215
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:215
+#: build/templates/build/build_base.html:216
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
@@ -1175,220 +1148,195 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/templates/build/complete_output.html:10
-msgid "Stock allocation is complete for this output"
+#: build/templates/build/detail.html:16
+msgid "Build Details"
msgstr ""
-#: build/templates/build/complete_output.html:14
-msgid "Stock allocation is incomplete"
-msgstr ""
-
-#: build/templates/build/complete_output.html:20
-msgid "tracked parts have not been fully allocated"
-msgstr ""
-
-#: build/templates/build/complete_output.html:41
-msgid "The following items will be created"
-msgstr ""
-
-#: build/templates/build/detail.html:38
+#: build/templates/build/detail.html:39
msgid "Stock Source"
msgstr ""
-#: build/templates/build/detail.html:43
+#: build/templates/build/detail.html:44
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134
-#: templates/js/translated/order.js:431 templates/js/translated/order.js:939
+#: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150
+#: templates/js/translated/order.js:432 templates/js/translated/order.js:952
msgid "Destination"
msgstr ""
-#: build/templates/build/detail.html:56
+#: build/templates/build/detail.html:57
msgid "Destination location not specified"
msgstr ""
-#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:317
-#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852
-#: templates/js/translated/table_filters.js:129
-#: templates/js/translated/table_filters.js:211
+#: build/templates/build/detail.html:74 templates/js/translated/build.js:647
+msgid "Allocated Parts"
+msgstr ""
+
+#: build/templates/build/detail.html:81
+#: stock/templates/stock/item_base.html:304
+#: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164
+#: templates/js/translated/table_filters.js:145
+#: templates/js/translated/table_filters.js:227
msgid "Batch"
msgstr ""
-#: build/templates/build/detail.html:119
-#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:118
-#: templates/js/translated/build.js:1259
+#: build/templates/build/detail.html:127
+#: order/templates/order/order_base.html:127
+#: order/templates/order/sales_order_base.html:134
+#: templates/js/translated/build.js:1663
msgid "Created"
msgstr ""
-#: build/templates/build/detail.html:130
+#: build/templates/build/detail.html:138
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237
-#: templates/js/translated/table_filters.js:282
-msgid "Completed"
-msgstr ""
-
-#: build/templates/build/detail.html:139
+#: build/templates/build/detail.html:147
msgid "Build not complete"
msgstr ""
-#: build/templates/build/detail.html:150 build/templates/build/navbar.html:35
+#: build/templates/build/detail.html:158
msgid "Child Build Orders"
msgstr ""
-#: build/templates/build/detail.html:166
+#: build/templates/build/detail.html:173
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:172
-msgid "Allocate stock to build"
-msgstr ""
-
-#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20
-#: build/templates/build/navbar.html:23
-msgid "Allocate Stock"
-msgstr ""
-
-#: build/templates/build/detail.html:175 templates/js/translated/build.js:817
+#: build/templates/build/detail.html:177 templates/js/translated/build.js:1202
msgid "Unallocate stock"
msgstr ""
-#: build/templates/build/detail.html:176 build/views.py:257
+#: build/templates/build/detail.html:178
msgid "Unallocate Stock"
msgstr ""
-#: build/templates/build/detail.html:179
+#: build/templates/build/detail.html:180
+msgid "Allocate stock to build"
+msgstr ""
+
+#: build/templates/build/detail.html:181
+msgid "Allocate Stock"
+msgstr ""
+
+#: build/templates/build/detail.html:184
msgid "Order required parts"
msgstr ""
-#: build/templates/build/detail.html:180
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72 order/views.py:509
-#: part/templates/part/category.html:140
+#: build/templates/build/detail.html:185
+#: company/templates/company/detail.html:38
+#: company/templates/company/detail.html:85 order/views.py:509
+#: part/templates/part/category.html:166
msgid "Order Parts"
msgstr ""
-#: build/templates/build/detail.html:186
+#: build/templates/build/detail.html:197
msgid "Untracked stock has been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:190
+#: build/templates/build/detail.html:201
msgid "Untracked stock has not been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:197
+#: build/templates/build/detail.html:208
msgid "Allocate selected items"
msgstr ""
-#: build/templates/build/detail.html:209
+#: build/templates/build/detail.html:218
msgid "This Build Order does not have any associated untracked BOM items"
msgstr ""
-#: build/templates/build/detail.html:218
+#: build/templates/build/detail.html:227
msgid "Incomplete Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:223
+#: build/templates/build/detail.html:231
msgid "Create new build output"
msgstr ""
-#: build/templates/build/detail.html:224
-msgid "Create New Output"
+#: build/templates/build/detail.html:232
+msgid "New Build Output"
msgstr ""
-#: build/templates/build/detail.html:237
-msgid "Create a new build output"
+#: build/templates/build/detail.html:246
+msgid "Output Actions"
msgstr ""
-#: build/templates/build/detail.html:238
-msgid "No incomplete build outputs remain."
+#: build/templates/build/detail.html:250
+msgid "Complete selected items"
msgstr ""
-#: build/templates/build/detail.html:239
-msgid "Create a new build output using the button above"
+#: build/templates/build/detail.html:251
+msgid "Complete outputs"
msgstr ""
-#: build/templates/build/detail.html:247
+#: build/templates/build/detail.html:266
msgid "Completed Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42
-#: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35
-#: order/templates/order/sales_order_detail.html:43
-#: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173
-#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117
-#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47
-#: stock/templates/stock/navbar.html:50
+#: build/templates/build/detail.html:278
+#: order/templates/order/purchase_order_detail.html:60
+#: order/templates/order/sales_order_detail.html:52
+#: part/templates/part/detail.html:300 stock/templates/stock/item.html:95
msgid "Attachments"
msgstr ""
-#: build/templates/build/detail.html:269
+#: build/templates/build/detail.html:294
msgid "Build Notes"
msgstr ""
-#: build/templates/build/detail.html:273 build/templates/build/detail.html:414
-#: company/templates/company/detail.html:169
-#: company/templates/company/detail.html:196
-#: order/templates/order/purchase_order_detail.html:71
-#: order/templates/order/purchase_order_detail.html:104
-#: order/templates/order/sales_order_detail.html:58
-#: order/templates/order/sales_order_detail.html:85
-#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103
-#: stock/templates/stock/item.html:188
+#: build/templates/build/detail.html:298 build/templates/build/detail.html:489
+#: company/templates/company/detail.html:188
+#: company/templates/company/detail.html:215
+#: order/templates/order/purchase_order_detail.html:80
+#: order/templates/order/purchase_order_detail.html:108
+#: order/templates/order/sales_order_detail.html:72
+#: order/templates/order/sales_order_detail.html:99
+#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115
+#: stock/templates/stock/item.html:205
msgid "Edit Notes"
msgstr ""
-#: build/templates/build/detail.html:373
-#: order/templates/order/po_attachments.html:79
-#: order/templates/order/purchase_order_detail.html:166
-#: order/templates/order/sales_order_detail.html:146
-#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253
-#: templates/attachment_table.html:6
+#: build/templates/build/detail.html:448
+#: order/templates/order/purchase_order_detail.html:170
+#: order/templates/order/sales_order_detail.html:160
+#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270
+#: templates/attachment_button.html:4
msgid "Add Attachment"
msgstr ""
-#: build/templates/build/detail.html:392
-#: order/templates/order/po_attachments.html:51
-#: order/templates/order/purchase_order_detail.html:138
-#: order/templates/order/sales_order_detail.html:119
-#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221
+#: build/templates/build/detail.html:467
+#: order/templates/order/purchase_order_detail.html:142
+#: order/templates/order/sales_order_detail.html:133
+#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238
msgid "Edit Attachment"
msgstr ""
-#: build/templates/build/detail.html:399
-#: order/templates/order/po_attachments.html:58
-#: order/templates/order/purchase_order_detail.html:145
-#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230
-#: templates/js/translated/order.js:1230
+#: build/templates/build/detail.html:474
+#: order/templates/order/purchase_order_detail.html:149
+#: order/templates/order/sales_order_detail.html:139
+#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247
+#: templates/js/translated/order.js:1243
msgid "Confirm Delete Operation"
msgstr ""
-#: build/templates/build/detail.html:400
-#: order/templates/order/po_attachments.html:59
-#: order/templates/order/purchase_order_detail.html:146
-#: order/templates/order/sales_order_detail.html:126
-#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231
+#: build/templates/build/detail.html:475
+#: order/templates/order/purchase_order_detail.html:150
+#: order/templates/order/sales_order_detail.html:140
+#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248
msgid "Delete Attachment"
msgstr ""
-#: build/templates/build/detail.html:443
+#: build/templates/build/detail.html:513
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:444
+#: build/templates/build/detail.html:514
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/edit_build_item.html:7
-msgid "Alter the quantity of stock allocated to the build output"
-msgstr ""
-
-#: build/templates/build/index.html:28
+#: build/templates/build/index.html:18 part/templates/part/detail.html:433
msgid "New Build Order"
msgstr ""
@@ -1396,47 +1344,18 @@ msgstr ""
msgid "Print Build Orders"
msgstr ""
-#: build/templates/build/index.html:43
-#: order/templates/order/purchase_orders.html:27
-#: order/templates/order/sales_orders.html:27
+#: build/templates/build/index.html:44
+#: order/templates/order/purchase_orders.html:34
+#: order/templates/order/sales_orders.html:37
msgid "Display calendar view"
msgstr ""
-#: build/templates/build/index.html:46
-#: order/templates/order/purchase_orders.html:30
-#: order/templates/order/sales_orders.html:30
+#: build/templates/build/index.html:47
+#: order/templates/order/purchase_orders.html:37
+#: order/templates/order/sales_orders.html:40
msgid "Display list view"
msgstr ""
-#: build/templates/build/navbar.html:12
-msgid "Build Order Details"
-msgstr ""
-
-#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/translated/stock.js:1534
-msgid "Details"
-msgstr ""
-
-#: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31
-msgid "Build Outputs"
-msgstr ""
-
-#: build/templates/build/navbar.html:38
-msgid "Child Builds"
-msgstr ""
-
-#: build/templates/build/navbar.html:49
-msgid "Build Order Notes"
-msgstr ""
-
-#: build/templates/build/unallocate.html:10
-msgid "Are you sure you wish to unallocate all stock for this build?"
-msgstr ""
-
-#: build/templates/build/unallocate.html:12
-msgid "All incomplete stock allocations will be removed from the build"
-msgstr ""
-
#: build/views.py:76
msgid "Build was cancelled"
msgstr ""
@@ -1449,7 +1368,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:122 stock/views.py:1366
+#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290
msgid "Serial numbers already exist"
msgstr ""
@@ -1461,11 +1380,11 @@ msgstr ""
msgid "Delete Build Output"
msgstr ""
-#: build/views.py:218 build/views.py:308
+#: build/views.py:218
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:219 build/views.py:309 stock/views.py:381
+#: build/views.py:219 stock/views.py:385
msgid "Check the confirmation box"
msgstr ""
@@ -1473,7 +1392,7 @@ msgstr ""
msgid "Build output does not match build"
msgstr ""
-#: build/views.py:233 build/views.py:434
+#: build/views.py:233
msgid "Build output must be specified"
msgstr ""
@@ -1481,39 +1400,19 @@ msgstr ""
msgid "Build output deleted"
msgstr ""
-#: build/views.py:343
+#: build/views.py:261
msgid "Complete Build Order"
msgstr ""
-#: build/views.py:349
+#: build/views.py:267
msgid "Build order cannot be completed - incomplete outputs remain"
msgstr ""
-#: build/views.py:360
+#: build/views.py:278
msgid "Completed build order"
msgstr ""
-#: build/views.py:376
-msgid "Complete Build Output"
-msgstr ""
-
-#: build/views.py:418
-msgid "Invalid stock status value selected"
-msgstr ""
-
-#: build/views.py:425
-msgid "Quantity to complete cannot exceed build output quantity"
-msgstr ""
-
-#: build/views.py:431
-msgid "Confirm completion of incomplete build"
-msgstr ""
-
-#: build/views.py:530
-msgid "Build output completed"
-msgstr ""
-
-#: build/views.py:567
+#: build/views.py:319
msgid "Delete Build Order"
msgstr ""
@@ -1554,728 +1453,728 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:308 common/models.py:887 common/models.py:1048
+#: common/models.py:340 common/models.py:970 common/models.py:1178
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:310
+#: common/models.py:342
msgid "Settings value"
msgstr ""
-#: common/models.py:345
+#: common/models.py:377
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:368
+#: common/models.py:382
+msgid "Chosen value is not a valid option"
+msgstr ""
+
+#: common/models.py:405
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:379
+#: common/models.py:416
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:402
+#: common/models.py:439
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:509
+#: common/models.py:559
+msgid "No group"
+msgstr ""
+
+#: common/models.py:601
+msgid "Restart required"
+msgstr ""
+
+#: common/models.py:602
+msgid "A setting has been changed which requires a server restart"
+msgstr ""
+
+#: common/models.py:609
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:511
+#: common/models.py:611
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:515
+#: common/models.py:615
msgid "Use instance name"
msgstr ""
-#: common/models.py:516
+#: common/models.py:616
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:522 company/models.py:100 company/models.py:101
+#: common/models.py:622 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr ""
-#: common/models.py:523
+#: common/models.py:623
msgid "Internal company name"
msgstr ""
-#: common/models.py:528
+#: common/models.py:628
msgid "Base URL"
msgstr ""
-#: common/models.py:529
+#: common/models.py:629
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:535
+#: common/models.py:635
msgid "Default Currency"
msgstr ""
-#: common/models.py:536
+#: common/models.py:636
msgid "Default currency"
msgstr ""
-#: common/models.py:542
+#: common/models.py:642
msgid "Download from URL"
msgstr ""
-#: common/models.py:543
+#: common/models.py:643
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:549
+#: common/models.py:649
msgid "Barcode Support"
msgstr ""
-#: common/models.py:550
+#: common/models.py:650
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:556
+#: common/models.py:656
msgid "IPN Regex"
msgstr ""
-#: common/models.py:557
+#: common/models.py:657
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:561
+#: common/models.py:661
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:562
+#: common/models.py:662
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:568
+#: common/models.py:668
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:569
+#: common/models.py:669
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:575
+#: common/models.py:675
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:576
+#: common/models.py:676
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:582
+#: common/models.py:682
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:583
+#: common/models.py:683
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:589
+#: common/models.py:689
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:590
+#: common/models.py:690
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:596
+#: common/models.py:696
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:597
+#: common/models.py:697
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:603 part/models.py:2256 report/models.py:187
-#: stock/forms.py:224 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:351
+#: common/models.py:703 part/models.py:2429 report/models.py:187
+#: templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:367
msgid "Template"
msgstr ""
-#: common/models.py:604
+#: common/models.py:704
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:610 part/models.py:806
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:363
+#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954
+#: templates/js/translated/table_filters.js:162
+#: templates/js/translated/table_filters.js:379
msgid "Assembly"
msgstr ""
-#: common/models.py:611
+#: common/models.py:711
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:617 part/models.py:812
-#: templates/js/translated/table_filters.js:367
+#: common/models.py:717 part/models.py:894
+#: templates/js/translated/table_filters.js:383
msgid "Component"
msgstr ""
-#: common/models.py:618
+#: common/models.py:718
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:624 part/models.py:823
+#: common/models.py:724 part/models.py:905
msgid "Purchaseable"
msgstr ""
-#: common/models.py:625
+#: common/models.py:725
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:631 part/models.py:828
-#: templates/js/translated/table_filters.js:375
+#: common/models.py:731 part/models.py:910
+#: templates/js/translated/table_filters.js:391
msgid "Salable"
msgstr ""
-#: common/models.py:632
+#: common/models.py:732
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:638 part/models.py:818
+#: common/models.py:738 part/models.py:900
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:379
+#: templates/js/translated/table_filters.js:94
+#: templates/js/translated/table_filters.js:395
msgid "Trackable"
msgstr ""
-#: common/models.py:639
+#: common/models.py:739
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:645 part/models.py:838
-#: part/templates/part/part_base.html:66
+#: common/models.py:745 part/models.py:920
+#: part/templates/part/part_base.html:144
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:646
+#: common/models.py:746
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:652
+#: common/models.py:752
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:653
+#: common/models.py:753
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:659
+#: common/models.py:759
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:660
+#: common/models.py:760
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:671
+#: common/models.py:771
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:672
+#: common/models.py:772
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:678
+#: common/models.py:778
msgid "Show related parts"
msgstr ""
-#: common/models.py:679
+#: common/models.py:779
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:685
+#: common/models.py:785
msgid "Create initial stock"
msgstr ""
-#: common/models.py:686
+#: common/models.py:786
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:692
+#: common/models.py:792
msgid "Internal Prices"
msgstr ""
-#: common/models.py:693
+#: common/models.py:793
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:699
+#: common/models.py:799
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:700
+#: common/models.py:800
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:706 templates/stats.html:25
+#: common/models.py:806
+msgid "Part Name Display Format"
+msgstr ""
+
+#: common/models.py:807
+msgid "Format to display the part name"
+msgstr ""
+
+#: common/models.py:814
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:815
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:821 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:707
+#: common/models.py:822
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:713
+#: common/models.py:828
msgid "Page Size"
msgstr ""
-#: common/models.py:714
+#: common/models.py:829
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:724
+#: common/models.py:839
msgid "Test Reports"
msgstr ""
-#: common/models.py:725
+#: common/models.py:840
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:731
+#: common/models.py:846
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:732
+#: common/models.py:847
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:738
+#: common/models.py:853
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:739
+#: common/models.py:854
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:745
+#: common/models.py:860
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:746
+#: common/models.py:861
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:748
+#: common/models.py:863
msgid "days"
msgstr ""
-#: common/models.py:753
+#: common/models.py:868
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:754
+#: common/models.py:869
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:760
+#: common/models.py:875
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:761
+#: common/models.py:876
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:767
+#: common/models.py:882
msgid "Group by Part"
msgstr ""
-#: common/models.py:768
+#: common/models.py:883
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:774
+#: common/models.py:889
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:775
+#: common/models.py:890
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:780
+#: common/models.py:895
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:781
+#: common/models.py:896
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:785
+#: common/models.py:900
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:786
+#: common/models.py:901
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:791
+#: common/models.py:906
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:792
+#: common/models.py:907
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:798
-msgid "Enable build"
-msgstr ""
-
-#: common/models.py:799
-msgid "Enable build functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:804
-msgid "Enable buy"
-msgstr ""
-
-#: common/models.py:805
-msgid "Enable buy functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:810
-msgid "Enable sell"
-msgstr ""
-
-#: common/models.py:811
-msgid "Enable sell functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:816
-msgid "Enable stock"
-msgstr ""
-
-#: common/models.py:817
-msgid "Enable stock functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:822
-msgid "Enable SO"
-msgstr ""
-
-#: common/models.py:823
-msgid "Enable SO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:828
-msgid "Enable PO"
-msgstr ""
-
-#: common/models.py:829
-msgid "Enable PO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:836
+#: common/models.py:913
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:837
-msgid "Enable password forgot function on the login-pages"
+#: common/models.py:914
+msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:842
+#: common/models.py:919
msgid "Enable registration"
msgstr ""
-#: common/models.py:843
-msgid "Enable self-registration for users on the login-pages"
+#: common/models.py:920
+msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:848
+#: common/models.py:925
msgid "Enable SSO"
msgstr ""
-#: common/models.py:849
-msgid "Enable SSO on the login-pages"
+#: common/models.py:926
+msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:854
-msgid "E-Mail required"
+#: common/models.py:931
+msgid "Email required"
msgstr ""
-#: common/models.py:855
+#: common/models.py:932
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:860
+#: common/models.py:937
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:861
+#: common/models.py:938
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:943
msgid "Mail twice"
msgstr ""
-#: common/models.py:867
+#: common/models.py:944
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:872
+#: common/models.py:949
msgid "Password twice"
msgstr ""
-#: common/models.py:873
+#: common/models.py:950
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:898
-msgid "Show starred parts"
+#: common/models.py:955
+msgid "Group on signup"
msgstr ""
-#: common/models.py:899
-msgid "Show starred parts on the homepage"
+#: common/models.py:956
+msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:904
-msgid "Show latest parts"
-msgstr ""
-
-#: common/models.py:905
-msgid "Show latest parts on the homepage"
-msgstr ""
-
-#: common/models.py:910
-msgid "Recent Part Count"
-msgstr ""
-
-#: common/models.py:911
-msgid "Number of recent parts to display on index page"
-msgstr ""
-
-#: common/models.py:917
-msgid "Show unvalidated BOMs"
-msgstr ""
-
-#: common/models.py:918
-msgid "Show BOMs that await validation on the homepage"
-msgstr ""
-
-#: common/models.py:923
-msgid "Show recent stock changes"
-msgstr ""
-
-#: common/models.py:924
-msgid "Show recently changed stock items on the homepage"
-msgstr ""
-
-#: common/models.py:929
-msgid "Recent Stock Count"
-msgstr ""
-
-#: common/models.py:930
-msgid "Number of recent stock items to display on index page"
-msgstr ""
-
-#: common/models.py:935
-msgid "Show low stock"
-msgstr ""
-
-#: common/models.py:936
-msgid "Show low stock items on the homepage"
-msgstr ""
-
-#: common/models.py:941
-msgid "Show depleted stock"
-msgstr ""
-
-#: common/models.py:942
-msgid "Show depleted stock items on the homepage"
-msgstr ""
-
-#: common/models.py:947
-msgid "Show needed stock"
-msgstr ""
-
-#: common/models.py:948
-msgid "Show stock items needed for builds on the homepage"
-msgstr ""
-
-#: common/models.py:953
-msgid "Show expired stock"
-msgstr ""
-
-#: common/models.py:954
-msgid "Show expired stock items on the homepage"
-msgstr ""
-
-#: common/models.py:959
-msgid "Show stale stock"
-msgstr ""
-
-#: common/models.py:960
-msgid "Show stale stock items on the homepage"
-msgstr ""
-
-#: common/models.py:965
-msgid "Show pending builds"
-msgstr ""
-
-#: common/models.py:966
-msgid "Show pending builds on the homepage"
-msgstr ""
-
-#: common/models.py:971
-msgid "Show overdue builds"
-msgstr ""
-
-#: common/models.py:972
-msgid "Show overdue builds on the homepage"
-msgstr ""
-
-#: common/models.py:977
-msgid "Show outstanding POs"
-msgstr ""
-
-#: common/models.py:978
-msgid "Show outstanding POs on the homepage"
-msgstr ""
-
-#: common/models.py:983
-msgid "Show overdue POs"
-msgstr ""
-
-#: common/models.py:984
-msgid "Show overdue POs on the homepage"
-msgstr ""
-
-#: common/models.py:989
-msgid "Show outstanding SOs"
-msgstr ""
-
-#: common/models.py:990
-msgid "Show outstanding SOs on the homepage"
-msgstr ""
-
-#: common/models.py:995
-msgid "Show overdue SOs"
-msgstr ""
-
-#: common/models.py:996
-msgid "Show overdue SOs on the homepage"
+#: common/models.py:1001
+msgid "Show subscribed parts"
msgstr ""
#: common/models.py:1002
+msgid "Show subscribed parts on the homepage"
+msgstr ""
+
+#: common/models.py:1007
+msgid "Show subscribed categories"
+msgstr ""
+
+#: common/models.py:1008
+msgid "Show subscribed part categories on the homepage"
+msgstr ""
+
+#: common/models.py:1013
+msgid "Show latest parts"
+msgstr ""
+
+#: common/models.py:1014
+msgid "Show latest parts on the homepage"
+msgstr ""
+
+#: common/models.py:1019
+msgid "Recent Part Count"
+msgstr ""
+
+#: common/models.py:1020
+msgid "Number of recent parts to display on index page"
+msgstr ""
+
+#: common/models.py:1026
+msgid "Show unvalidated BOMs"
+msgstr ""
+
+#: common/models.py:1027
+msgid "Show BOMs that await validation on the homepage"
+msgstr ""
+
+#: common/models.py:1032
+msgid "Show recent stock changes"
+msgstr ""
+
+#: common/models.py:1033
+msgid "Show recently changed stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1038
+msgid "Recent Stock Count"
+msgstr ""
+
+#: common/models.py:1039
+msgid "Number of recent stock items to display on index page"
+msgstr ""
+
+#: common/models.py:1044
+msgid "Show low stock"
+msgstr ""
+
+#: common/models.py:1045
+msgid "Show low stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1050
+msgid "Show depleted stock"
+msgstr ""
+
+#: common/models.py:1051
+msgid "Show depleted stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1056
+msgid "Show needed stock"
+msgstr ""
+
+#: common/models.py:1057
+msgid "Show stock items needed for builds on the homepage"
+msgstr ""
+
+#: common/models.py:1062
+msgid "Show expired stock"
+msgstr ""
+
+#: common/models.py:1063
+msgid "Show expired stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1068
+msgid "Show stale stock"
+msgstr ""
+
+#: common/models.py:1069
+msgid "Show stale stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1074
+msgid "Show pending builds"
+msgstr ""
+
+#: common/models.py:1075
+msgid "Show pending builds on the homepage"
+msgstr ""
+
+#: common/models.py:1080
+msgid "Show overdue builds"
+msgstr ""
+
+#: common/models.py:1081
+msgid "Show overdue builds on the homepage"
+msgstr ""
+
+#: common/models.py:1086
+msgid "Show outstanding POs"
+msgstr ""
+
+#: common/models.py:1087
+msgid "Show outstanding POs on the homepage"
+msgstr ""
+
+#: common/models.py:1092
+msgid "Show overdue POs"
+msgstr ""
+
+#: common/models.py:1093
+msgid "Show overdue POs on the homepage"
+msgstr ""
+
+#: common/models.py:1098
+msgid "Show outstanding SOs"
+msgstr ""
+
+#: common/models.py:1099
+msgid "Show outstanding SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Show overdue SOs"
+msgstr ""
+
+#: common/models.py:1105
+msgid "Show overdue SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1111
msgid "Inline label display"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1112
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1118
msgid "Inline report display"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1119
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1125
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1126
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:1023
+#: common/models.py:1132
+msgid "Search Show Stock"
+msgstr ""
+
+#: common/models.py:1133
+msgid "Display stock levels in search preview window"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Hide Inactive Parts"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Hide inactive parts in search preview window"
+msgstr ""
+
+#: common/models.py:1146
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1024
+#: common/models.py:1147
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1153
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1154
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1088 company/forms.py:43
+#: common/models.py:1160
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1161
+msgid "InvenTree navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1226 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1095 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1369
+#: common/models.py:1233 company/serializers.py:264
+#: company/templates/company/supplier_part.html:256
+#: templates/js/translated/part.js:1508
msgid "Price"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1234
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1189
-msgid "Default"
-msgstr ""
-
-#: common/templates/common/edit_setting.html:11
-msgid "Current value"
-msgstr ""
-
-#: common/views.py:33
-msgid "Change Setting"
-msgstr ""
-
-#: common/views.py:119
-msgid "Supplied value is not allowed"
-msgstr ""
-
-#: common/views.py:128
-msgid "Supplied value must be a boolean"
-msgstr ""
-
-#: common/views.py:138
-msgid "Change User Setting"
-msgstr ""
-
-#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42
-#: order/templates/order/po_navbar.html:19
-#: order/templates/order/po_navbar.html:22
-#: order/templates/order/purchase_order_detail.html:27 order/views.py:289
-#: part/templates/part/bom_upload/upload_file.html:65
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
-#: part/views.py:882
+#: common/views.py:93 order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:289
+#: part/templates/part/bom_upload/upload_file.html:51
+#: part/templates/part/import_wizard/part_upload.html:46 part/views.py:281
+#: part/views.py:923
msgid "Upload File"
msgstr ""
-#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
+#: common/views.py:94 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
-#: part/views.py:883
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:282
+#: part/views.py:924
msgid "Match Fields"
msgstr ""
-#: common/views.py:215
+#: common/views.py:95
msgid "Match Items"
msgstr ""
-#: common/views.py:560
+#: common/views.py:440
msgid "Fields matching failed"
msgstr ""
-#: common/views.py:615
+#: common/views.py:495
msgid "Parts imported"
msgstr ""
-#: common/views.py:637 order/templates/order/order_wizard/match_fields.html:27
+#: common/views.py:517 order/templates/order/order_wizard/match_fields.html:27
#: order/templates/order/order_wizard/match_parts.html:19
-#: order/templates/order/order_wizard/po_upload.html:40
+#: order/templates/order/order_wizard/po_upload.html:46
#: part/templates/part/bom_upload/match_fields.html:27
#: part/templates/part/bom_upload/match_parts.html:19
-#: part/templates/part/bom_upload/upload_file.html:63
+#: part/templates/part/bom_upload/upload_file.html:49
#: part/templates/part/import_wizard/match_fields.html:27
#: part/templates/part/import_wizard/match_references.html:19
-#: part/templates/part/import_wizard/part_upload.html:43
+#: part/templates/part/import_wizard/part_upload.html:44
msgid "Previous Step"
msgstr ""
@@ -2321,6 +2220,7 @@ msgid "Contact phone number"
msgstr ""
#: company/models.py:125 company/templates/company/company_base.html:102
+#: templates/InvenTree/settings/user.html:46
msgid "Email"
msgstr ""
@@ -2337,10 +2237,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:131 company/models.py:348 company/models.py:564
-#: order/models.py:160 part/models.py:715
+#: order/models.py:163 part/models.py:797
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:536
-#: templates/js/translated/company.js:825 templates/js/translated/part.js:983
+#: templates/js/translated/company.js:825 templates/js/translated/part.js:984
msgid "Link"
msgstr ""
@@ -2348,7 +2248,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:725
+#: company/models.py:139 part/models.py:807
msgid "Image"
msgstr ""
@@ -2376,8 +2276,8 @@ msgstr ""
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:152 company/serializers.py:264
-#: company/templates/company/company_base.html:76 stock/serializers.py:158
+#: company/models.py:152 company/serializers.py:270
+#: company/templates/company/company_base.html:76 stock/serializers.py:172
msgid "Currency"
msgstr ""
@@ -2385,8 +2285,8 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:454
-#: stock/templates/stock/item_base.html:237
+#: company/models.py:320 company/models.py:535 stock/models.py:484
+#: stock/templates/stock/item_base.html:224
msgid "Base Part"
msgstr ""
@@ -2395,28 +2295,28 @@ msgid "Select part"
msgstr ""
#: company/models.py:335 company/templates/company/company_base.html:116
-#: company/templates/company/manufacturer_part.html:89
-#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:247 stock/templates/stock/item_base.html:366
+#: company/templates/company/manufacturer_part.html:93
+#: company/templates/company/supplier_part.html:104
+#: stock/templates/stock/item_base.html:353
#: templates/js/translated/company.js:332
#: templates/js/translated/company.js:513
-#: templates/js/translated/company.js:796 templates/js/translated/part.js:227
+#: templates/js/translated/company.js:796 templates/js/translated/part.js:228
msgid "Manufacturer"
msgstr ""
-#: company/models.py:336 templates/js/translated/part.js:228
+#: company/models.py:336 templates/js/translated/part.js:229
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:342 company/templates/company/manufacturer_part.html:93
-#: company/templates/company/supplier_part.html:106 part/bom.py:171
-#: part/bom.py:248 templates/js/translated/company.js:529
-#: templates/js/translated/company.js:814 templates/js/translated/order.js:851
-#: templates/js/translated/part.js:238
+#: company/models.py:342 company/templates/company/manufacturer_part.html:97
+#: company/templates/company/supplier_part.html:112
+#: templates/js/translated/company.js:529
+#: templates/js/translated/company.js:814 templates/js/translated/order.js:852
+#: templates/js/translated/part.js:239
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:239
+#: company/models.py:343 templates/js/translated/part.js:240
msgid "Manufacturer Part Number"
msgstr ""
@@ -2431,7 +2331,7 @@ msgstr ""
#: company/models.py:409 company/models.py:558
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:376
+#: stock/templates/stock/item_base.html:363
msgid "Manufacturer Part"
msgstr ""
@@ -2440,10 +2340,9 @@ msgid "Parameter name"
msgstr ""
#: company/models.py:422
-#: report/templates/report/inventree_test_report_base.html:90
-#: stock/models.py:1816 templates/InvenTree/settings/header.html:8
-#: templates/js/translated/company.js:643 templates/js/translated/part.js:623
-#: templates/js/translated/stock.js:555
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:1867 templates/js/translated/company.js:643
+#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848
msgid "Value"
msgstr ""
@@ -2451,8 +2350,9 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:800 part/models.py:2224
-#: templates/js/translated/company.js:649 templates/js/translated/part.js:629
+#: company/models.py:429 part/models.py:882 part/models.py:2397
+#: part/templates/part/detail.html:59 templates/js/translated/company.js:649
+#: templates/js/translated/part.js:650
msgid "Units"
msgstr ""
@@ -2465,27 +2365,27 @@ msgid "Linked manufacturer part must reference the same base part"
msgstr ""
#: company/models.py:545 company/templates/company/company_base.html:121
-#: company/templates/company/supplier_part.html:88 order/models.py:260
-#: order/templates/order/order_base.html:92
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:292 stock/templates/stock/item_base.html:383
+#: company/templates/company/supplier_part.html:94 order/models.py:263
+#: order/templates/order/order_base.html:108
+#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219
+#: part/bom.py:247 stock/templates/stock/item_base.html:370
#: templates/js/translated/company.js:336
-#: templates/js/translated/company.js:770 templates/js/translated/order.js:659
-#: templates/js/translated/part.js:208
+#: templates/js/translated/company.js:770 templates/js/translated/order.js:660
+#: templates/js/translated/part.js:209
msgid "Supplier"
msgstr ""
-#: company/models.py:546 templates/js/translated/part.js:209
+#: company/models.py:546 templates/js/translated/part.js:210
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:92
-#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838
-#: templates/js/translated/part.js:219
+#: company/models.py:551 company/templates/company/supplier_part.html:98
+#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:839
+#: templates/js/translated/part.js:220
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:220
+#: company/models.py:552 templates/js/translated/part.js:221
msgid "Supplier stock keeping unit"
msgstr ""
@@ -2501,23 +2401,23 @@ msgstr ""
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:120
-#: part/models.py:2389 report/templates/report/inventree_po_report.html:93
+#: company/models.py:576 company/templates/company/supplier_part.html:126
+#: part/models.py:2588 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:113
-#: stock/models.py:478 stock/templates/stock/item_base.html:324
-#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036
+#: company/models.py:582 company/templates/company/supplier_part.html:119
+#: stock/models.py:507 stock/templates/stock/item_base.html:311
+#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336
msgid "Packaging"
msgstr ""
@@ -2525,7 +2425,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1605
+#: company/models.py:584 part/models.py:1750
msgid "multiple"
msgstr ""
@@ -2533,46 +2433,42 @@ msgstr ""
msgid "Order multiple"
msgstr ""
-#: company/serializers.py:68
+#: company/serializers.py:70
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:69
+#: company/serializers.py:71
msgid "Currency Code"
msgstr ""
-#: company/templates/company/company_base.html:9
-#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321
+#: company/templates/company/company_base.html:8
+#: company/templates/company/company_base.html:12
+#: templates/InvenTree/search.html:182 templates/js/translated/company.js:321
msgid "Company"
msgstr ""
-#: company/templates/company/company_base.html:25
-#: part/templates/part/part_thumb.html:21
-msgid "Upload new image"
-msgstr ""
-
-#: company/templates/company/company_base.html:27
-#: part/templates/part/part_thumb.html:23
-msgid "Download image from URL"
-msgstr ""
-
-#: company/templates/company/company_base.html:46
-#: templates/js/translated/order.js:120
+#: company/templates/company/company_base.html:22
+#: templates/js/translated/order.js:121
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:51
+#: company/templates/company/company_base.html:27
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:56
-#: company/templates/company/company_base.html:153
+#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:148
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:64
-msgid "Company Details"
+#: company/templates/company/company_base.html:48
+#: part/templates/part/part_thumb.html:12
+msgid "Upload new image"
+msgstr ""
+
+#: company/templates/company/company_base.html:51
+#: part/templates/part/part_thumb.html:14
+msgid "Download image from URL"
msgstr ""
#: company/templates/company/company_base.html:81
@@ -2583,145 +2479,133 @@ msgstr ""
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:126 order/models.py:558
-#: order/templates/order/sales_order_base.html:99 stock/models.py:496
-#: stock/models.py:497 stock/templates/stock/item_base.html:276
-#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038
-#: templates/js/translated/stock.js:1587
+#: company/templates/company/company_base.html:126 order/models.py:567
+#: order/templates/order/sales_order_base.html:114 stock/models.py:525
+#: stock/models.py:526 stock/templates/stock/item_base.html:263
+#: templates/js/translated/company.js:328 templates/js/translated/order.js:1051
+#: templates/js/translated/stock.js:1972
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:199
-#: part/templates/part/part_base.html:424
+#: company/templates/company/company_base.html:194
+#: part/templates/part/part_base.html:342
msgid "Upload Image"
msgstr ""
-#: company/templates/company/detail.html:14
-#: company/templates/company/manufacturer_part_navbar.html:18
-#: templates/InvenTree/search.html:150
+#: company/templates/company/detail.html:15 templates/InvenTree/search.html:124
msgid "Supplier Parts"
msgstr ""
-#: company/templates/company/detail.html:22
+#: company/templates/company/detail.html:19
#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr ""
-#: company/templates/company/detail.html:23
-#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289
+#: company/templates/company/detail.html:20
+#: company/templates/company/manufacturer_part.html:112
+#: part/templates/part/detail.html:466
msgid "New Supplier Part"
msgstr ""
-#: company/templates/company/detail.html:27
-#: company/templates/company/detail.html:67
-#: company/templates/company/manufacturer_part.html:112
-#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/category.html:135 part/templates/part/detail.html:292
-#: part/templates/part/detail.html:315
+#: company/templates/company/detail.html:32
+#: company/templates/company/detail.html:79
+#: company/templates/company/manufacturer_part.html:121
+#: company/templates/company/manufacturer_part.html:150
+#: part/templates/part/category.html:160 part/templates/part/detail.html:475
+#: part/templates/part/detail.html:503
msgid "Options"
msgstr ""
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72
-#: part/templates/part/category.html:140
+#: company/templates/company/detail.html:37
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:166
msgid "Order parts"
msgstr ""
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:42
+#: company/templates/company/detail.html:89
msgid "Delete parts"
msgstr ""
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:43
+#: company/templates/company/detail.html:90
msgid "Delete Parts"
msgstr ""
-#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135
+#: company/templates/company/detail.html:62 templates/InvenTree/search.html:109
msgid "Manufacturer Parts"
msgstr ""
-#: company/templates/company/detail.html:62
+#: company/templates/company/detail.html:66
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:63 part/templates/part/detail.html:312
+#: company/templates/company/detail.html:67 part/templates/part/detail.html:493
msgid "New Manufacturer Part"
msgstr ""
-#: company/templates/company/detail.html:93
+#: company/templates/company/detail.html:107
msgid "Supplier Stock"
msgstr ""
-#: company/templates/company/detail.html:102
-#: company/templates/company/navbar.html:46
-#: company/templates/company/navbar.html:49
+#: company/templates/company/detail.html:117
+#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
-#: order/templates/order/purchase_orders.html:13
-#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82
-#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260
-#: templates/InvenTree/search.html:229
-#: templates/InvenTree/settings/navbar.html:119
-#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44
+#: order/templates/order/purchase_orders.html:12
+#: part/templates/part/detail.html:171 templates/InvenTree/index.html:252
+#: templates/InvenTree/search.html:203 templates/navbar.html:45
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
-#: company/templates/company/detail.html:108
-#: order/templates/order/purchase_orders.html:20
+#: company/templates/company/detail.html:121
+#: order/templates/order/purchase_orders.html:17
msgid "Create new purchase order"
msgstr ""
-#: company/templates/company/detail.html:109
-#: order/templates/order/purchase_orders.html:21
+#: company/templates/company/detail.html:122
+#: order/templates/order/purchase_orders.html:18
msgid "New Purchase Order"
msgstr ""
-#: company/templates/company/detail.html:124
-#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58
+#: company/templates/company/detail.html:143
+#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
-#: order/templates/order/sales_orders.html:13
-#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91
-#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291
-#: templates/InvenTree/search.html:249
-#: templates/InvenTree/settings/navbar.html:125
-#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55
+#: order/templates/order/sales_orders.html:15
+#: part/templates/part/detail.html:194 templates/InvenTree/index.html:283
+#: templates/InvenTree/search.html:223 templates/navbar.html:56
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
-#: company/templates/company/detail.html:130
+#: company/templates/company/detail.html:147
#: order/templates/order/sales_orders.html:20
msgid "Create new sales order"
msgstr ""
-#: company/templates/company/detail.html:131
+#: company/templates/company/detail.html:148
#: order/templates/order/sales_orders.html:21
msgid "New Sales Order"
msgstr ""
-#: company/templates/company/detail.html:147
-#: company/templates/company/navbar.html:61
-#: company/templates/company/navbar.html:64
-#: templates/js/translated/build.js:622
+#: company/templates/company/detail.html:168
+#: templates/js/translated/build.js:999
msgid "Assigned Stock"
msgstr ""
-#: company/templates/company/detail.html:165
+#: company/templates/company/detail.html:184
msgid "Company Notes"
msgstr ""
-#: company/templates/company/detail.html:364
-#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:357
+#: company/templates/company/detail.html:383
+#: company/templates/company/manufacturer_part.html:209
+#: part/templates/part/detail.html:546
msgid "Delete Supplier Parts?"
msgstr ""
-#: company/templates/company/detail.html:365
-#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:358
+#: company/templates/company/detail.html:384
+#: company/templates/company/manufacturer_part.html:210
+#: part/templates/part/detail.html:547
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2729,204 +2613,172 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:40
-#: company/templates/company/supplier_part.html:40
-#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116
+#: company/templates/company/manufacturer_part.html:14 company/views.py:55
+#: part/templates/part/prices.html:167 templates/InvenTree/search.html:184
+#: templates/navbar.html:44
+msgid "Manufacturers"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:35
+#: company/templates/company/supplier_part.html:34
+#: company/templates/company/supplier_part.html:159
+#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:40
#: templates/js/translated/company.js:561
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:49
+#: company/templates/company/manufacturer_part.html:44
#: templates/js/translated/company.js:562
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:61
-msgid "Manufacturer Part Details"
-msgstr ""
-
-#: company/templates/company/manufacturer_part.html:66
-#: company/templates/company/supplier_part.html:65
+#: company/templates/company/manufacturer_part.html:70
+#: company/templates/company/supplier_part.html:71
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/manufacturer_part_navbar.html:21
-#: company/views.py:49 part/templates/part/navbar.html:75
-#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163
-#: templates/InvenTree/search.html:220 templates/navbar.html:41
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: part/templates/part/prices.html:163 templates/InvenTree/search.html:194
+#: templates/navbar.html:43
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: part/templates/part/detail.html:294
+#: company/templates/company/manufacturer_part.html:123
+#: part/templates/part/detail.html:477
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: company/templates/company/manufacturer_part.html:138
-#: company/templates/company/manufacturer_part.html:239
-#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/translated/company.js:424
-#: templates/js/translated/helpers.js:31 users/models.py:199
+#: company/templates/company/manufacturer_part.html:123
+#: company/templates/company/manufacturer_part.html:152
+#: company/templates/company/manufacturer_part.html:248
+#: part/templates/part/detail.html:351 part/templates/part/detail.html:477
+#: part/templates/part/detail.html:505 templates/js/translated/company.js:424
+#: templates/js/translated/helpers.js:31 users/models.py:204
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:127
-#: company/templates/company/manufacturer_part_navbar.html:11
-#: company/templates/company/manufacturer_part_navbar.html:14
-#: part/templates/part/category_navbar.html:38
-#: part/templates/part/category_navbar.html:41
-#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20
-#: part/templates/part/navbar.html:23
+#: company/templates/company/manufacturer_part.html:137
+#: part/templates/part/detail.html:277
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:133
-#: part/templates/part/detail.html:162
-#: templates/InvenTree/settings/category.html:26
-#: templates/InvenTree/settings/part.html:63
+#: company/templates/company/manufacturer_part.html:141
+#: part/templates/part/detail.html:282
+#: templates/InvenTree/settings/category.html:12
+#: templates/InvenTree/settings/part.html:65
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:138
+#: company/templates/company/manufacturer_part.html:152
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:805
+#: company/templates/company/manufacturer_part.html:185
+#: part/templates/part/detail.html:983
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:224
+#: company/templates/company/manufacturer_part.html:233
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:236
+#: company/templates/company/manufacturer_part.html:245
msgid "Delete Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part_navbar.html:26
-msgid "Manufacturer Part Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:29
-#: company/templates/company/navbar.html:39
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/navbar.html:38 stock/api.py:52
-#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182
-#: templates/InvenTree/settings/navbar.html:107
-#: templates/InvenTree/settings/navbar.html:109
-#: templates/js/translated/part.js:540 templates/js/translated/part.js:769
-#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182
-#: templates/js/translated/stock.js:829 templates/navbar.html:32
-msgid "Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:33
-msgid "Manufacturer Part Orders"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:36
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr ""
-
-#: company/templates/company/navbar.html:17
-#: company/templates/company/navbar.html:20
-msgid "Manufactured Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:26
-#: company/templates/company/navbar.html:29
-msgid "Supplied Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35
-#: stock/templates/stock/location.html:119
-#: stock/templates/stock/location.html:134
-#: stock/templates/stock/location.html:148
-#: stock/templates/stock/location_navbar.html:18
-#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486
-#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
-msgid "Stock Items"
-msgstr ""
-
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:463
-#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993
+#: company/templates/company/supplier_part.html:24 stock/models.py:492
+#: stock/templates/stock/item_base.html:375
+#: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44
+#: company/templates/company/supplier_part.html:38
#: templates/js/translated/company.js:859
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48
+#: company/templates/company/supplier_part.html:42
#: templates/js/translated/company.js:860
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:60
-msgid "Supplier Part Details"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:131
+#: company/templates/company/supplier_part.html:138
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:140
+#: company/templates/company/supplier_part.html:141
+#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147
+msgid "Create new stock item"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:142
+#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148
+#: templates/js/translated/stock.js:324
+msgid "New Stock Item"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:155
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:147
-#: part/templates/part/detail.html:56
+#: company/templates/company/supplier_part.html:160
+#: part/templates/part/detail.html:175
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:158
-#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7
+#: company/templates/company/supplier_part.html:179
+#: part/templates/part/prices.html:7
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:164
-#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:271 part/views.py:1730
+#: company/templates/company/supplier_part.html:184
+#: company/templates/company/supplier_part.html:290
+#: part/templates/part/prices.html:271 part/views.py:1782
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:185
+#: company/templates/company/supplier_part.html:210
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:1792
+#: company/templates/company/supplier_part.html:224 part/views.py:1844
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:1778
+#: company/templates/company/supplier_part.html:238 part/views.py:1830
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
+#: company/templates/company/supplier_part.html:263
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:239
+#: company/templates/company/supplier_part.html:264
msgid "Delete price break"
msgstr ""
+#: company/templates/company/supplier_part_navbar.html:15
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426
+#: templates/js/translated/part.js:561 templates/js/translated/part.js:786
+#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479
+#: templates/js/translated/stock.js:1132 templates/navbar.html:26
+msgid "Stock"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:22
+msgid "Orders"
+msgstr ""
+
#: company/templates/company/supplier_part_navbar.html:26
msgid "Supplier Part Pricing"
msgstr ""
@@ -2939,17 +2791,12 @@ msgstr ""
msgid "New Supplier"
msgstr ""
-#: company/views.py:55 part/templates/part/prices.html:167
-#: templates/InvenTree/search.html:210 templates/navbar.html:42
-msgid "Manufacturers"
-msgstr ""
-
#: company/views.py:56
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:240
-#: templates/navbar.html:53
+#: company/views.py:61 templates/InvenTree/search.html:214
+#: templates/navbar.html:55
msgid "Customers"
msgstr ""
@@ -2965,24 +2812,24 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:608
+#: company/views.py:129 part/views.py:649
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:640
+#: company/views.py:158 part/views.py:681
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:647
+#: company/views.py:165 part/views.py:688
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:656
+#: company/views.py:174 part/views.py:697
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:57 report/api.py:201
+#: label/api.py:57 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -2994,7 +2841,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:167
+#: label/models.py:127
msgid "Label"
msgstr ""
@@ -3039,7 +2886,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:259 label/models.py:319 label/models.py:366
-#: report/models.py:322 report/models.py:457 report/models.py:495
+#: report/models.py:322 report/models.py:459 report/models.py:497
msgid "Filters"
msgstr ""
@@ -3051,240 +2898,236 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:250
-msgid "Matching purchase order does not exist"
-msgstr ""
-
-#: order/forms.py:27 order/templates/order/order_base.html:50
+#: order/forms.py:26 order/templates/order/order_base.html:52
msgid "Place order"
msgstr ""
-#: order/forms.py:38 order/templates/order/order_base.html:57
+#: order/forms.py:37 order/templates/order/order_base.html:59
msgid "Mark order as complete"
msgstr ""
-#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:64
+#: order/forms.py:48 order/forms.py:59 order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
msgid "Cancel order"
msgstr ""
-#: order/forms.py:71 order/templates/order/sales_order_base.html:61
+#: order/forms.py:70
msgid "Ship order"
msgstr ""
-#: order/forms.py:97
+#: order/forms.py:98
msgid "Enter stock item serial numbers"
msgstr ""
-#: order/forms.py:103
+#: order/forms.py:104
msgid "Enter quantity of stock items"
msgstr ""
-#: order/models.py:158
+#: order/models.py:161
msgid "Order description"
msgstr ""
-#: order/models.py:160
+#: order/models.py:163
msgid "Link to external page"
msgstr ""
-#: order/models.py:168
+#: order/models.py:171
msgid "Created By"
msgstr ""
-#: order/models.py:175
+#: order/models.py:178
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:180
+#: order/models.py:183
msgid "Order notes"
msgstr ""
-#: order/models.py:247 order/models.py:548
+#: order/models.py:250 order/models.py:557
msgid "Order reference"
msgstr ""
-#: order/models.py:252 order/models.py:563
+#: order/models.py:255 order/models.py:572
msgid "Purchase order status"
msgstr ""
-#: order/models.py:261
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/translated/order.js:668
+#: order/models.py:267 order/templates/order/order_base.html:114
+#: templates/js/translated/order.js:669
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:264
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:271
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:276
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:277
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:282
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:283
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:289
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:318
+#: order/models.py:321
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:428
+#: order/models.py:431
msgid "Quantity must be an integer"
msgstr ""
-#: order/models.py:432
+#: order/models.py:435
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:559
+#: order/models.py:568
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer Reference "
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:570
+#: order/models.py:579
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:573 templates/js/translated/order.js:1079
+#: order/models.py:582 templates/js/translated/order.js:1092
msgid "Shipment Date"
msgstr ""
-#: order/models.py:580
+#: order/models.py:589
msgid "shipped by"
msgstr ""
-#: order/models.py:624
+#: order/models.py:633
msgid "SalesOrder cannot be shipped as it is not currently pending"
msgstr ""
-#: order/models.py:721
+#: order/models.py:730
msgid "Item quantity"
msgstr ""
-#: order/models.py:727
+#: order/models.py:736
msgid "Line item reference"
msgstr ""
-#: order/models.py:729
+#: order/models.py:738
msgid "Line item notes"
msgstr ""
-#: order/models.py:759 order/models.py:847
-#: templates/js/translated/order.js:1131
+#: order/models.py:768 order/models.py:856
+#: templates/js/translated/order.js:1144
msgid "Order"
msgstr ""
-#: order/models.py:760 order/templates/order/order_base.html:9
-#: order/templates/order/order_base.html:24
+#: order/models.py:769 order/templates/order/order_base.html:9
+#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:338
-#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970
-#: templates/js/translated/stock.js:1568
+#: stock/templates/stock/item_base.html:325
+#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1270
+#: templates/js/translated/stock.js:1953
msgid "Purchase Order"
msgstr ""
-#: order/models.py:781
+#: order/models.py:790
msgid "Supplier part"
msgstr ""
-#: order/models.py:788 order/templates/order/order_base.html:131
-#: order/templates/order/sales_order_base.html:138
-#: templates/js/translated/order.js:428 templates/js/translated/order.js:919
+#: order/models.py:797 order/templates/order/order_base.html:147
+#: order/templates/order/sales_order_base.html:154
+#: templates/js/translated/order.js:429 templates/js/translated/order.js:932
msgid "Received"
msgstr ""
-#: order/models.py:789
+#: order/models.py:798
msgid "Number of items received"
msgstr ""
-#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588
-#: stock/serializers.py:150 stock/templates/stock/item_base.html:345
-#: templates/js/translated/stock.js:1024
+#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619
+#: stock/serializers.py:163 stock/templates/stock/item_base.html:332
+#: templates/js/translated/stock.js:1324
msgid "Purchase Price"
msgstr ""
-#: order/models.py:797
+#: order/models.py:806
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:805
+#: order/models.py:814
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:857 part/templates/part/part_pricing.html:112
+#: order/models.py:866 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:116 part/templates/part/prices.html:284
msgid "Sale Price"
msgstr ""
-#: order/models.py:858
+#: order/models.py:867
msgid "Unit sale price"
msgstr ""
-#: order/models.py:937 order/models.py:939
+#: order/models.py:946 order/models.py:948
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:943
+#: order/models.py:952
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:945
+#: order/models.py:954
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:948
+#: order/models.py:957
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:952
+#: order/models.py:961
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:958
+#: order/models.py:967
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:966
+#: order/models.py:975
msgid "Line"
msgstr ""
-#: order/models.py:978
+#: order/models.py:987
msgid "Item"
msgstr ""
-#: order/models.py:979
+#: order/models.py:988
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:982
+#: order/models.py:991
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3300,7 +3143,7 @@ msgstr ""
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:218 order/serializers.py:285
+#: order/serializers.py:218 order/serializers.py:286
msgid "Select destination location for received items"
msgstr ""
@@ -3312,72 +3155,70 @@ msgstr ""
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:259
+#: order/serializers.py:260
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:297
+#: order/serializers.py:298
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:314
+#: order/serializers.py:315
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:325
+#: order/serializers.py:326
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:569
+#: order/serializers.py:568
msgid "Sale price currency"
msgstr ""
#: order/templates/order/delete_attachment.html:5
#: stock/templates/stock/attachment_delete.html:5
-#: templates/attachment_delete.html:5
msgid "Are you sure you want to delete this attachment?"
msgstr ""
-#: order/templates/order/order_base.html:39
-#: order/templates/order/sales_order_base.html:50
-msgid "Print"
+#: order/templates/order/order_base.html:33
+msgid "Print purchase order report"
msgstr ""
-#: order/templates/order/order_base.html:42
-#: order/templates/order/sales_order_base.html:53
+#: order/templates/order/order_base.html:35
+#: order/templates/order/sales_order_base.html:45
msgid "Export order to file"
msgstr ""
-#: order/templates/order/order_base.html:46
-#: order/templates/order/sales_order_base.html:57
-msgid "Edit order information"
+#: order/templates/order/order_base.html:41
+#: order/templates/order/sales_order_base.html:54
+msgid "Order actions"
msgstr ""
-#: order/templates/order/order_base.html:54
+#: order/templates/order/order_base.html:45
+#: order/templates/order/sales_order_base.html:58
+msgid "Edit order"
+msgstr ""
+
+#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
-#: order/templates/order/order_base.html:72
-#: order/templates/order/po_navbar.html:12
-msgid "Purchase Order Details"
-msgstr ""
-
-#: order/templates/order/order_base.html:77
-#: order/templates/order/sales_order_base.html:84
+#: order/templates/order/order_base.html:93
+#: order/templates/order/sales_order_base.html:98
msgid "Order Reference"
msgstr ""
-#: order/templates/order/order_base.html:82
-#: order/templates/order/sales_order_base.html:89
+#: order/templates/order/order_base.html:98
+#: order/templates/order/sales_order_base.html:103
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:117
+#: order/templates/order/order_base.html:133
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:185
+#: order/templates/order/order_base.html:203
msgid "Edit Purchase Order"
msgstr ""
@@ -3453,7 +3294,8 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/build.js:869 templates/js/translated/order.js:376
+#: templates/js/translated/build.js:240 templates/js/translated/build.js:1251
+#: templates/js/translated/order.js:377
msgid "Remove row"
msgstr ""
@@ -3475,19 +3317,19 @@ msgstr ""
msgid "Select Supplier Part"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:11
+#: order/templates/order/order_wizard/po_upload.html:16
msgid "Upload File for Purchase Order"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:18
-#: part/templates/part/bom_upload/upload_file.html:34
+#: order/templates/order/order_wizard/po_upload.html:24
+#: part/templates/part/bom_upload/upload_file.html:20
#: part/templates/part/import_wizard/ajax_part_upload.html:10
-#: part/templates/part/import_wizard/part_upload.html:21
+#: part/templates/part/import_wizard/part_upload.html:22
#, python-format
msgid "Step %(step)s of %(count)s"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/order_wizard/po_upload.html:54
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
@@ -3530,7 +3372,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084
+#: templates/js/translated/order.js:695 templates/js/translated/order.js:1097
msgid "Items"
msgstr ""
@@ -3548,30 +3390,14 @@ msgstr ""
msgid "Select a purchase order for %(name)s"
msgstr ""
-#: order/templates/order/po_attachments.html:12
-#: order/templates/order/po_navbar.html:32
-#: order/templates/order/purchase_order_detail.html:56
-msgid "Purchase Order Attachments"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:26
-msgid "Received Stock Items"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:29
-#: order/templates/order/po_received_items.html:12
-#: order/templates/order/purchase_order_detail.html:47
-msgid "Received Items"
-msgstr ""
-
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:24
-#: order/templates/order/purchase_order_detail.html:212
+#: order/templates/order/purchase_order_detail.html:27
+#: order/templates/order/purchase_order_detail.html:216
#: order/templates/order/sales_order_detail.html:23
-#: order/templates/order/sales_order_detail.html:177
+#: order/templates/order/sales_order_detail.html:191
msgid "Add Line Item"
msgstr ""
@@ -3583,34 +3409,43 @@ msgstr ""
msgid "Receive Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
-#: order/templates/order/sales_order_detail.html:54
+#: order/templates/order/purchase_order_detail.html:50
+msgid "Received Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:76
+#: order/templates/order/sales_order_detail.html:68
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_orders.html:24
-#: order/templates/order/sales_orders.html:24
+#: order/templates/order/purchase_orders.html:30
+#: order/templates/order/sales_orders.html:33
msgid "Print Order Reports"
msgstr ""
-#: order/templates/order/sales_order_base.html:16
+#: order/templates/order/sales_order_base.html:43
+msgid "Print sales order report"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:47
+msgid "Print packing list"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:66
+#: order/templates/order/sales_order_base.html:67 order/views.py:222
+msgid "Ship Order"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:86
msgid "This Sales Order has not been fully allocated"
msgstr ""
-#: order/templates/order/sales_order_base.html:70
-msgid "Packing List"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:79
-msgid "Sales Order Details"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:105
-#: templates/js/translated/order.js:1051
+#: order/templates/order/sales_order_base.html:121
+#: templates/js/translated/order.js:1064
msgid "Customer Reference"
msgstr ""
-#: order/templates/order/sales_order_base.html:183
+#: order/templates/order/sales_order_base.html:194
msgid "Edit Sales Order"
msgstr ""
@@ -3625,7 +3460,7 @@ msgstr ""
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -3653,18 +3488,6 @@ msgstr ""
msgid "Allocate stock items by serial number"
msgstr ""
-#: order/templates/order/so_navbar.html:12
-msgid "Sales Order Line Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:15
-msgid "Order Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:26
-msgid "Sales Order Attachments"
-msgstr ""
-
#: order/views.py:103
msgid "Cancel Order"
msgstr ""
@@ -3705,10 +3528,6 @@ msgstr ""
msgid "Purchase order completed"
msgstr ""
-#: order/views.py:222
-msgid "Ship Order"
-msgstr ""
-
#: order/views.py:238
msgid "Confirm order shipment"
msgstr ""
@@ -3776,40 +3595,28 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7
-#: part/templates/part/category.html:108 part/templates/part/category.html:122
-#: part/templates/part/category_navbar.html:21
-#: part/templates/part/category_navbar.html:24
-#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97
-#: templates/js/translated/part.js:1165 templates/navbar.html:29
-#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
-msgid "Parts"
-msgstr ""
-
-#: part/api.py:700
+#: part/api.py:731
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:704
+#: part/api.py:735
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:719
+#: part/api.py:750
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773
+#: part/api.py:781 part/api.py:785 part/api.py:800 part/api.py:804
msgid "This field is required"
msgstr ""
-#: part/bom.py:133 part/models.py:76 part/models.py:734
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:290
+#: part/bom.py:125 part/models.py:81 part/models.py:816
+#: part/templates/part/category.html:90 part/templates/part/detail.html:104
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:156
+#: part/bom.py:126 part/templates/part/part_base.html:167
msgid "Available Stock"
msgstr ""
@@ -3869,7 +3676,7 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:96 part/models.py:2254
+#: part/forms.py:96 part/models.py:2427
msgid "Parent Part"
msgstr ""
@@ -3901,455 +3708,458 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:226
+#: part/forms.py:214
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:230
+#: part/forms.py:218
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:250
+#: part/forms.py:238
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:77
+#: part/models.py:82
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords"
msgstr ""
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:90 part/models.py:2300
+#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:91 part/templates/part/category.html:32
-#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
-#: templates/stats.html:84 users/models.py:40
+#: part/models.py:96 part/templates/part/category.html:117
+#: templates/InvenTree/search.html:101 templates/stats.html:84
+#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:384
+#: part/models.py:358 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:13 part/templates/part/category.html:122
+#: part/templates/part/category.html:142 templates/InvenTree/index.html:85
+#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304
+#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89
+#: users/models.py:41
+msgid "Parts"
+msgstr ""
+
+#: part/models.py:450
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:436 part/models.py:448
+#: part/models.py:502 part/models.py:514
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:545
+#: part/models.py:611
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:549
+#: part/models.py:615
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:554
+#: part/models.py:620
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:633
+#: part/models.py:715
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:658
+#: part/models.py:740
msgid "Part name"
msgstr ""
-#: part/models.py:665
+#: part/models.py:747
msgid "Is Template"
msgstr ""
-#: part/models.py:666
+#: part/models.py:748
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:676
+#: part/models.py:758
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:677
+#: part/models.py:759
msgid "Variant Of"
msgstr ""
-#: part/models.py:683
+#: part/models.py:765
msgid "Part description"
msgstr ""
-#: part/models.py:688 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:259
+#: part/models.py:770 part/templates/part/category.html:97
+#: part/templates/part/detail.html:73
msgid "Keywords"
msgstr ""
-#: part/models.py:689
+#: part/models.py:771
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:696 part/models.py:2299
-#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:169
-#: templates/js/translated/part.js:927
+#: part/models.py:778 part/models.py:2223 part/models.py:2472
+#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15
+#: templates/InvenTree/settings/settings.html:163
+#: templates/js/translated/part.js:928
msgid "Category"
msgstr ""
-#: part/models.py:697
+#: part/models.py:779
msgid "Part category"
msgstr ""
-#: part/models.py:702 part/templates/part/part_base.html:235
-#: templates/js/translated/part.js:528 templates/js/translated/part.js:760
+#: part/models.py:784 part/templates/part/detail.html:45
+#: templates/js/translated/part.js:549
msgid "IPN"
msgstr ""
-#: part/models.py:703
+#: part/models.py:785
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:709
+#: part/models.py:791
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:710 part/templates/part/part_base.html:252
-#: report/models.py:200 templates/js/translated/part.js:532
+#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200
+#: templates/js/translated/part.js:553
msgid "Revision"
msgstr ""
-#: part/models.py:732
+#: part/models.py:814
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:779 part/templates/part/part_base.html:297
+#: part/models.py:861 part/templates/part/detail.html:113
msgid "Default Supplier"
msgstr ""
-#: part/models.py:780
+#: part/models.py:862
msgid "Default supplier part"
msgstr ""
-#: part/models.py:787
+#: part/models.py:869
msgid "Default Expiry"
msgstr ""
-#: part/models.py:788
+#: part/models.py:870
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:793
+#: part/models.py:875 part/templates/part/part_base.html:178
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:794
+#: part/models.py:876
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:801
+#: part/models.py:883
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:807
+#: part/models.py:889
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:813
+#: part/models.py:895
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:819
+#: part/models.py:901
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:824
+#: part/models.py:906
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:911
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:833 templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:82
-#: templates/js/translated/table_filters.js:268
-#: templates/js/translated/table_filters.js:346
+#: part/models.py:915 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:362
msgid "Active"
msgstr ""
-#: part/models.py:834
+#: part/models.py:916
msgid "Is this part active?"
msgstr ""
-#: part/models.py:839
+#: part/models.py:921
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:844
+#: part/models.py:926
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "BOM checksum"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:850
+#: part/models.py:932
msgid "BOM checked by"
msgstr ""
-#: part/models.py:852
+#: part/models.py:934
msgid "BOM checked date"
msgstr ""
-#: part/models.py:856
+#: part/models.py:938
msgid "Creation User"
msgstr ""
-#: part/models.py:1605
+#: part/models.py:1750
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2100
+#: part/models.py:2273
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2117
+#: part/models.py:2290
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2137 templates/js/translated/part.js:1216
-#: templates/js/translated/stock.js:535
+#: part/models.py:2310 templates/js/translated/part.js:1355
+#: templates/js/translated/stock.js:828
msgid "Test Name"
msgstr ""
-#: part/models.py:2138
+#: part/models.py:2311
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2143
+#: part/models.py:2316
msgid "Test Description"
msgstr ""
-#: part/models.py:2144
+#: part/models.py:2317
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2149 templates/js/translated/part.js:1225
-#: templates/js/translated/table_filters.js:254
+#: part/models.py:2322 templates/js/translated/part.js:1364
+#: templates/js/translated/table_filters.js:270
msgid "Required"
msgstr ""
-#: part/models.py:2150
+#: part/models.py:2323
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2155 templates/js/translated/part.js:1233
+#: part/models.py:2328 templates/js/translated/part.js:1372
msgid "Requires Value"
msgstr ""
-#: part/models.py:2156
+#: part/models.py:2329
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2161 templates/js/translated/part.js:1240
+#: part/models.py:2334 templates/js/translated/part.js:1379
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2162
+#: part/models.py:2335
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2173
+#: part/models.py:2346
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2209
+#: part/models.py:2382
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2217
+#: part/models.py:2390
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2224
+#: part/models.py:2397
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2256 part/models.py:2305 part/models.py:2306
-#: templates/InvenTree/settings/settings.html:164
+#: part/models.py:2429 part/models.py:2478 part/models.py:2479
+#: templates/InvenTree/settings/settings.html:158
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Data"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2310 templates/InvenTree/settings/settings.html:173
+#: part/models.py:2483 templates/InvenTree/settings/settings.html:167
msgid "Default Value"
msgstr ""
-#: part/models.py:2311
+#: part/models.py:2484
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2561
msgid "Select parent part"
msgstr ""
-#: part/models.py:2370
+#: part/models.py:2569
msgid "Sub part"
msgstr ""
-#: part/models.py:2371
+#: part/models.py:2570
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2377
+#: part/models.py:2576
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2379 templates/js/translated/bom.js:275
-#: templates/js/translated/bom.js:335
+#: part/models.py:2578 templates/js/translated/bom.js:452
+#: templates/js/translated/bom.js:526
+#: templates/js/translated/table_filters.js:86
msgid "Optional"
msgstr ""
-#: part/models.py:2379
+#: part/models.py:2578
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2382
+#: part/models.py:2581
msgid "Overage"
msgstr ""
-#: part/models.py:2383
+#: part/models.py:2582
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2585
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2588
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "Checksum"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2395 templates/js/translated/bom.js:352
-#: templates/js/translated/bom.js:359
+#: part/models.py:2594 templates/js/translated/bom.js:543
+#: templates/js/translated/bom.js:550
#: templates/js/translated/table_filters.js:68
+#: templates/js/translated/table_filters.js:82
msgid "Inherited"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2595
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2401 templates/js/translated/bom.js:344
+#: part/models.py:2600 templates/js/translated/bom.js:535
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2402
+#: part/models.py:2601
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2487 stock/models.py:341
+#: part/models.py:2686 stock/models.py:371
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2496 part/models.py:2498
+#: part/models.py:2695 part/models.py:2697
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2620
+#: part/models.py:2826
+msgid "BOM Item Substitute"
+msgstr ""
+
+#: part/models.py:2848
+msgid "Substitute part cannot be the same as the master part"
+msgstr ""
+
+#: part/models.py:2860
+msgid "Parent BOM item"
+msgstr ""
+
+#: part/models.py:2868
+msgid "Substitute part"
+msgstr ""
+
+#: part/models.py:2879
msgid "Part 1"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Part 2"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2656
+#: part/models.py:2915
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
+#: part/tasks.py:53
+msgid "Low stock notification"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
-#: part/templates/part/bom.html:14
+#: part/templates/part/bom.html:15
#, python-format
msgid "The BOM for %(part)s has changed, and must be validated.
"
msgstr ""
-#: part/templates/part/bom.html:16
+#: part/templates/part/bom.html:17
#, python-format
msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s"
msgstr ""
-#: part/templates/part/bom.html:20
+#: part/templates/part/bom.html:21
#, python-format
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:27
-msgid "Remove selected BOM items"
-msgstr ""
-
-#: part/templates/part/bom.html:30
-msgid "Import BOM data"
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:383
+msgid "BOM actions"
msgstr ""
#: part/templates/part/bom.html:34
-msgid "Copy BOM from parent part"
-msgstr ""
-
-#: part/templates/part/bom.html:38
-msgid "New BOM Item"
-msgstr ""
-
-#: part/templates/part/bom.html:41
-msgid "Finish Editing"
-msgstr ""
-
-#: part/templates/part/bom.html:46
-msgid "Edit BOM"
-msgstr ""
-
-#: part/templates/part/bom.html:50
-msgid "Validate Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:56 part/views.py:1220
-msgid "Export Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:59
-msgid "Print BOM Report"
+msgid "Delete Items"
msgstr ""
#: part/templates/part/bom_duplicate.html:13
@@ -4360,28 +4170,23 @@ msgstr ""
msgid "Select Part"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:13
-#: part/templates/part/bom_upload/upload_file.html:16
-msgid "Return To BOM"
-msgstr ""
-
-#: part/templates/part/bom_upload/upload_file.html:27
+#: part/templates/part/bom_upload/upload_file.html:12
msgid "Upload Bill of Materials"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:46
+#: part/templates/part/bom_upload/upload_file.html:32
msgid "Requirements for BOM upload"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "The BOM file must contain the required named columns as provided in the "
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "BOM Upload Template"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:49
+#: part/templates/part/bom_upload/upload_file.html:35
msgid "Each part must already exist in the database"
msgstr ""
@@ -4394,93 +4199,103 @@ msgstr ""
msgid "This will validate each line in the BOM."
msgstr ""
-#: part/templates/part/category.html:33
-msgid "All parts"
+#: part/templates/part/category.html:24 part/templates/part/category.html:28
+msgid "You are subscribed to notifications for this category"
+msgstr ""
+
+#: part/templates/part/category.html:32
+msgid "Subscribe to notifications for this category"
msgstr ""
#: part/templates/part/category.html:38
-msgid "Create new part category"
+msgid "Category Actions"
+msgstr ""
+
+#: part/templates/part/category.html:43
+msgid "Edit category"
msgstr ""
#: part/templates/part/category.html:44
-msgid "Edit part category"
+msgid "Edit Category"
+msgstr ""
+
+#: part/templates/part/category.html:48
+msgid "Delete category"
msgstr ""
#: part/templates/part/category.html:49
-msgid "Delete part category"
+msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:59 part/templates/part/category.html:98
-msgid "Category Details"
+#: part/templates/part/category.html:57
+msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:64
+#: part/templates/part/category.html:58
+msgid "New Category"
+msgstr ""
+
+#: part/templates/part/category.html:67
+msgid "Top level part category"
+msgstr ""
+
+#: part/templates/part/category.html:79
msgid "Category Path"
msgstr ""
-#: part/templates/part/category.html:69
+#: part/templates/part/category.html:84
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:175
-#: part/templates/part/category_navbar.html:14
-#: part/templates/part/category_navbar.html:17
+#: part/templates/part/category.html:103 part/templates/part/category.html:194
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:93
+#: part/templates/part/category.html:108
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:126
+#: part/templates/part/category.html:145
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:142
+#: part/templates/part/category.html:146 part/templates/part/category.html:170
msgid "Export"
msgstr ""
-#: part/templates/part/category.html:130
+#: part/templates/part/category.html:149
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 templates/js/translated/bom.js:39
+#: part/templates/part/category.html:150 templates/js/translated/bom.js:40
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:141
+#: part/templates/part/category.html:168
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:142
+#: part/templates/part/category.html:170
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:146
-msgid "View list display"
-msgstr ""
-
-#: part/templates/part/category.html:149
-msgid "View grid display"
-msgstr ""
-
-#: part/templates/part/category.html:165
+#: part/templates/part/category.html:184
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:254
+#: part/templates/part/category.html:261
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:281
+#: part/templates/part/category.html:288
msgid "Create Part"
msgstr ""
@@ -4519,12 +4334,7 @@ msgstr ""
msgid "If this category is deleted, these parts will be moved to the top-level category Teile"
msgstr ""
-#: part/templates/part/category_navbar.html:29
-#: part/templates/part/category_navbar.html:32
-msgid "Import Parts"
-msgstr ""
-
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365
msgid "Duplicate Part"
msgstr ""
@@ -4549,311 +4359,315 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)"
msgstr ""
#: part/templates/part/detail.html:16
+msgid "Part Details"
+msgstr ""
+
+#: part/templates/part/detail.html:66
+msgid "Minimum stock level"
+msgstr ""
+
+#: part/templates/part/detail.html:97
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/detail.html:124
msgid "Part Stock"
msgstr ""
-#: part/templates/part/detail.html:21
+#: part/templates/part/detail.html:136
#, python-format
msgid "Showing stock for all variants of %(full_name)s"
msgstr ""
-#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99
+#: part/templates/part/detail.html:146
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:36
+#: part/templates/part/detail.html:151
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:77
-msgid "New sales order"
-msgstr ""
-
-#: part/templates/part/detail.html:77
-msgid "New Order"
-msgstr ""
-
-#: part/templates/part/detail.html:90
+#: part/templates/part/detail.html:208
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27
+#: part/templates/part/detail.html:249
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:137
+#: part/templates/part/detail.html:253
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:138
+#: part/templates/part/detail.html:254
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:161
+#: part/templates/part/detail.html:281
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107
-#: part/templates/part/navbar.html:110
+#: part/templates/part/detail.html:315
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:188
+#: part/templates/part/detail.html:319 part/templates/part/detail.html:320
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43
-#: part/templates/part/navbar.html:46
+#: part/templates/part/detail.html:366
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:237
+#: part/templates/part/detail.html:371
+msgid "Export actions"
+msgstr ""
+
+#: part/templates/part/detail.html:375
+msgid "Export BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:377
+msgid "Print BOM Report"
+msgstr ""
+
+#: part/templates/part/detail.html:387
+msgid "Upload BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:389 templates/js/translated/part.js:266
+msgid "Copy BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:391 part/views.py:820
+msgid "Validate BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:396
+msgid "New BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:397
+msgid "Add BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:410
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:253
+#: part/templates/part/detail.html:427
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:260
-msgid "Start New Build"
-msgstr ""
-
-#: part/templates/part/detail.html:274
+#: part/templates/part/detail.html:452
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:283
+#: part/templates/part/detail.html:462
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:305
+#: part/templates/part/detail.html:489
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:317
+#: part/templates/part/detail.html:505
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:502
+#: part/templates/part/detail.html:686
msgid "Delete selected BOM items?"
msgstr ""
-#: part/templates/part/detail.html:503
+#: part/templates/part/detail.html:687
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:554
+#: part/templates/part/detail.html:738
msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:699
+#: part/templates/part/detail.html:876
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:755
+#: part/templates/part/detail.html:933
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:907
+#: part/templates/part/detail.html:1085
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:919
+#: part/templates/part/detail.html:1097
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:931
+#: part/templates/part/detail.html:1109
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1020
+#: part/templates/part/detail.html:1198
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
#: part/templates/part/import_wizard/ajax_part_upload.html:29
-#: part/templates/part/import_wizard/part_upload.html:51
+#: part/templates/part/import_wizard/part_upload.html:52
msgid "Unsuffitient privileges."
msgstr ""
-#: part/templates/part/import_wizard/part_upload.html:14
+#: part/templates/part/import_wizard/part_upload.html:15
msgid "Import Parts from File"
msgstr ""
-#: part/templates/part/navbar.html:30
-msgid "Variants"
-msgstr ""
-
-#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/navbar.html:70
-msgid "Prices"
-msgstr ""
-
-#: part/templates/part/navbar.html:102
-msgid "Test Templates"
-msgstr ""
-
#: part/templates/part/part_app_base.html:12
msgid "Part List"
msgstr ""
+#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31
+msgid "You are subscribed to notifications for this part"
+msgstr ""
+
#: part/templates/part/part_base.html:35
-msgid "Part is a template part (variants can be made from this part)"
+msgid "Subscribe to notifications for this part"
msgstr ""
-#: part/templates/part/part_base.html:38
-msgid "Part can be assembled from other parts"
-msgstr ""
-
-#: part/templates/part/part_base.html:41
-msgid "Part can be used in assemblies"
-msgstr ""
-
-#: part/templates/part/part_base.html:44
-msgid "Part stock is tracked by serial number"
-msgstr ""
-
-#: part/templates/part/part_base.html:47
-msgid "Part can be purchased from external suppliers"
-msgstr ""
-
-#: part/templates/part/part_base.html:50
-msgid "Part can be sold to customers"
-msgstr ""
-
-#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504
-#: templates/js/translated/company.js:761 templates/js/translated/part.js:443
-#: templates/js/translated/part.js:520
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:73
-msgid "Star this part"
-msgstr ""
-
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:75
-#: stock/templates/stock/location.html:51
+#: part/templates/part/part_base.html:43
+#: stock/templates/stock/item_base.html:28
+#: stock/templates/stock/location.html:29
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:82
-#: stock/templates/stock/item_base.html:77
-#: stock/templates/stock/location.html:53 templates/qr_button.html:1
+#: part/templates/part/part_base.html:45
+#: stock/templates/stock/item_base.html:32
+#: stock/templates/stock/location.html:31 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:83
-#: stock/templates/stock/item_base.html:93
-#: stock/templates/stock/location.html:54
+#: part/templates/part/part_base.html:46
+#: stock/templates/stock/item_base.html:48
+#: stock/templates/stock/location.html:32
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:89
+#: part/templates/part/part_base.html:51
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:95
-#: stock/templates/stock/item_base.html:142
-#: stock/templates/stock/location.html:62
+#: part/templates/part/part_base.html:56
+#: stock/templates/stock/item_base.html:103
+#: stock/templates/stock/location.html:40
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:102
+#: part/templates/part/part_base.html:63
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:108
+#: part/templates/part/part_base.html:69
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:125
+#: part/templates/part/part_base.html:84
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:128
+#: part/templates/part/part_base.html:87
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:131
+#: part/templates/part/part_base.html:90
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:134
+#: part/templates/part/part_base.html:93
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:146
+#: part/templates/part/part_base.html:109
+msgid "Part is a template part (variants can be made from this part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:113
+msgid "Part can be assembled from other parts"
+msgstr ""
+
+#: part/templates/part/part_base.html:117
+msgid "Part can be used in assemblies"
+msgstr ""
+
+#: part/templates/part/part_base.html:121
+msgid "Part stock is tracked by serial number"
+msgstr ""
+
+#: part/templates/part/part_base.html:125
+msgid "Part can be purchased from external suppliers"
+msgstr ""
+
+#: part/templates/part/part_base.html:129
+msgid "Part can be sold to customers"
+msgstr ""
+
+#: part/templates/part/part_base.html:135
+#: part/templates/part/part_base.html:143
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:136
+#: templates/js/translated/company.js:504
+#: templates/js/translated/company.js:761
+#: templates/js/translated/model_renderers.js:175
+#: templates/js/translated/part.js:464 templates/js/translated/part.js:541
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:155
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:161
-#: templates/js/translated/model_renderers.js:169
-#: templates/js/translated/order.js:1503
-#: templates/js/translated/table_filters.js:166
+#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524
+#: templates/js/translated/table_filters.js:182
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960
+#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961
msgid "On Order"
msgstr ""
-#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:181
+#: part/templates/part/part_base.html:199
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:188
+#: part/templates/part/part_base.html:206
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373
+#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776
-#: templates/js/translated/part.js:964
+#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793
+#: templates/js/translated/part.js:965
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:223
-#: part/templates/part/part_base.html:531
-#: part/templates/part/part_base.html:557
-msgid "Show Part Details"
-msgstr ""
-
-#: part/templates/part/part_base.html:283
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144
+#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:445
+#: part/templates/part/part_base.html:363
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:526
-#: part/templates/part/part_base.html:551
-msgid "Hide Part Details"
-msgstr ""
-
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4877,7 +4691,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
-#: templates/js/translated/bom.js:327
+#: templates/js/translated/bom.js:518
msgid "No supplier pricing available"
msgstr ""
@@ -4911,13 +4725,14 @@ msgstr ""
msgid "No pricing information is available for this part."
msgstr ""
-#: part/templates/part/part_thumb.html:20
+#: part/templates/part/part_thumb.html:11
msgid "Select from existing images"
msgstr ""
#: part/templates/part/partial_delete.html:9
#, python-format
-msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
+msgid ""
+"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
"
Disable the \"Active\" part attribute and re-try.\n"
" "
msgstr ""
@@ -4980,7 +4795,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321
+#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512
msgid "Supplier Cost"
msgstr ""
@@ -5002,7 +4817,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:215 part/views.py:1801
+#: part/templates/part/prices.html:215 part/views.py:1853
msgid "Add Internal Price Break"
msgstr ""
@@ -5022,13 +4837,13 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297
-#: templates/js/translated/model_renderers.js:167
-#: templates/js/translated/part.js:766 templates/js/translated/part.js:968
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474
+#: templates/js/translated/part.js:428 templates/js/translated/part.js:783
+#: templates/js/translated/part.js:969
msgid "No Stock"
msgstr ""
-#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166
+#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158
msgid "Low Stock"
msgstr ""
@@ -5041,135 +4856,140 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:106
+#: part/templatetags/inventree_extras.py:113
msgid "Unknown database"
msgstr ""
-#: part/views.py:94
+#: part/views.py:95
msgid "Add Related Part"
msgstr ""
-#: part/views.py:149
+#: part/views.py:150
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:160
+#: part/views.py:161
msgid "Set Part Category"
msgstr ""
-#: part/views.py:210
+#: part/views.py:211
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:270
+#: part/views.py:283
msgid "Match References"
msgstr ""
-#: part/views.py:526
+#: part/views.py:567
msgid "None"
msgstr ""
-#: part/views.py:585
+#: part/views.py:626
msgid "Part QR Code"
msgstr ""
-#: part/views.py:687
+#: part/views.py:728
msgid "Select Part Image"
msgstr ""
-#: part/views.py:713
+#: part/views.py:754
msgid "Updated part image"
msgstr ""
-#: part/views.py:716
+#: part/views.py:757
msgid "Part image not found"
msgstr ""
-#: part/views.py:728
+#: part/views.py:769
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:758
+#: part/views.py:799
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:779
-msgid "Validate BOM"
-msgstr ""
-
-#: part/views.py:800
+#: part/views.py:841
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:811
+#: part/views.py:852
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:884
+#: part/views.py:925
msgid "Match Parts"
msgstr ""
-#: part/views.py:1272
+#: part/views.py:1261
+msgid "Export Bill of Materials"
+msgstr ""
+
+#: part/views.py:1313
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1279
+#: part/views.py:1320
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1288
+#: part/views.py:1329
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1437
+#: part/views.py:1478
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1447
+#: part/views.py:1488
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1454
+#: part/views.py:1495
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1502 templates/js/translated/part.js:308
+#: part/views.py:1554 templates/js/translated/part.js:309
msgid "Edit Part Category"
msgstr ""
-#: part/views.py:1540
+#: part/views.py:1592
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1546
+#: part/views.py:1598
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1555
+#: part/views.py:1607
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1656
+#: part/views.py:1708
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1712
+#: part/views.py:1764
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:1734
+#: part/views.py:1786
msgid "Added new price break"
msgstr ""
-#: part/views.py:1810
+#: part/views.py:1862
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:1818
+#: part/views.py:1870
msgid "Delete Internal Price Break"
msgstr ""
+#: report/api.py:234 report/api.py:278
+#, python-brace-format
+msgid "Template file '{filename}' is missing or does not exist"
+msgstr ""
+
#: report/models.py:182
msgid "Template name"
msgstr ""
@@ -5206,51 +5026,51 @@ msgstr ""
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:380
+#: report/models.py:382
msgid "Build Filters"
msgstr ""
-#: report/models.py:381
+#: report/models.py:383
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:423
+#: report/models.py:425
msgid "Part Filters"
msgstr ""
-#: report/models.py:424
+#: report/models.py:426
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:458
+#: report/models.py:460
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:496
+#: report/models.py:498
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:546
+#: report/models.py:548
msgid "Snippet"
msgstr ""
-#: report/models.py:547
+#: report/models.py:549
msgid "Report snippet file"
msgstr ""
-#: report/models.py:551
+#: report/models.py:553
msgid "Snippet file description"
msgstr ""
-#: report/models.py:586
+#: report/models.py:588
msgid "Asset"
msgstr ""
-#: report/models.py:587
+#: report/models.py:589
msgid "Report asset file"
msgstr ""
-#: report/models.py:590
+#: report/models.py:592
msgid "Asset file description"
msgstr ""
@@ -5267,543 +5087,582 @@ msgstr ""
msgid "Stock Item Test Report"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:83
-msgid "Test Results"
+#: report/templates/report/inventree_test_report_base.html:79
+#: stock/models.py:530 stock/templates/stock/item_base.html:238
+#: templates/js/translated/build.js:233 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1013
+#: templates/js/translated/model_renderers.js:95
+#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355
+msgid "Serial Number"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:1804
+msgid "Test Results"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:93
+#: stock/models.py:1855
msgid "Test"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:89
-#: stock/models.py:1810
+#: report/templates/report/inventree_test_report_base.html:94
+#: stock/models.py:1861
msgid "Result"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502
+#: report/templates/report/inventree_test_report_base.html:97
+#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887
msgid "Date"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:103
+#: report/templates/report/inventree_test_report_base.html:108
msgid "Pass"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:105
+#: report/templates/report/inventree_test_report_base.html:110
msgid "Fail"
msgstr ""
-#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556
-#: stock/templates/stock/item_base.html:395
-#: templates/js/translated/stock.js:946
+#: report/templates/report/inventree_test_report_base.html:123
+msgid "Installed Items"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:137
+#: templates/js/translated/stock.js:2147
+msgid "Serial"
+msgstr ""
+
+#: stock/api.py:422
+msgid "Quantity is required"
+msgstr ""
+
+#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587
+#: stock/templates/stock/item_base.html:382
+#: templates/js/translated/stock.js:1246
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:308
+#: stock/forms.py:92 stock/forms.py:266
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:83
+#: stock/forms.py:95
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:134
+#: stock/forms.py:150
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:138 stock/forms.py:282
+#: stock/forms.py:154 stock/forms.py:238
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:168 stock/forms.py:224
-msgid "Select test report template"
-msgstr ""
-
-#: stock/forms.py:240
+#: stock/forms.py:194
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:270
+#: stock/forms.py:224
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:280
+#: stock/forms.py:236
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm removal of installed stock items"
msgstr ""
-#: stock/models.py:57 stock/models.py:593
+#: stock/models.py:60 stock/models.py:624
+#: stock/templates/stock/item_base.html:422
msgid "Owner"
msgstr ""
-#: stock/models.py:58 stock/models.py:594
+#: stock/models.py:61 stock/models.py:625
msgid "Select Owner"
msgstr ""
-#: stock/models.py:322
+#: stock/models.py:352
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:358
+#: stock/models.py:388
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:368 stock/models.py:377
+#: stock/models.py:398 stock/models.py:407
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:369
+#: stock/models.py:399
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:391
+#: stock/models.py:421
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:397
+#: stock/models.py:427
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:404
+#: stock/models.py:434
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:446
+#: stock/models.py:476
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:455
+#: stock/models.py:485
msgid "Base part"
msgstr ""
-#: stock/models.py:464
+#: stock/models.py:493
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8
+#: stock/models.py:498 stock/templates/stock/location.html:12
+#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:472
+#: stock/models.py:501
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:479
+#: stock/models.py:508
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:484 stock/templates/stock/item_base.html:284
+#: stock/models.py:513 stock/templates/stock/item_base.html:271
msgid "Installed In"
msgstr ""
-#: stock/models.py:487
+#: stock/models.py:516
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:503
+#: stock/models.py:532
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:515
+#: stock/models.py:546
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:519
+#: stock/models.py:550
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:528
+#: stock/models.py:559
msgid "Source Build"
msgstr ""
-#: stock/models.py:530
+#: stock/models.py:561
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:541
+#: stock/models.py:572
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:544
+#: stock/models.py:575
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:550
+#: stock/models.py:581
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:557
+#: stock/models.py:588
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:580 stock/templates/stock/item.html:99
-#: stock/templates/stock/navbar.html:54
+#: stock/models.py:611 stock/templates/stock/item.html:111
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:589
+#: stock/models.py:620
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:599
+#: stock/models.py:630
msgid "Scheduled for deletion"
msgstr ""
-#: stock/models.py:600
+#: stock/models.py:631
msgid "This StockItem will be deleted by the background worker"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1094
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1069
+#: stock/models.py:1100
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1075
+#: stock/models.py:1106
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1078
+#: stock/models.py:1109
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1081
+#: stock/models.py:1112
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1088
+#: stock/models.py:1119
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1246
+#: stock/models.py:1277
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:1724
+#: stock/models.py:1775
msgid "Entry notes"
msgstr ""
-#: stock/models.py:1781
+#: stock/models.py:1832
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:1787
+#: stock/models.py:1838
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:1805
+#: stock/models.py:1856
msgid "Test name"
msgstr ""
-#: stock/models.py:1811 templates/js/translated/table_filters.js:244
+#: stock/models.py:1862 templates/js/translated/table_filters.js:260
msgid "Test result"
msgstr ""
-#: stock/models.py:1817
+#: stock/models.py:1868
msgid "Test output value"
msgstr ""
-#: stock/models.py:1824
+#: stock/models.py:1875
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:1830
+#: stock/models.py:1881
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:424
-msgid "StockItem primary key value"
+#: stock/serializers.py:166
+msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:452
-msgid "Stock transaction notes"
+#: stock/serializers.py:173
+msgid "Purchase currency of this stock item"
msgstr ""
-#: stock/serializers.py:462
-msgid "A list of stock items must be provided"
+#: stock/serializers.py:287
+msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:554
+#: stock/serializers.py:302
+#, python-brace-format
+msgid "Quantity must not exceed available stock quantity ({q})"
+msgstr ""
+
+#: stock/serializers.py:308
+msgid "Enter serial numbers for new items"
+msgstr ""
+
+#: stock/serializers.py:319 stock/serializers.py:687
msgid "Destination stock location"
msgstr ""
-#: stock/templates/stock/item.html:17
+#: stock/serializers.py:326
+msgid "Optional note field"
+msgstr ""
+
+#: stock/serializers.py:339
+msgid "Serial numbers cannot be assigned to this part"
+msgstr ""
+
+#: stock/serializers.py:557
+msgid "StockItem primary key value"
+msgstr ""
+
+#: stock/serializers.py:585
+msgid "Stock transaction notes"
+msgstr ""
+
+#: stock/serializers.py:595
+msgid "A list of stock items must be provided"
+msgstr ""
+
+#: stock/templates/stock/item.html:18
msgid "Stock Tracking Information"
msgstr ""
-#: stock/templates/stock/item.html:30
+#: stock/templates/stock/item.html:29
msgid "New Entry"
msgstr ""
-#: stock/templates/stock/item.html:43
+#: stock/templates/stock/item.html:48
msgid "Child Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:50
+#: stock/templates/stock/item.html:55
msgid "This stock item does not have any child items"
msgstr ""
-#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19
-#: stock/templates/stock/navbar.html:22
+#: stock/templates/stock/item.html:64
msgid "Test Data"
msgstr ""
-#: stock/templates/stock/item.html:66
-msgid "Delete Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:70
-msgid "Add Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95
+#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50
msgid "Test Report"
msgstr ""
-#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27
+#: stock/templates/stock/item.html:72
+msgid "Delete Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:76
+msgid "Add Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:133
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:125 stock/views.py:511
+#: stock/templates/stock/item.html:137 stock/views.py:515
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326
+#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:346
+#: stock/templates/stock/item.html:363
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:360
+#: stock/templates/stock/item.html:377
msgid "Delete Test Result"
msgstr ""
-#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:399
-#: templates/js/translated/table_filters.js:225
-msgid "Expired"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:401
-#: templates/js/translated/table_filters.js:231
-msgid "Stale"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:80
-#: templates/js/translated/barcode.js:331
-#: templates/js/translated/barcode.js:336
+#: stock/templates/stock/item_base.html:35
+#: templates/js/translated/barcode.js:330
+#: templates/js/translated/barcode.js:335
msgid "Unlink Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/item_base.html:37
msgid "Link Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31
+#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24
msgid "Scan to Location"
msgstr ""
-#: stock/templates/stock/item_base.html:91
+#: stock/templates/stock/item_base.html:46
msgid "Printing actions"
msgstr ""
-#: stock/templates/stock/item_base.html:104
+#: stock/templates/stock/item_base.html:65
msgid "Stock adjustment actions"
msgstr ""
-#: stock/templates/stock/item_base.html:108
-#: stock/templates/stock/location.html:69 templates/stock_table.html:57
+#: stock/templates/stock/item_base.html:69
+#: stock/templates/stock/location.html:47 templates/stock_table.html:50
msgid "Count stock"
msgstr ""
-#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55
+#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48
msgid "Add stock"
msgstr ""
-#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56
+#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49
msgid "Remove stock"
msgstr ""
-#: stock/templates/stock/item_base.html:117
+#: stock/templates/stock/item_base.html:78
msgid "Serialize stock"
msgstr ""
-#: stock/templates/stock/item_base.html:121
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/location.html:53
msgid "Transfer stock"
msgstr ""
-#: stock/templates/stock/item_base.html:124
+#: stock/templates/stock/item_base.html:85
msgid "Assign to customer"
msgstr ""
-#: stock/templates/stock/item_base.html:127
+#: stock/templates/stock/item_base.html:88
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install"
msgstr ""
-#: stock/templates/stock/item_base.html:145
+#: stock/templates/stock/item_base.html:106
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:109
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:150
+#: stock/templates/stock/item_base.html:111
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:153
+#: stock/templates/stock/item_base.html:114
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:173
+#: stock/templates/stock/item_base.html:136
+#: stock/templates/stock/item_base.html:386
+#: templates/js/translated/table_filters.js:241
+msgid "Expired"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/table_filters.js:247
+msgid "Stale"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:161
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:180
+#: stock/templates/stock/item_base.html:168
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:181
+#: stock/templates/stock/item_base.html:169
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:194
+#: stock/templates/stock/item_base.html:182
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:202
+#: stock/templates/stock/item_base.html:190
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:210
+#: stock/templates/stock/item_base.html:198
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:216
+#: stock/templates/stock/item_base.html:204
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:220
+#: stock/templates/stock/item_base.html:208
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:224
+#: stock/templates/stock/item_base.html:212
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:232
-msgid "Stock Item Details"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:241
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:260
+#: stock/templates/stock/item_base.html:247
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:303
-#: templates/js/translated/build.js:658
+#: stock/templates/stock/item_base.html:290
+#: templates/js/translated/build.js:1035
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:310
+#: stock/templates/stock/item_base.html:297
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:352
+#: stock/templates/stock/item_base.html:339
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:370
+#: stock/templates/stock/item_base.html:357
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:399
+#: stock/templates/stock/item_base.html:386
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:401
+#: stock/templates/stock/item_base.html:388
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:408
-#: templates/js/translated/stock.js:959
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1259
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:413
+#: stock/templates/stock/item_base.html:400
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:417
+#: stock/templates/stock/item_base.html:404
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:428
+#: stock/templates/stock/item_base.html:415
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:516
-msgid "Save"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:528
+#: stock/templates/stock/item_base.html:504
msgid "Edit Stock Status"
msgstr ""
@@ -5857,106 +5716,68 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:20
-msgid "You are not in the list of owners of this location. This stock location cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/location.html:37
-msgid "All stock items"
-msgstr ""
-
-#: stock/templates/stock/location.html:42
-msgid "Create new stock location"
-msgstr ""
-
-#: stock/templates/stock/location.html:55
+#: stock/templates/stock/location.html:33
msgid "Check-in Items"
msgstr ""
-#: stock/templates/stock/location.html:83
+#: stock/templates/stock/location.html:61
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:85
+#: stock/templates/stock/location.html:63
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:87
+#: stock/templates/stock/location.html:65
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:99
-msgid "Location Details"
+#: stock/templates/stock/location.html:75
+msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:104
-msgid "Location Path"
+#: stock/templates/stock/location.html:76
+msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:109
-msgid "Location Description"
+#: stock/templates/stock/location.html:86
+msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:114
-#: stock/templates/stock/location.html:155
-#: stock/templates/stock/location_navbar.html:11
-#: stock/templates/stock/location_navbar.html:14
+#: stock/templates/stock/location.html:95
+msgid "You are not in the list of owners of this location. This stock location cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/location.html:113
+#: stock/templates/stock/location.html:160
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:124
-msgid "Stock Details"
+#: stock/templates/stock/location.html:118
+#: stock/templates/stock/location.html:132
+#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158
+#: templates/js/translated/stock.js:1871 templates/stats.html:93
+#: templates/stats.html:102 users/models.py:43
+msgid "Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196
+#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170
#: templates/stats.html:97 users/models.py:42
msgid "Stock Locations"
msgstr ""
-#: stock/templates/stock/location.html:162 templates/stock_table.html:37
+#: stock/templates/stock/location.html:167 templates/stock_table.html:30
msgid "Printing Actions"
msgstr ""
-#: stock/templates/stock/location.html:166 templates/stock_table.html:41
+#: stock/templates/stock/location.html:171 templates/stock_table.html:34
msgid "Print labels"
msgstr ""
-#: stock/templates/stock/location.html:250
-msgid "New Location"
-msgstr ""
-
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
-msgstr ""
-
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: stock/templates/stock/navbar.html:11
-msgid "Stock Item Tracking"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:14
-msgid "History"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:30
-msgid "Installed Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:38
-msgid "Child Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:41
-msgid "Children"
-msgstr ""
-
-#: stock/templates/stock/stock_adjust.html:43
-msgid "Remove item"
-msgstr ""
-
#: stock/templates/stock/stock_app_base.html:16
msgid "Loading..."
msgstr ""
@@ -5965,7 +5786,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912
msgid "Convert Stock Item"
msgstr ""
@@ -5986,104 +5807,100 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:158
+#: stock/views.py:162
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:265 stock/views.py:888 stock/views.py:1010
-#: stock/views.py:1375
+#: stock/views.py:269 stock/views.py:891 stock/views.py:1017
+#: stock/views.py:1299
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:280
+#: stock/views.py:284
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:299
+#: stock/views.py:303
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:308
+#: stock/views.py:312
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:332
+#: stock/views.py:336
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:345
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:352
+#: stock/views.py:356
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:363
+#: stock/views.py:367
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:380
+#: stock/views.py:384
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:485
+#: stock/views.py:489
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:660
+#: stock/views.py:663
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:757 templates/js/translated/stock.js:321
+#: stock/views.py:760 templates/js/translated/stock.js:618
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:768
+#: stock/views.py:771
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:790
+#: stock/views.py:793 templates/js/translated/stock.js:288
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:936
+#: stock/views.py:943
msgid "Create new Stock Location"
msgstr ""
-#: stock/views.py:1027
-msgid "Serialize Stock"
-msgstr ""
-
-#: stock/views.py:1120
+#: stock/views.py:1044
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1262
+#: stock/views.py:1186 templates/js/translated/stock.js:268
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1344
+#: stock/views.py:1268
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1444
+#: stock/views.py:1368
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1457
+#: stock/views.py:1381
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1468
+#: stock/views.py:1392
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1475
+#: stock/views.py:1399
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1484
+#: stock/views.py:1408
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6107,63 +5924,67 @@ msgstr ""
msgid "Index"
msgstr ""
-#: templates/InvenTree/index.html:105
-msgid "Starred Parts"
+#: templates/InvenTree/index.html:88
+msgid "Subscribed Parts"
msgstr ""
-#: templates/InvenTree/index.html:115
+#: templates/InvenTree/index.html:98
+msgid "Subscribed Categories"
+msgstr ""
+
+#: templates/InvenTree/index.html:108
msgid "Latest Parts"
msgstr ""
-#: templates/InvenTree/index.html:126
+#: templates/InvenTree/index.html:119
msgid "BOM Waiting Validation"
msgstr ""
-#: templates/InvenTree/index.html:153
+#: templates/InvenTree/index.html:145
msgid "Recently Updated"
msgstr ""
-#: templates/InvenTree/index.html:176
+#: templates/InvenTree/index.html:168
msgid "Depleted Stock"
msgstr ""
-#: templates/InvenTree/index.html:199
+#: templates/InvenTree/index.html:191
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:202
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:232
+#: templates/InvenTree/index.html:224
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:243
+#: templates/InvenTree/index.html:235
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:263
+#: templates/InvenTree/index.html:255
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:274
+#: templates/InvenTree/index.html:266
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:294
+#: templates/InvenTree/index.html:286
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:305
+#: templates/InvenTree/index.html:297
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14
+#: templates/InvenTree/search.html:8
msgid "Search Results"
msgstr ""
-#: templates/InvenTree/search.html:24
+#: templates/InvenTree/search.html:22
msgid "Enter a search query"
msgstr ""
@@ -6183,23 +6004,23 @@ msgstr ""
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:23
+#: templates/InvenTree/settings/currencies.html:19
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:27
+#: templates/InvenTree/settings/currencies.html:24
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:37
+#: templates/InvenTree/settings/currencies.html:38
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:43
+#: templates/InvenTree/settings/currencies.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:48
+#: templates/InvenTree/settings/currencies.html:49
msgid "Update Now"
msgstr ""
@@ -6207,147 +6028,74 @@ msgstr ""
msgid "Server Settings"
msgstr ""
-#: templates/InvenTree/settings/header.html:7
-msgid "Setting"
-msgstr ""
-
#: templates/InvenTree/settings/login.html:9
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:12
-#: templates/InvenTree/settings/user_settings.html:9
-msgid "User Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:15
-#: templates/InvenTree/settings/navbar.html:17
-msgid "Account"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:21
-#: templates/InvenTree/settings/navbar.html:23
-msgid "Home Page"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29
-#: templates/js/translated/tables.js:375 templates/search_form.html:6
-#: templates/search_form.html:8
-msgid "Search"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:33
-#: templates/InvenTree/settings/navbar.html:35
-msgid "Labels"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:39
-#: templates/InvenTree/settings/navbar.html:41
-msgid "Reports"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:45
-#: templates/InvenTree/settings/navbar.html:47
-msgid "Forms"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:52
-#: templates/InvenTree/settings/navbar.html:54
-#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90
-msgid "Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:62
-msgid "InvenTree Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:65
-#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87
-msgid "Login"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:77
-#: templates/InvenTree/settings/navbar.html:79
-msgid "Barcodes"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85
-msgid "Currencies"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91
-msgid "Reporting"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103
-msgid "Categories"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:7
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:12
-msgid "Part Options"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:43
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:47
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:59
+#: templates/InvenTree/settings/part.html:61
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/po.html:9
+#: templates/InvenTree/settings/po.html:7
msgid "Purchase Order Settings"
msgstr ""
-#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:29
+#: templates/InvenTree/settings/setting.html:28
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:41
+#: templates/InvenTree/settings/setting.html:39
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:154
+#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93
+msgid "Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+msgid "Edit Global Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+msgid "Edit User Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:148
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:176
-#: templates/InvenTree/settings/settings.html:275
+#: templates/InvenTree/settings/settings.html:170
+#: templates/InvenTree/settings/settings.html:269
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:177
-#: templates/InvenTree/settings/settings.html:276
+#: templates/InvenTree/settings/settings.html:171
+#: templates/InvenTree/settings/settings.html:270
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:255
+#: templates/InvenTree/settings/settings.html:249
msgid "No part parameter templates found"
msgstr ""
@@ -6363,134 +6111,154 @@ msgstr ""
msgid "Account Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:19
+#: templates/InvenTree/settings/user.html:18
#: templates/js/translated/helpers.js:26
msgid "Edit"
msgstr ""
-#: templates/InvenTree/settings/user.html:21
+#: templates/InvenTree/settings/user.html:20
#: templates/account/password_reset_from_key.html:4
#: templates/account/password_reset_from_key.html:7
msgid "Change Password"
msgstr ""
-#: templates/InvenTree/settings/user.html:28
+#: templates/InvenTree/settings/user.html:31
msgid "Username"
msgstr ""
-#: templates/InvenTree/settings/user.html:32
+#: templates/InvenTree/settings/user.html:35
msgid "First Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:36
+#: templates/InvenTree/settings/user.html:39
msgid "Last Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:42
-msgid "E-Mail"
+#: templates/InvenTree/settings/user.html:54
+msgid "The following email addresses are associated with your account:"
msgstr ""
-#: templates/InvenTree/settings/user.html:47
-msgid "The following e-mail addresses are associated with your account:"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:61
+#: templates/InvenTree/settings/user.html:74
msgid "Verified"
msgstr ""
-#: templates/InvenTree/settings/user.html:63
+#: templates/InvenTree/settings/user.html:76
msgid "Unverified"
msgstr ""
-#: templates/InvenTree/settings/user.html:65
+#: templates/InvenTree/settings/user.html:78
msgid "Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:71
+#: templates/InvenTree/settings/user.html:84
msgid "Make Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:72
+#: templates/InvenTree/settings/user.html:85
msgid "Re-send Verification"
msgstr ""
-#: templates/InvenTree/settings/user.html:73
-#: templates/InvenTree/settings/user.html:130
+#: templates/InvenTree/settings/user.html:86
+#: templates/InvenTree/settings/user.html:153
msgid "Remove"
msgstr ""
-#: templates/InvenTree/settings/user.html:80
+#: templates/InvenTree/settings/user.html:93
msgid "Warning:"
msgstr ""
-#: templates/InvenTree/settings/user.html:81
-msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc."
+#: templates/InvenTree/settings/user.html:94
+msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc."
msgstr ""
-#: templates/InvenTree/settings/user.html:88
-msgid "Add E-mail Address"
+#: templates/InvenTree/settings/user.html:101
+msgid "Add Email Address"
msgstr ""
-#: templates/InvenTree/settings/user.html:93
-msgid "Add E-mail"
+#: templates/InvenTree/settings/user.html:111
+msgid "Enter e-mail address"
msgstr ""
-#: templates/InvenTree/settings/user.html:100
+#: templates/InvenTree/settings/user.html:113
+msgid "Add Email"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:123
msgid "Social Accounts"
msgstr ""
-#: templates/InvenTree/settings/user.html:105
+#: templates/InvenTree/settings/user.html:128
msgid "You can sign in to your account using any of the following third party accounts:"
msgstr ""
-#: templates/InvenTree/settings/user.html:138
-msgid "You currently have no social network accounts connected to this account."
+#: templates/InvenTree/settings/user.html:162
+msgid "There are no social network accounts connected to your InvenTree account"
msgstr ""
-#: templates/InvenTree/settings/user.html:142
+#: templates/InvenTree/settings/user.html:167
msgid "Add a 3rd Party Account"
msgstr ""
-#: templates/InvenTree/settings/user.html:153
-msgid "Theme Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:174
-msgid "Set Theme"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:181
+#: templates/InvenTree/settings/user.html:177
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:200
+#: templates/InvenTree/settings/user.html:186
+msgid "Select language"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:202
#, python-format
msgid "%(lang_translated)s%% translated"
msgstr ""
-#: templates/InvenTree/settings/user.html:202
+#: templates/InvenTree/settings/user.html:204
msgid "No translations available"
msgstr ""
-#: templates/InvenTree/settings/user.html:209
+#: templates/InvenTree/settings/user.html:211
msgid "Set Language"
msgstr ""
-#: templates/InvenTree/settings/user.html:214
-msgid "Help the translation efforts!"
+#: templates/InvenTree/settings/user.html:213
+msgid "Some languages are not complete"
msgstr ""
#: templates/InvenTree/settings/user.html:215
+msgid "Show only sufficent"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:217
+msgid "Show them too"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:224
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:225
#, python-format
msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
msgstr ""
-#: templates/InvenTree/settings/user.html:223
-msgid "Do you really want to remove the selected e-mail address?"
+#: templates/InvenTree/settings/user.html:233
+msgid "Do you really want to remove the selected email address?"
msgstr ""
-#: templates/InvenTree/settings/user_forms.html:9
-msgid "Form Settings"
+#: templates/InvenTree/settings/user_display.html:9
+msgid "Display Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:25
+msgid "Theme Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:35
+msgid "Select theme"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:46
+msgid "Set Theme"
msgstr ""
#: templates/InvenTree/settings/user_homepage.html:9
@@ -6505,124 +6273,139 @@ msgstr ""
msgid "Search Settings"
msgstr ""
-#: templates/about.html:13
+#: templates/InvenTree/settings/user_settings.html:9
+msgid "User Settings"
+msgstr ""
+
+#: templates/about.html:10
msgid "InvenTree Version Information"
msgstr ""
-#: templates/about.html:22
+#: templates/about.html:11 templates/about.html:105
+#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:964 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
+msgid "Close"
+msgstr ""
+
+#: templates/about.html:20
msgid "InvenTree Version"
msgstr ""
-#: templates/about.html:27
+#: templates/about.html:25
msgid "Development Version"
msgstr ""
-#: templates/about.html:30
+#: templates/about.html:28
msgid "Up to Date"
msgstr ""
-#: templates/about.html:32
+#: templates/about.html:30
msgid "Update Available"
msgstr ""
-#: templates/about.html:42
+#: templates/about.html:40
msgid "Commit Hash"
msgstr ""
-#: templates/about.html:49
+#: templates/about.html:47
msgid "Commit Date"
msgstr ""
-#: templates/about.html:55
+#: templates/about.html:53
msgid "InvenTree Documentation"
msgstr ""
-#: templates/about.html:60
+#: templates/about.html:58
msgid "API Version"
msgstr ""
-#: templates/about.html:65
+#: templates/about.html:63
msgid "Python Version"
msgstr ""
-#: templates/about.html:70
+#: templates/about.html:68
msgid "Django Version"
msgstr ""
-#: templates/about.html:75
+#: templates/about.html:73
msgid "View Code on GitHub"
msgstr ""
-#: templates/about.html:80
+#: templates/about.html:78
msgid "Credits"
msgstr ""
-#: templates/about.html:85
+#: templates/about.html:83
msgid "Mobile App"
msgstr ""
-#: templates/about.html:90
+#: templates/about.html:88
msgid "Submit Bug Report"
msgstr ""
-#: templates/about.html:97 templates/clip.html:4
+#: templates/about.html:95 templates/clip.html:4
msgid "copy to clipboard"
msgstr ""
-#: templates/about.html:97
+#: templates/about.html:95
msgid "copy version information"
msgstr ""
-#: templates/about.html:107 templates/js/translated/modals.js:50
-#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678
-#: templates/js/translated/modals.js:982 templates/modals.html:29
-#: templates/modals.html:54
-msgid "Close"
-msgstr ""
-
#: templates/account/email_confirm.html:6
#: templates/account/email_confirm.html:10
-msgid "Confirm E-mail Address"
+msgid "Confirm Email Address"
msgstr ""
#: templates/account/email_confirm.html:16
#, python-format
-msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s."
+msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
#: templates/account/email_confirm.html:27
#, python-format
-msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request."
+msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:5 templates/account/login.html:14
-#: templates/account/login.html:36
+#: templates/account/login.html:6 templates/account/login.html:16
+#: templates/account/login.html:39
msgid "Sign In"
msgstr ""
-#: templates/account/login.html:19
+#: templates/account/login.html:21
#, python-format
-msgid "Please sign in with one\n"
+msgid ""
+"Please sign in with one\n"
"of your existing third party accounts or sign up\n"
"for a account and sign in below:"
msgstr ""
-#: templates/account/login.html:23
+#: templates/account/login.html:25
#, python-format
-msgid "If you have not created an account yet, then please\n"
+msgid ""
+"If you have not created an account yet, then please\n"
"sign up first."
msgstr ""
-#: templates/account/login.html:38
+#: templates/account/login.html:42
msgid "Forgot Password?"
msgstr ""
-#: templates/account/login.html:45
+#: templates/account/login.html:47
+msgid "InvenTree demo instance"
+msgstr ""
+
+#: templates/account/login.html:47
+msgid "Click here for login details"
+msgstr ""
+
+#: templates/account/login.html:55
msgid "or use SSO"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
-#: templates/account/logout.html:17
+#: templates/account/logout.html:20
msgid "Sign Out"
msgstr ""
@@ -6630,13 +6413,17 @@ msgstr ""
msgid "Are you sure you want to sign out?"
msgstr ""
+#: templates/account/logout.html:19
+msgid "Back to Site"
+msgstr ""
+
#: templates/account/password_reset.html:5
#: templates/account/password_reset.html:12
msgid "Password Reset"
msgstr ""
#: templates/account/password_reset.html:18
-msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it."
+msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it."
msgstr ""
#: templates/account/password_reset.html:23
@@ -6656,11 +6443,11 @@ msgstr ""
msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
msgstr ""
-#: templates/account/password_reset_from_key.html:17
-msgid "change password"
+#: templates/account/password_reset_from_key.html:18
+msgid "Change password"
msgstr ""
-#: templates/account/password_reset_from_key.html:20
+#: templates/account/password_reset_from_key.html:22
msgid "Your password is now changed."
msgstr ""
@@ -6677,6 +6464,77 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/admin_button.html:2
+msgid "View in administration panel"
+msgstr ""
+
+#: templates/base.html:96
+msgid "Server Restart Required"
+msgstr ""
+
+#: templates/base.html:99
+msgid "A configuration option has been changed which requires a server restart"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Contact your system administrator for further information"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:7
+msgid "Stock is required for the following build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:8
+#, python-format
+msgid "Build order %(build)s - building %(quantity)s x %(part)s"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:10
+msgid "Click on the following link to view this build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:14
+msgid "The following parts are low on required stock"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:18
+#: templates/js/translated/bom.js:989
+msgid "Required Quantity"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:19
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129
+#: templates/js/translated/build.js:1749
+msgid "Available"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:38
+#: templates/email/low_stock_notification.html:31
+msgid "You are receiving this email because you are subscribed to notifications for this part "
+msgstr ""
+
+#: templates/email/email.html:35
+msgid "InvenTree version"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:7
+#, python-format
+msgid " The available stock for %(part)s has fallen below the configured minimum level"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:9
+msgid "Click on the following link to view this part"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:17
+msgid "Total Stock"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:19
+msgid "Minimum Quantity"
+msgstr ""
+
#: templates/image_download.html:8
msgid "Specify URL for downloading image"
msgstr ""
@@ -6693,138 +6551,59 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/report.js:47 templates/js/translated/report.js:67
-msgid "items selected"
-msgstr ""
-
-#: templates/js/report.js:55 templates/js/translated/report.js:75
-msgid "Select Report Template"
-msgstr ""
-
-#: templates/js/report.js:70 templates/js/translated/report.js:90
-msgid "Select Test Report Template"
-msgstr ""
-
-#: templates/js/report.js:98 templates/js/translated/label.js:29
-#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/report.js:99 templates/js/translated/report.js:119
-msgid "Stock item(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:116 templates/js/report.js:169
-#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331 templates/js/translated/report.js:136
-#: templates/js/translated/report.js:189 templates/js/translated/report.js:243
-#: templates/js/translated/report.js:297 templates/js/translated/report.js:351
-msgid "No Reports Found"
-msgstr ""
-
-#: templates/js/report.js:117 templates/js/translated/report.js:137
-msgid "No report templates found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/report.js:152 templates/js/translated/report.js:172
-msgid "Select Builds"
-msgstr ""
-
-#: templates/js/report.js:153 templates/js/translated/report.js:173
-msgid "Build(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:170 templates/js/translated/report.js:190
-msgid "No report templates found which match selected build(s)"
-msgstr ""
-
-#: templates/js/report.js:205 templates/js/translated/build.js:948
-#: templates/js/translated/label.js:134 templates/js/translated/report.js:225
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/report.js:206 templates/js/translated/report.js:226
-msgid "Part(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:224 templates/js/translated/report.js:244
-msgid "No report templates found which match selected part(s)"
-msgstr ""
-
-#: templates/js/report.js:259 templates/js/translated/report.js:279
-msgid "Select Purchase Orders"
-msgstr ""
-
-#: templates/js/report.js:260 templates/js/translated/report.js:280
-msgid "Purchase Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/report.js:278 templates/js/report.js:332
-#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
-msgid "No report templates found which match selected orders"
-msgstr ""
-
-#: templates/js/report.js:313 templates/js/translated/report.js:333
-msgid "Select Sales Orders"
-msgstr ""
-
-#: templates/js/report.js:314 templates/js/translated/report.js:334
-msgid "Sales Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053
+#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035
msgid "No response from the InvenTree server"
msgstr ""
-#: templates/js/translated/api.js:181
+#: templates/js/translated/api.js:191
msgid "Error 400: Bad request"
msgstr ""
-#: templates/js/translated/api.js:182
+#: templates/js/translated/api.js:192
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063
+#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055
msgid "The requested resource could not be located on the server"
msgstr ""
-#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060
msgid "Connection timeout while requesting data from server"
msgstr ""
-#: templates/js/translated/api.js:205
+#: templates/js/translated/api.js:215
msgid "Unhandled Error Code"
msgstr ""
-#: templates/js/translated/api.js:206
+#: templates/js/translated/api.js:216
msgid "Error code"
msgstr ""
@@ -6832,292 +6611,369 @@ msgstr ""
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:91
+#: templates/js/translated/attachment.js:95
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:104
+#: templates/js/translated/attachment.js:108
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:115
msgid "Delete attachment"
msgstr ""
-#: templates/js/translated/barcode.js:30
+#: templates/js/translated/barcode.js:29
msgid "Scan barcode data here using wedge scanner"
msgstr ""
-#: templates/js/translated/barcode.js:32
+#: templates/js/translated/barcode.js:31
msgid "Enter barcode data"
msgstr ""
-#: templates/js/translated/barcode.js:36
+#: templates/js/translated/barcode.js:35
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:54
+#: templates/js/translated/barcode.js:53
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:55
+#: templates/js/translated/barcode.js:54
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:93
+#: templates/js/translated/barcode.js:92
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:114
+#: templates/js/translated/barcode.js:113
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:141
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/barcode.js:140
+#: templates/js/translated/modals.js:1024
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:234
+#: templates/js/translated/barcode.js:233
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:281 templates/navbar.html:65
+#: templates/js/translated/barcode.js:280 templates/navbar.html:69
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:292
+#: templates/js/translated/barcode.js:291
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:310
+#: templates/js/translated/barcode.js:309
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:333
+#: templates/js/translated/barcode.js:332
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:339
+#: templates/js/translated/barcode.js:338
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273
+#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:440
+#: templates/js/translated/barcode.js:439
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:444
-#: templates/js/translated/barcode.js:571
+#: templates/js/translated/barcode.js:443
+#: templates/js/translated/barcode.js:573
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:486
-#: templates/js/translated/barcode.js:610
+#: templates/js/translated/barcode.js:485
+#: templates/js/translated/barcode.js:612
msgid "Error transferring stock"
msgstr ""
-#: templates/js/translated/barcode.js:505
+#: templates/js/translated/barcode.js:507
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:509
+#: templates/js/translated/barcode.js:511
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:516
+#: templates/js/translated/barcode.js:518
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:523
+#: templates/js/translated/barcode.js:525
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:566
+#: templates/js/translated/barcode.js:568
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:629
+#: templates/js/translated/barcode.js:633
msgid "Barcode does not match a valid location"
msgstr ""
-#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495
+#: templates/js/translated/bom.js:184
+msgid "Remove substitute part"
+msgstr ""
+
+#: templates/js/translated/bom.js:226
+msgid "Select and add a new variant item using the input below"
+msgstr ""
+
+#: templates/js/translated/bom.js:237
+msgid "Are you sure you wish to remove this substitute part link?"
+msgstr ""
+
+#: templates/js/translated/bom.js:243
+msgid "Remove Substitute Part"
+msgstr ""
+
+#: templates/js/translated/bom.js:282
+msgid "Add Substitute"
+msgstr ""
+
+#: templates/js/translated/bom.js:283
+msgid "Edit BOM Item Substitutes"
+msgstr ""
+
+#: templates/js/translated/bom.js:402
+msgid "Substitutes Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111
+msgid "Variant stock allowed"
+msgstr ""
+
+#: templates/js/translated/bom.js:411
msgid "Open subassembly"
msgstr ""
-#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744
-#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522
-msgid "Available"
+#: templates/js/translated/bom.js:483
+msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:307
+#: templates/js/translated/bom.js:498
msgid "Purchase Price Range"
msgstr ""
-#: templates/js/translated/bom.js:314
+#: templates/js/translated/bom.js:505
msgid "Purchase Price Average"
msgstr ""
-#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449
+#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798
-#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285
+#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183
+#: templates/js/translated/order.js:1298
msgid "Actions"
msgstr ""
-#: templates/js/translated/bom.js:423
+#: templates/js/translated/bom.js:614
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:425
+#: templates/js/translated/bom.js:616
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590
+#: templates/js/translated/bom.js:618
+msgid "Edit substitute parts"
+msgstr ""
+
+#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575
+#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:1593
+#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/build.js:71
-msgid "Edit Build Order"
+#: templates/js/translated/bom.js:772
+msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/build.js:105
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/translated/build.js:138
-msgid "Allocate stock items to this build output"
-msgstr ""
-
-#: templates/js/translated/build.js:146
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/translated/build.js:155
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:164
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:265
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356
-#: templates/js/translated/order.js:1292
-msgid "Edit stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357
-#: templates/js/translated/order.js:1293
-msgid "Delete stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:695
-msgid "Edit Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:705
-msgid "Remove Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:718
+#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095
msgid "Required Part"
msgstr ""
-#: templates/js/translated/build.js:739
+#: templates/js/translated/bom.js:994
+msgid "Inherited from parent BOM"
+msgstr ""
+
+#: templates/js/translated/build.js:78
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:112
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:133
+msgid "Allocate stock items to this build output"
+msgstr ""
+
+#: templates/js/translated/build.js:144
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:153
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:161
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:184
+msgid "Are you sure you wish to unallocate stock items from this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:202
+msgid "Unallocate Stock Items"
+msgstr ""
+
+#: templates/js/translated/build.js:220
+msgid "Select Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:221
+msgid "At least one build output must be selected"
+msgstr ""
+
+#: templates/js/translated/build.js:275
+msgid "Output"
+msgstr ""
+
+#: templates/js/translated/build.js:291
+msgid "Complete Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:386
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:603
+msgid "No active build outputs found"
+msgstr ""
+
+#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760
+#: templates/js/translated/order.js:1305
+msgid "Edit stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761
+#: templates/js/translated/order.js:1306
+msgid "Delete stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1072
+msgid "Edit Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1082
+msgid "Remove Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1107
+msgid "Substitute parts available"
+msgstr ""
+
+#: templates/js/translated/build.js:1124
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:749 templates/js/translated/build.js:975
-#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514
+#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360
+#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553
-#: templates/js/translated/order.js:1567
+#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557
-#: templates/stock_table.html:59
+#: templates/js/translated/build.js:1194 templates/stock_table.html:52
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560
+#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:880
+#: templates/js/translated/build.js:1262
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:949
+#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134
+#: templates/js/translated/report.js:225
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/translated/build.js:1334
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:963
+#: templates/js/translated/build.js:1348
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:992
+#: templates/js/translated/build.js:1377
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/build.js:993
+#: templates/js/translated/build.js:1378
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:1004
+#: templates/js/translated/build.js:1389
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:1048
+#: templates/js/translated/build.js:1451
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:1172
+#: templates/js/translated/build.js:1576
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856
-#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762
-#: templates/js/translated/stock.js:1456
+#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873
+#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064
+#: templates/js/translated/stock.js:1841
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:1209
+#: templates/js/translated/build.js:1613
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675
+#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:1282
+#: templates/js/translated/build.js:1686
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:1333
+#: templates/js/translated/build.js:1737
msgid "No parts allocated for"
msgstr ""
@@ -7137,7 +6993,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:164 templates/js/translated/order.js:89
+#: templates/js/translated/company.js:164 templates/js/translated/order.js:90
msgid "Add Supplier"
msgstr ""
@@ -7186,34 +7042,34 @@ msgid "No manufacturer parts found"
msgstr ""
#: templates/js/translated/company.js:496
-#: templates/js/translated/company.js:753 templates/js/translated/part.js:427
-#: templates/js/translated/part.js:512
+#: templates/js/translated/company.js:753 templates/js/translated/part.js:448
+#: templates/js/translated/part.js:533
msgid "Template part"
msgstr ""
#: templates/js/translated/company.js:500
-#: templates/js/translated/company.js:757 templates/js/translated/part.js:431
-#: templates/js/translated/part.js:516
+#: templates/js/translated/company.js:757 templates/js/translated/part.js:452
+#: templates/js/translated/part.js:537
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:627 templates/js/translated/part.js:604
+#: templates/js/translated/company.js:627 templates/js/translated/part.js:625
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:664 templates/js/translated/part.js:646
+#: templates/js/translated/company.js:664 templates/js/translated/part.js:667
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:665 templates/js/translated/part.js:647
+#: templates/js/translated/company.js:665 templates/js/translated/part.js:668
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:684 templates/js/translated/part.js:664
+#: templates/js/translated/company.js:684 templates/js/translated/part.js:685
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:695 templates/js/translated/part.js:676
+#: templates/js/translated/company.js:695 templates/js/translated/part.js:697
msgid "Delete Parameter"
msgstr ""
@@ -7222,12 +7078,12 @@ msgid "No supplier parts found"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:407
+#: templates/js/translated/filters.js:420
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:408
+#: templates/js/translated/filters.js:421
msgid "false"
msgstr ""
@@ -7235,57 +7091,61 @@ msgstr ""
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:284
+#: templates/js/translated/filters.js:286
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:286
+#: templates/js/translated/filters.js:290
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:289
+#: templates/js/translated/filters.js:293
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:317
+#: templates/js/translated/filters.js:329
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336
-#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360
+#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364
+#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:324
+#: templates/js/translated/forms.js:351
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:337
+#: templates/js/translated/forms.js:366
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:349
+#: templates/js/translated/forms.js:380
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:361
+#: templates/js/translated/forms.js:394
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:968 templates/modals.html:21
-#: templates/modals.html:47
+#: templates/js/translated/forms.js:679
+msgid "Enter a valid number"
+msgstr ""
+
+#: templates/js/translated/forms.js:1071 templates/modals.html:19
+#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1323
+#: templates/js/translated/forms.js:1457
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1525
+#: templates/js/translated/forms.js:1661
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:1742
+#: templates/js/translated/forms.js:1878
msgid "Clear input"
msgstr ""
@@ -7297,6 +7157,11 @@ msgstr ""
msgid "NO"
msgstr ""
+#: templates/js/translated/label.js:29 templates/js/translated/report.js:118
+#: templates/js/translated/stock.js:594
+msgid "Select Stock Items"
+msgstr ""
+
#: templates/js/translated/label.js:30
msgid "Stock item(s) must be selected before printing labels"
msgstr ""
@@ -7342,62 +7207,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119
+#: templates/js/translated/modals.js:593
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981
-#: templates/modals.html:30 templates/modals.html:55
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963
+#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:117
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:397
+#: templates/js/translated/modals.js:380
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:556
+#: templates/js/translated/modals.js:539
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:592
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:649
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:945
+#: templates/js/translated/modals.js:927
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/modals.js:1024
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1057
+#: templates/js/translated/modals.js:1039
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1058
+#: templates/js/translated/modals.js:1040
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1081
+#: templates/js/translated/modals.js:1063
msgid "Error requesting form data"
msgstr ""
@@ -7405,35 +7270,35 @@ msgstr ""
msgid "Company ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:90
+#: templates/js/translated/model_renderers.js:77
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:125
+#: templates/js/translated/model_renderers.js:130
msgid "Location ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:142
+#: templates/js/translated/model_renderers.js:147
msgid "Build ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:177
+#: templates/js/translated/model_renderers.js:182
msgid "Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:231
+#: templates/js/translated/model_renderers.js:236
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:251
+#: templates/js/translated/model_renderers.js:256
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:288
+#: templates/js/translated/model_renderers.js:293
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:317
+#: templates/js/translated/model_renderers.js:322
msgid "Supplier Part ID"
msgstr ""
@@ -7445,565 +7310,688 @@ msgstr ""
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:207
+#: templates/js/translated/order.js:208
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96
+#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393
msgid "Format"
msgstr ""
-#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97
+#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394
msgid "Select file format"
msgstr ""
-#: templates/js/translated/order.js:299
+#: templates/js/translated/order.js:300
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:300
+#: templates/js/translated/order.js:301
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:325
+#: templates/js/translated/order.js:326
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343
+#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:426
+#: templates/js/translated/order.js:427
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:428
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:429
+#: templates/js/translated/order.js:430
msgid "Receive"
msgstr ""
-#: templates/js/translated/order.js:448
+#: templates/js/translated/order.js:449
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:449
+#: templates/js/translated/order.js:450
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:626
+#: templates/js/translated/order.js:627
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028
+#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602
+#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613
+#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:800
+#: templates/js/translated/order.js:801
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432
+#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457
-#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554
+#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470
+#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464
-msgid "Total price"
+#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486
+msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573
+#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:963
+#: templates/js/translated/order.js:976
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:967
+#: templates/js/translated/order.js:980
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1004
+#: templates/js/translated/order.js:1017
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1055
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1120
+#: templates/js/translated/order.js:1133
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:1213
+#: templates/js/translated/order.js:1226
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1231
+#: templates/js/translated/order.js:1244
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1273
+#: templates/js/translated/order.js:1286
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:1514
+#: templates/js/translated/order.js:1535
msgid "Fulfilled"
msgstr ""
-#: templates/js/translated/order.js:1557
+#: templates/js/translated/order.js:1579
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1585
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725
+#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1596
msgid "Delete line item "
msgstr ""
-#: templates/js/translated/order.js:1673
+#: templates/js/translated/order.js:1719
msgid "Allocate Stock Item"
msgstr ""
-#: templates/js/translated/order.js:1733
+#: templates/js/translated/order.js:1779
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1747
+#: templates/js/translated/order.js:1793
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/part.js:49
+#: templates/js/translated/part.js:50
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:53
+#: templates/js/translated/part.js:54
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:57
+#: templates/js/translated/part.js:58
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:61
+#: templates/js/translated/part.js:62
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:75
+#: templates/js/translated/part.js:76
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:164
+#: templates/js/translated/part.js:165
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:165
+#: templates/js/translated/part.js:166
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:172
+#: templates/js/translated/part.js:173
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:173
+#: templates/js/translated/part.js:174
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:180
+#: templates/js/translated/part.js:181
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:191
+#: templates/js/translated/part.js:192
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:192
+#: templates/js/translated/part.js:193
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:201
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:202
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:257
+#: templates/js/translated/part.js:258
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:258
+#: templates/js/translated/part.js:259
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:265
-msgid "Copy BOM"
-msgstr ""
-
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:267
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:273
+#: templates/js/translated/part.js:274
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:274
+#: templates/js/translated/part.js:275
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:287
+#: templates/js/translated/part.js:288
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:331
+#: templates/js/translated/part.js:332
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:419 templates/js/translated/part.js:504
+#: templates/js/translated/part.js:334
+msgid "Part edited"
+msgstr ""
+
+#: templates/js/translated/part.js:402
+msgid "You are subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:404
+msgid "You have subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:409
+msgid "Subscribe to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:411
+msgid "You have unsubscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:440 templates/js/translated/part.js:525
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:423 templates/js/translated/part.js:508
+#: templates/js/translated/part.js:444 templates/js/translated/part.js:529
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:435
-msgid "Starred part"
+#: templates/js/translated/part.js:456
+msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:439
+#: templates/js/translated/part.js:460
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:554
+#: templates/js/translated/part.js:575
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005
+#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:932
+#: templates/js/translated/part.js:933
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:955
-#: templates/js/translated/table_filters.js:359
+#: templates/js/translated/part.js:956
+#: templates/js/translated/table_filters.js:375
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480
+#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200
+#: templates/js/translated/stock.js:1802
+msgid "Display as list"
+msgstr ""
+
+#: templates/js/translated/part.js:1044
+msgid "Display as grid"
+msgstr ""
+
+#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821
+msgid "Display as tree"
+msgstr ""
+
+#: templates/js/translated/part.js:1283
+msgid "Subscribed category"
+msgstr ""
+
+#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1202
+#: templates/js/translated/part.js:1341
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493
+#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494
+#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1260
+#: templates/js/translated/part.js:1399
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1282
+#: templates/js/translated/part.js:1421
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1296
+#: templates/js/translated/part.js:1435
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1321
+#: templates/js/translated/part.js:1460
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1376
+#: templates/js/translated/part.js:1515
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1377
+#: templates/js/translated/part.js:1516
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1478
+#: templates/js/translated/part.js:1617
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1497
+#: templates/js/translated/part.js:1636
msgid "Single Price Difference"
msgstr ""
-#: templates/js/translated/stock.js:63
+#: templates/js/translated/report.js:67
+msgid "items selected"
+msgstr ""
+
+#: templates/js/translated/report.js:75
+msgid "Select Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:90
+msgid "Select Test Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:119
+msgid "Stock item(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:136 templates/js/translated/report.js:189
+#: templates/js/translated/report.js:243 templates/js/translated/report.js:297
+#: templates/js/translated/report.js:351
+msgid "No Reports Found"
+msgstr ""
+
+#: templates/js/translated/report.js:137
+msgid "No report templates found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:172
+msgid "Select Builds"
+msgstr ""
+
+#: templates/js/translated/report.js:173
+msgid "Build(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:190
+msgid "No report templates found which match selected build(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:226
+msgid "Part(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:244
+msgid "No report templates found which match selected part(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:279
+msgid "Select Purchase Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:280
+msgid "Purchase Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
+msgid "No report templates found which match selected orders"
+msgstr ""
+
+#: templates/js/translated/report.js:333
+msgid "Select Sales Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:334
+msgid "Sales Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/stock.js:70
+msgid "Serialize Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:90
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:126
+msgid "New Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:189
+msgid "Enter initial quantity for this stock item"
+msgstr ""
+
+#: templates/js/translated/stock.js:195
+msgid "Enter serial numbers for new stock (or leave blank)"
+msgstr ""
+
+#: templates/js/translated/stock.js:338
+msgid "Created new stock item"
+msgstr ""
+
+#: templates/js/translated/stock.js:351
+msgid "Created multiple stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:390
msgid "Export Stock"
msgstr ""
-#: templates/js/translated/stock.js:104
+#: templates/js/translated/stock.js:401
msgid "Include Sublocations"
msgstr ""
-#: templates/js/translated/stock.js:105
+#: templates/js/translated/stock.js:402
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:444
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:148
+#: templates/js/translated/stock.js:445
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:154
+#: templates/js/translated/stock.js:451
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:155
+#: templates/js/translated/stock.js:452
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:159
+#: templates/js/translated/stock.js:456
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:160
+#: templates/js/translated/stock.js:457
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:164
+#: templates/js/translated/stock.js:461
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:165 users/models.py:195
+#: templates/js/translated/stock.js:462 users/models.py:200
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:169 templates/stock_table.html:63
+#: templates/js/translated/stock.js:466 templates/stock_table.html:56
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:298
+#: templates/js/translated/stock.js:595
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:456
+#: templates/js/translated/stock.js:753
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:458
+#: templates/js/translated/stock.js:755
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:463
+#: templates/js/translated/stock.js:760
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:489
+#: templates/js/translated/stock.js:782
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:515
+#: templates/js/translated/stock.js:808
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:563
+#: templates/js/translated/stock.js:865
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:670
+#: templates/js/translated/stock.js:972
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:674
+#: templates/js/translated/stock.js:976
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:678
+#: templates/js/translated/stock.js:980
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:984
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:688
+#: templates/js/translated/stock.js:990
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:844
+#: templates/js/translated/stock.js:1148
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:849
+#: templates/js/translated/stock.js:1153
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:852
+#: templates/js/translated/stock.js:1156
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:856
+#: templates/js/translated/stock.js:1160
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:858
+#: templates/js/translated/stock.js:1162
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:1166
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:866
+#: templates/js/translated/stock.js:1170
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:873
+#: templates/js/translated/stock.js:1177
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:1179
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:877
+#: templates/js/translated/stock.js:1181
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:881
-#: templates/js/translated/table_filters.js:161
+#: templates/js/translated/stock.js:1185
+#: templates/js/translated/table_filters.js:177
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:935
+#: templates/js/translated/stock.js:1235
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1308
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1046
+#: templates/js/translated/stock.js:1346
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115
+#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415
msgid "items"
msgstr ""
-#: templates/js/translated/stock.js:1155
+#: templates/js/translated/stock.js:1455
msgid "batches"
msgstr ""
-#: templates/js/translated/stock.js:1182
+#: templates/js/translated/stock.js:1482
msgid "locations"
msgstr ""
-#: templates/js/translated/stock.js:1184
+#: templates/js/translated/stock.js:1484
msgid "Undefined location"
msgstr ""
-#: templates/js/translated/stock.js:1358
+#: templates/js/translated/stock.js:1658
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:1372
+#: templates/js/translated/stock.js:1672
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:1373
+#: templates/js/translated/stock.js:1673
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:1512
+#: templates/js/translated/stock.js:1897
msgid "Invalid date"
msgstr ""
-#: templates/js/translated/stock.js:1559
+#: templates/js/translated/stock.js:1919
+msgid "Details"
+msgstr ""
+
+#: templates/js/translated/stock.js:1944
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1578
+#: templates/js/translated/stock.js:1963
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1597
+#: templates/js/translated/stock.js:1982
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1615
+#: templates/js/translated/stock.js:2000
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1638
+#: templates/js/translated/stock.js:2023
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:1646
+#: templates/js/translated/stock.js:2031
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:1687
+#: templates/js/translated/stock.js:2072
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1688
+#: templates/js/translated/stock.js:2073
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:2124
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:1835
-msgid "Serial"
-msgstr ""
-
-#: templates/js/translated/stock.js:1863
+#: templates/js/translated/stock.js:2175
msgid "Uninstall Stock Item"
msgstr ""
@@ -8023,254 +8011,264 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:156
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:172
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:93
+#: templates/js/translated/table_filters.js:105
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:103
-#: templates/js/translated/table_filters.js:104
-#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:115
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:352
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:114
-#: templates/js/translated/table_filters.js:191
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:117
-#: templates/js/translated/table_filters.js:198
-msgid "Serial number GTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:118
-#: templates/js/translated/table_filters.js:199
-msgid "Serial number greater than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:121
-#: templates/js/translated/table_filters.js:202
-msgid "Serial number LTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:122
-#: templates/js/translated/table_filters.js:203
-msgid "Serial number less than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:125
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:195
-msgid "Serial number"
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:387
+msgid "Subscribed"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:212
-msgid "Batch code"
+#: templates/js/translated/table_filters.js:207
+msgid "Is Serialized"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:214
+msgid "Serial number GTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:134
+#: templates/js/translated/table_filters.js:215
+msgid "Serial number greater than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:137
+#: templates/js/translated/table_filters.js:218
+msgid "Serial number LTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:138
+#: templates/js/translated/table_filters.js:219
+msgid "Serial number less than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:141
-#: templates/js/translated/table_filters.js:326
-msgid "Active parts"
-msgstr ""
-
#: templates/js/translated/table_filters.js:142
-msgid "Show stock for active parts"
+#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:211
+msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:147
-msgid "Part is an assembly"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:151
-msgid "Is allocated"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:152
-msgid "Item has been allocated"
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:228
+msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:157
-msgid "Include stock in sublocations"
+#: templates/js/translated/table_filters.js:342
+msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:162
-msgid "Show stock items which are depleted"
+#: templates/js/translated/table_filters.js:158
+msgid "Show stock for active parts"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:163
+msgid "Part is an assembly"
msgstr ""
#: templates/js/translated/table_filters.js:167
+msgid "Is allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:168
+msgid "Item has been allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:173
+msgid "Include stock in sublocations"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:178
+msgid "Show stock items which are depleted"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:183
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:187
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:188
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:176
+#: templates/js/translated/table_filters.js:192
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:177
+#: templates/js/translated/table_filters.js:193
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:197
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:182
+#: templates/js/translated/table_filters.js:198
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:187
+#: templates/js/translated/table_filters.js:203
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:207
-#: templates/js/translated/table_filters.js:208
+#: templates/js/translated/table_filters.js:223
+#: templates/js/translated/table_filters.js:224
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/table_filters.js:232
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:233
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:242
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:248
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:279
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:291
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:307
+#: templates/js/translated/table_filters.js:324
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:296
-#: templates/js/translated/table_filters.js:313
+#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:329
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:337
+#: templates/js/translated/table_filters.js:353
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:341
+#: templates/js/translated/table_filters.js:357
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:342
+#: templates/js/translated/table_filters.js:358
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:347
+#: templates/js/translated/table_filters.js:363
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:355
+#: templates/js/translated/table_filters.js:371
msgid "Stock available"
msgstr ""
-#: templates/js/translated/table_filters.js:371
-msgid "Starred"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:383
+#: templates/js/translated/table_filters.js:399
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/tables.js:366
+#: templates/js/translated/tables.js:368
msgid "Loading data"
msgstr ""
-#: templates/js/translated/tables.js:369
+#: templates/js/translated/tables.js:371
msgid "rows per page"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "Showing"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "to"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "of"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "rows"
msgstr ""
-#: templates/js/translated/tables.js:378
+#: templates/js/translated/tables.js:377 templates/search_form.html:6
+#: templates/search_form.html:7
+msgid "Search"
+msgstr ""
+
+#: templates/js/translated/tables.js:380
msgid "No matching results"
msgstr ""
-#: templates/js/translated/tables.js:381
+#: templates/js/translated/tables.js:383
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/translated/tables.js:384
+#: templates/js/translated/tables.js:386
msgid "Refresh"
msgstr ""
-#: templates/js/translated/tables.js:387
+#: templates/js/translated/tables.js:389
msgid "Toggle"
msgstr ""
-#: templates/js/translated/tables.js:390
+#: templates/js/translated/tables.js:392
msgid "Columns"
msgstr ""
-#: templates/js/translated/tables.js:393
+#: templates/js/translated/tables.js:395
msgid "All"
msgstr ""
-#: templates/navbar.html:19
-msgid "Toggle navigation"
-msgstr ""
-
-#: templates/navbar.html:39
+#: templates/navbar.html:40
msgid "Buy"
msgstr ""
-#: templates/navbar.html:51
+#: templates/navbar.html:52
msgid "Sell"
msgstr ""
-#: templates/navbar.html:83 users/models.py:39
+#: templates/navbar.html:86 users/models.py:39
msgid "Admin"
msgstr ""
-#: templates/navbar.html:85
+#: templates/navbar.html:88
msgid "Logout"
msgstr ""
-#: templates/navbar.html:106
+#: templates/navbar.html:90
+msgid "Login"
+msgstr ""
+
+#: templates/navbar.html:111
msgid "About InvenTree"
msgstr ""
+#: templates/navbar_demo.html:5
+msgid "InvenTree demo mode"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -8283,6 +8281,10 @@ msgstr ""
msgid "Log in again"
msgstr ""
+#: templates/stats.html:9
+msgid "Server"
+msgstr ""
+
#: templates/stats.html:13
msgid "Instance Name"
msgstr ""
@@ -8336,54 +8338,50 @@ msgid "Export Stock Information"
msgstr ""
#: templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/stock_table.html:27
msgid "Barcode Actions"
msgstr ""
-#: templates/stock_table.html:43
+#: templates/stock_table.html:36
msgid "Print test reports"
msgstr ""
-#: templates/stock_table.html:50
+#: templates/stock_table.html:43
msgid "Stock Options"
msgstr ""
-#: templates/stock_table.html:55
+#: templates/stock_table.html:48
msgid "Add to selected stock items"
msgstr ""
-#: templates/stock_table.html:56
+#: templates/stock_table.html:49
msgid "Remove from selected stock items"
msgstr ""
-#: templates/stock_table.html:57
+#: templates/stock_table.html:50
msgid "Stocktake selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move stock"
msgstr ""
-#: templates/stock_table.html:59
+#: templates/stock_table.html:52
msgid "Order selected items"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change status"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change stock status"
msgstr ""
-#: templates/stock_table.html:63
+#: templates/stock_table.html:56
msgid "Delete selected items"
msgstr ""
@@ -8419,35 +8417,34 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:182
+#: users/models.py:187
msgid "Permission set"
msgstr ""
-#: users/models.py:190
+#: users/models.py:195
msgid "Group"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "View"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "Permission to view items"
msgstr ""
-#: users/models.py:195
+#: users/models.py:200
msgid "Permission to add items"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Change"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:199
+#: users/models.py:204
msgid "Permission to delete items"
msgstr ""
-
diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.mo b/InvenTree/locale/tr/LC_MESSAGES/django.mo
index 2c90dd0c81..3c37bd7989 100644
Binary files a/InvenTree/locale/tr/LC_MESSAGES/django.mo and b/InvenTree/locale/tr/LC_MESSAGES/django.mo differ
diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po
index 587d5d5f33..492602cb63 100644
--- a/InvenTree/locale/tr/LC_MESSAGES/django.po
+++ b/InvenTree/locale/tr/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-11 06:21+0000\n"
+"POT-Creation-Date: 2021-11-22 22:08+0000\n"
"PO-Revision-Date: 2021-10-11 06:29\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
@@ -33,260 +33,266 @@ msgstr "Eşleşen eylem bulunamadı"
msgid "Enter date"
msgstr "Tarih giriniz"
-#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123
-#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27
-#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71
-#: part/forms.py:108 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:564
+#: InvenTree/forms.py:120 build/forms.py:48 build/forms.py:69 build/forms.py:93
+#: order/forms.py:26 order/forms.py:37 order/forms.py:48 order/forms.py:59
+#: order/forms.py:70 part/forms.py:108 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:594
msgid "Confirm"
msgstr "Onay"
-#: InvenTree/forms.py:132
+#: InvenTree/forms.py:136
msgid "Confirm delete"
msgstr "Silmeyi Onayla"
-#: InvenTree/forms.py:133
+#: InvenTree/forms.py:137
msgid "Confirm item deletion"
msgstr "Silmeyi onayla"
-#: InvenTree/forms.py:164
+#: InvenTree/forms.py:168
msgid "Enter password"
msgstr "Şifrenizi girin"
-#: InvenTree/forms.py:165
+#: InvenTree/forms.py:169
msgid "Enter new password"
msgstr "Lütfen Yeni Parolayı Girin"
-#: InvenTree/forms.py:172
+#: InvenTree/forms.py:176
msgid "Confirm password"
msgstr "Parolayı doğrulayın"
-#: InvenTree/forms.py:173
+#: InvenTree/forms.py:177
msgid "Confirm new password"
msgstr "Yeni parolayı doğrulayın"
-#: InvenTree/forms.py:205
+#: InvenTree/forms.py:209
msgid "Select Category"
msgstr "Kategori Seçin"
-#: InvenTree/forms.py:226
-msgid "E-mail (again)"
-msgstr ""
-
#: InvenTree/forms.py:230
-msgid "E-mail address confirmation"
+msgid "Email (again)"
msgstr ""
-#: InvenTree/forms.py:250
+#: InvenTree/forms.py:234
+msgid "Email address confirmation"
+msgstr ""
+
+#: InvenTree/forms.py:254
msgid "You must type the same email each time."
msgstr ""
-#: InvenTree/helpers.py:401
+#: InvenTree/helpers.py:430
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr "Tekrarlanan seri {n}"
-#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437
-#: stock/views.py:1340
+#: InvenTree/helpers.py:437 order/models.py:318 order/models.py:440
+#: stock/views.py:1264
msgid "Invalid quantity provided"
msgstr "Geçersiz veri sağlandı"
-#: InvenTree/helpers.py:411
+#: InvenTree/helpers.py:440
msgid "Empty serial number string"
msgstr "Boş seri numarası dizesi"
-#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:462 InvenTree/helpers.py:465 InvenTree/helpers.py:468
+#: InvenTree/helpers.py:493
#, python-brace-format
msgid "Invalid group: {g}"
msgstr "Geçersiz grup: {g}"
-#: InvenTree/helpers.py:469
+#: InvenTree/helpers.py:498
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr "Tekrarlanan seri {g}"
-#: InvenTree/helpers.py:477
+#: InvenTree/helpers.py:506
msgid "No serial numbers found"
msgstr "Seri numarası bulunamadı"
-#: InvenTree/helpers.py:481
+#: InvenTree/helpers.py:510
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr "Benzersiz seri numaralarının sayısı ({s}) girilen miktarla eşleşmeli ({q})"
-#: InvenTree/models.py:66 stock/models.py:1823
+#: InvenTree/models.py:109 stock/models.py:1874
msgid "Attachment"
msgstr "Ek"
-#: InvenTree/models.py:67
+#: InvenTree/models.py:110
msgid "Select file to attach"
msgstr "Eklenecek dosyayı seç"
-#: InvenTree/models.py:69 templates/js/translated/attachment.js:87
+#: InvenTree/models.py:112 templates/js/translated/attachment.js:91
msgid "Comment"
msgstr "Yorum"
-#: InvenTree/models.py:69
+#: InvenTree/models.py:112
msgid "File comment"
msgstr "Dosya yorumu"
-#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055
-#: common/models.py:1056 part/models.py:2055
-#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/translated/stock.js:1669
+#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185
+#: common/models.py:1186 part/models.py:2205 part/models.py:2225
+#: report/templates/report/inventree_test_report_base.html:96
+#: templates/js/translated/stock.js:2054
msgid "User"
msgstr "Kullanıcı"
-#: InvenTree/models.py:79
+#: InvenTree/models.py:122
msgid "upload date"
msgstr "yükleme tarihi"
-#: InvenTree/models.py:99
+#: InvenTree/models.py:142
msgid "Filename must not be empty"
msgstr ""
-#: InvenTree/models.py:122
+#: InvenTree/models.py:165
msgid "Invalid attachment directory"
msgstr ""
-#: InvenTree/models.py:132
+#: InvenTree/models.py:175
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr ""
-#: InvenTree/models.py:135
+#: InvenTree/models.py:178
msgid "Filename missing extension"
msgstr ""
-#: InvenTree/models.py:142
+#: InvenTree/models.py:185
msgid "Attachment with this filename already exists"
msgstr ""
-#: InvenTree/models.py:149
+#: InvenTree/models.py:192
msgid "Error renaming file"
msgstr ""
-#: InvenTree/models.py:184
+#: InvenTree/models.py:227
msgid "Invalid choice"
msgstr "Geçersiz seçim"
-#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415
-#: label/models.py:112 part/models.py:659 part/models.py:2216
-#: part/templates/part/part_base.html:241 report/models.py:181
-#: templates/js/translated/company.js:637 templates/js/translated/part.js:477
-#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141
-#: templates/js/translated/stock.js:1462
+#: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415
+#: label/models.py:112 part/models.py:741 part/models.py:2389
+#: part/templates/part/detail.html:25 report/models.py:181
+#: templates/js/translated/company.js:637 templates/js/translated/part.js:498
+#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272
+#: templates/js/translated/stock.js:1847
msgid "Name"
msgstr "Adı"
-#: InvenTree/models.py:207 build/models.py:189
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/manufacturer_part.html:76
-#: company/templates/company/supplier_part.html:75 label/models.py:119
-#: order/models.py:158 part/models.py:682
-#: part/templates/part/part_base.html:246
+#: InvenTree/models.py:250 build/models.py:207
+#: build/templates/build/detail.html:25 company/models.py:354
+#: company/models.py:570 company/templates/company/manufacturer_part.html:80
+#: company/templates/company/supplier_part.html:81 label/models.py:119
+#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30
#: part/templates/part/set_category.html:14 report/models.py:194
-#: report/models.py:551 report/models.py:590
+#: report/models.py:553 report/models.py:592
#: report/templates/report/inventree_build_order_base.html:118
-#: templates/InvenTree/settings/header.html:9
-#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217
-#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344
+#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214
+#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621
+#: templates/js/translated/company.js:344
#: templates/js/translated/company.js:547
-#: templates/js/translated/company.js:836 templates/js/translated/order.js:672
-#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056
-#: templates/js/translated/part.js:536 templates/js/translated/part.js:724
-#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153
-#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819
-#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519
+#: templates/js/translated/company.js:836 templates/js/translated/order.js:673
+#: templates/js/translated/order.js:833 templates/js/translated/order.js:1069
+#: templates/js/translated/part.js:557 templates/js/translated/part.js:745
+#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291
+#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121
+#: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904
msgid "Description"
msgstr "Açıklama"
-#: InvenTree/models.py:208
+#: InvenTree/models.py:251
msgid "Description (optional)"
msgstr "Açıklama (isteğe bağlı)"
-#: InvenTree/models.py:216
+#: InvenTree/models.py:259
msgid "parent"
msgstr "üst"
-#: InvenTree/serializers.py:55 part/models.py:2475
+#: InvenTree/serializers.py:62 part/models.py:2674
msgid "Must be a valid number"
msgstr "Geçerli bir numara olmalı"
-#: InvenTree/serializers.py:244
+#: InvenTree/serializers.py:251
msgid "Filename"
msgstr ""
-#: InvenTree/settings.py:529
+#: InvenTree/settings.py:663
msgid "German"
msgstr "Almanca"
-#: InvenTree/settings.py:530
+#: InvenTree/settings.py:664
msgid "Greek"
msgstr "Yunanca"
-#: InvenTree/settings.py:531
+#: InvenTree/settings.py:665
msgid "English"
msgstr "İngilizce"
-#: InvenTree/settings.py:532
+#: InvenTree/settings.py:666
msgid "Spanish"
msgstr "İspanyolca"
-#: InvenTree/settings.py:533
+#: InvenTree/settings.py:667
+msgid "Spanish (Mexican)"
+msgstr ""
+
+#: InvenTree/settings.py:668
msgid "French"
msgstr "Fransızca"
-#: InvenTree/settings.py:534
+#: InvenTree/settings.py:669
msgid "Hebrew"
msgstr "İbranice"
-#: InvenTree/settings.py:535
+#: InvenTree/settings.py:670
msgid "Italian"
msgstr "İtalyanca"
-#: InvenTree/settings.py:536
+#: InvenTree/settings.py:671
msgid "Japanese"
msgstr "Japonca"
-#: InvenTree/settings.py:537
+#: InvenTree/settings.py:672
msgid "Korean"
msgstr "Korece"
-#: InvenTree/settings.py:538
+#: InvenTree/settings.py:673
msgid "Dutch"
msgstr "Flemenkçe"
-#: InvenTree/settings.py:539
+#: InvenTree/settings.py:674
msgid "Norwegian"
msgstr "Norveççe"
-#: InvenTree/settings.py:540
+#: InvenTree/settings.py:675
msgid "Polish"
msgstr "Polonyaca"
-#: InvenTree/settings.py:541
+#: InvenTree/settings.py:676
+msgid "Portugese"
+msgstr ""
+
+#: InvenTree/settings.py:677
msgid "Russian"
msgstr "Rusça"
-#: InvenTree/settings.py:542
+#: InvenTree/settings.py:678
msgid "Swedish"
msgstr "İsveççe"
-#: InvenTree/settings.py:543
+#: InvenTree/settings.py:679
msgid "Thai"
msgstr "Tay dili"
-#: InvenTree/settings.py:544
+#: InvenTree/settings.py:680
msgid "Turkish"
msgstr "Türkçe"
-#: InvenTree/settings.py:545
+#: InvenTree/settings.py:681
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:546
+#: InvenTree/settings.py:682
msgid "Chinese"
msgstr "Çince"
@@ -302,196 +308,196 @@ msgstr "E-posta arka ucu yapılandırılmadı"
msgid "InvenTree system health checks failed"
msgstr "InvenTree sistem sağlık kontrolü başarısız"
-#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145
-#: InvenTree/status_codes.py:314
+#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142
+#: InvenTree/status_codes.py:311
msgid "Pending"
msgstr "Bekliyor"
-#: InvenTree/status_codes.py:105
+#: InvenTree/status_codes.py:102
msgid "Placed"
msgstr "Sipariş verildi"
-#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317
+#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:314
msgid "Complete"
msgstr "Tamamlandı"
-#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147
-#: InvenTree/status_codes.py:316
+#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144
+#: InvenTree/status_codes.py:313
msgid "Cancelled"
msgstr "İptal edildi"
-#: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148
-#: InvenTree/status_codes.py:190
+#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145
+#: InvenTree/status_codes.py:187
msgid "Lost"
msgstr "Kayıp"
-#: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149
-#: InvenTree/status_codes.py:192
+#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146
+#: InvenTree/status_codes.py:189
msgid "Returned"
msgstr "İade"
-#: InvenTree/status_codes.py:146
-#: order/templates/order/sales_order_base.html:131
+#: InvenTree/status_codes.py:143
+#: order/templates/order/sales_order_base.html:147
msgid "Shipped"
msgstr "Sevk edildi"
-#: InvenTree/status_codes.py:186
+#: InvenTree/status_codes.py:183
msgid "OK"
msgstr "TAMAM"
-#: InvenTree/status_codes.py:187
+#: InvenTree/status_codes.py:184
msgid "Attention needed"
msgstr "Dikkat gerekli"
-#: InvenTree/status_codes.py:188
+#: InvenTree/status_codes.py:185
msgid "Damaged"
msgstr "Hasarlı"
-#: InvenTree/status_codes.py:189
+#: InvenTree/status_codes.py:186
msgid "Destroyed"
msgstr "Kullanılamaz durumda"
-#: InvenTree/status_codes.py:191
+#: InvenTree/status_codes.py:188
msgid "Rejected"
msgstr "Reddedildi"
-#: InvenTree/status_codes.py:272
+#: InvenTree/status_codes.py:269
msgid "Legacy stock tracking entry"
msgstr "Eski stok izleme girişi"
-#: InvenTree/status_codes.py:274
+#: InvenTree/status_codes.py:271
msgid "Stock item created"
msgstr "Stok kalemi oluşturuldu"
-#: InvenTree/status_codes.py:276
+#: InvenTree/status_codes.py:273
msgid "Edited stock item"
msgstr "Düzenlenen stok kalemi"
-#: InvenTree/status_codes.py:277
+#: InvenTree/status_codes.py:274
msgid "Assigned serial number"
msgstr "Atanan seri numarası"
-#: InvenTree/status_codes.py:279
+#: InvenTree/status_codes.py:276
msgid "Stock counted"
msgstr "Stok sayıldı"
-#: InvenTree/status_codes.py:280
+#: InvenTree/status_codes.py:277
msgid "Stock manually added"
msgstr "Stok manuel olarak eklendi"
-#: InvenTree/status_codes.py:281
+#: InvenTree/status_codes.py:278
msgid "Stock manually removed"
msgstr "Stok manuel olarak çıkarıldı"
-#: InvenTree/status_codes.py:283
+#: InvenTree/status_codes.py:280
msgid "Location changed"
msgstr "Konum değişti"
-#: InvenTree/status_codes.py:285
+#: InvenTree/status_codes.py:282
msgid "Installed into assembly"
msgstr "Montajda kullanıldı"
-#: InvenTree/status_codes.py:286
+#: InvenTree/status_codes.py:283
msgid "Removed from assembly"
msgstr "Montajdan çıkarıldı"
-#: InvenTree/status_codes.py:288
+#: InvenTree/status_codes.py:285
msgid "Installed component item"
msgstr "Bileşen ögesinde kullanıldı"
-#: InvenTree/status_codes.py:289
+#: InvenTree/status_codes.py:286
msgid "Removed component item"
msgstr "Bileşen ögesinden çıkarıldı"
-#: InvenTree/status_codes.py:291
+#: InvenTree/status_codes.py:288
msgid "Split from parent item"
msgstr "Üst ögeden ayır"
-#: InvenTree/status_codes.py:292
+#: InvenTree/status_codes.py:289
msgid "Split child item"
msgstr "Alt ögeyi ayır"
-#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186
+#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202
msgid "Sent to customer"
msgstr "Müşteriye gönderildi"
-#: InvenTree/status_codes.py:295
+#: InvenTree/status_codes.py:292
msgid "Returned from customer"
msgstr "Müşteriden geri döndü"
-#: InvenTree/status_codes.py:297
+#: InvenTree/status_codes.py:294
msgid "Build order output created"
msgstr "Yapım emri çıktısı oluşturuldu"
-#: InvenTree/status_codes.py:298
+#: InvenTree/status_codes.py:295
msgid "Build order output completed"
msgstr "Yapım emri çıktısı tamamlandı"
-#: InvenTree/status_codes.py:300
+#: InvenTree/status_codes.py:297
msgid "Received against purchase order"
msgstr "Satın alma emri karşılığında alındı"
-#: InvenTree/status_codes.py:315
+#: InvenTree/status_codes.py:312
msgid "Production"
msgstr "Üretim"
-#: InvenTree/validators.py:22
+#: InvenTree/validators.py:23
msgid "Not a valid currency code"
msgstr "Geçerli bir para birimi kodu değil"
-#: InvenTree/validators.py:50
+#: InvenTree/validators.py:51
msgid "Invalid character in part name"
msgstr "Parça adında geçersiz karakter"
-#: InvenTree/validators.py:63
+#: InvenTree/validators.py:64
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN regex kalıbıyla eşleşmelidir {pat}"
-#: InvenTree/validators.py:77 InvenTree/validators.py:91
-#: InvenTree/validators.py:105
+#: InvenTree/validators.py:78 InvenTree/validators.py:92
+#: InvenTree/validators.py:106
#, python-brace-format
msgid "Reference must match pattern {pattern}"
msgstr "Referans {pattern} deseniyle mutlaka eşleşmeli"
-#: InvenTree/validators.py:113
+#: InvenTree/validators.py:114
#, python-brace-format
msgid "Illegal character in name ({x})"
msgstr "({x}) adında geçersiz karakter"
-#: InvenTree/validators.py:132 InvenTree/validators.py:148
+#: InvenTree/validators.py:133 InvenTree/validators.py:149
msgid "Overage value must not be negative"
msgstr "Fazlalık değeri negatif olmamalıdır"
-#: InvenTree/validators.py:150
+#: InvenTree/validators.py:151
msgid "Overage must not exceed 100%"
msgstr "Fazlalık %100'ü geçmemelidir"
-#: InvenTree/validators.py:157
+#: InvenTree/validators.py:158
msgid "Overage must be an integer value or a percentage"
msgstr "Fazlalık bir tamsayı veya yüzde olmalıdır"
-#: InvenTree/views.py:616
+#: InvenTree/views.py:536
msgid "Delete Item"
msgstr "Ögeyi Sil"
-#: InvenTree/views.py:665
+#: InvenTree/views.py:585
msgid "Check box to confirm item deletion"
msgstr "Öge silme işlemini onaylamak için kutuyu işaretleyin"
-#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17
msgid "Edit User Information"
msgstr "Kullanıcı Bilgisini Düzenle"
-#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21
msgid "Set Password"
msgstr "Şifre Belirle"
-#: InvenTree/views.py:710
+#: InvenTree/views.py:630
msgid "Password fields must match"
msgstr "Parola alanları eşleşmelidir"
-#: InvenTree/views.py:954 templates/navbar.html:97
+#: InvenTree/views.py:863 templates/navbar.html:101
msgid "System Information"
msgstr "Sistem Bilgisi"
@@ -535,599 +541,586 @@ msgstr "Barkod karması (hash) zaten stok kalemi nesnesiyle eşleşiyor"
msgid "Barcode associated with StockItem"
msgstr "Barkod başka bir stok kalemiyle ilişkili"
-#: build/api.py:213
-msgid "Matching build order does not exist"
-msgstr ""
-
-#: build/forms.py:37
-msgid "Build Order reference"
-msgstr "Yapım İşi Emri referansı"
-
-#: build/forms.py:38
-msgid "Order target date"
-msgstr "Emir hedef tarihi"
-
-#: build/forms.py:42 build/templates/build/build_base.html:146
-#: build/templates/build/detail.html:124
-#: order/templates/order/order_base.html:124
-#: order/templates/order/sales_order_base.html:124
-#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689
-#: templates/js/translated/order.js:1074
-msgid "Target Date"
-msgstr "Hedeflenen tarih"
-
-#: build/forms.py:43 build/models.py:279
-msgid "Target date for build completion. Build will be overdue after this date."
-msgstr "Yapım işinin tamamlanması için hedef tarih. Bu tarihten sonra yapım işi gecikmiş olacak."
-
-#: build/forms.py:48 build/forms.py:90 build/models.py:1281
-#: build/templates/build/allocation_card.html:23
-#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:1087
-#: company/forms.py:42 company/templates/company/supplier_part.html:226
-#: order/forms.py:101 order/forms.py:123 order/models.py:720
-#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249
-#: part/forms.py:265 part/forms.py:281 part/models.py:2377
+#: build/forms.py:36 build/models.py:1283
+#: build/templates/build/build_base.html:124
+#: build/templates/build/detail.html:35 common/models.py:1225
+#: company/forms.py:42 company/templates/company/supplier_part.html:251
+#: order/forms.py:102 order/models.py:729 order/models.py:991
+#: order/templates/order/order_wizard/match_parts.html:30
+#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237
+#: part/forms.py:253 part/forms.py:269 part/models.py:2576
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030
+#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
-#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:140 stock/templates/stock/item_base.html:269
-#: stock/templates/stock/stock_adjust.html:18
-#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264
-#: templates/js/translated/build.js:314 templates/js/translated/build.js:638
-#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515
-#: templates/js/translated/model_renderers.js:74
-#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170
-#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444
-#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487
-#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654
-#: templates/js/translated/stock.js:1829
+#: report/templates/report/inventree_test_report_base.html:81
+#: report/templates/report/inventree_test_report_base.html:139
+#: stock/forms.py:156 stock/serializers.py:286
+#: stock/templates/stock/item_base.html:256
+#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441
+#: templates/js/translated/build.js:235 templates/js/translated/build.js:435
+#: templates/js/translated/build.js:629 templates/js/translated/build.js:639
+#: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362
+#: templates/js/translated/model_renderers.js:99
+#: templates/js/translated/order.js:870 templates/js/translated/order.js:1183
+#: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268
+#: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457
+#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626
+#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347
+#: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141
msgid "Quantity"
msgstr "Miktar"
-#: build/forms.py:49
-msgid "Number of items to build"
-msgstr "Yapılacak öge sayısı"
-
-#: build/forms.py:91
+#: build/forms.py:37
msgid "Enter quantity for build output"
msgstr "Yapım işi çıktısı için miktarını girin"
-#: build/forms.py:95 order/forms.py:95 stock/forms.py:83
+#: build/forms.py:41 order/forms.py:96 stock/forms.py:95
+#: stock/serializers.py:307 templates/js/translated/stock.js:194
+#: templates/js/translated/stock.js:348
msgid "Serial Numbers"
msgstr "Seri Numaraları"
-#: build/forms.py:97
+#: build/forms.py:43
msgid "Enter serial numbers for build outputs"
msgstr "Yapım işi çıktısı için seri numaraları girin"
-#: build/forms.py:103
+#: build/forms.py:49
msgid "Confirm creation of build output"
msgstr "Yapım işi çıktısının oluşturulmasını onaylayın"
-#: build/forms.py:124
+#: build/forms.py:70
msgid "Confirm deletion of build output"
msgstr "Yapım işi çıktısının silinmesini onaylayın"
-#: build/forms.py:145
-msgid "Confirm unallocation of stock"
-msgstr "Stok tahsisinin iptalini onayla"
-
-#: build/forms.py:174
+#: build/forms.py:94
msgid "Mark build as complete"
msgstr "Yapım işini tamamlandı olarak işaretle"
-#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284
-#: stock/forms.py:280 stock/serializers.py:553
-#: stock/templates/stock/item_base.html:299
-#: stock/templates/stock/stock_adjust.html:17
-#: templates/js/translated/barcode.js:385
-#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299
-#: templates/js/translated/build.js:650 templates/js/translated/order.js:347
-#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263
-#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179
-#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921
-#: templates/js/translated/stock.js:1546
-msgid "Location"
-msgstr "Konum"
-
-#: build/forms.py:199
-msgid "Location of completed parts"
-msgstr "Tamamlanmış parçaların konumu"
-
-#: build/forms.py:203 build/templates/build/build_base.html:138
-#: build/templates/build/detail.html:62 order/models.py:563
-#: order/serializers.py:238 stock/templates/stock/item_base.html:422
-#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251
-#: templates/js/translated/order.js:430 templates/js/translated/order.js:676
-#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896
-#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845
-msgid "Status"
-msgstr "Durum"
-
-#: build/forms.py:204
-msgid "Build output stock status"
-msgstr "Yapım işi çıktısı stok durumu"
-
-#: build/forms.py:211
-msgid "Confirm incomplete"
-msgstr "Eksik olarak onayla"
-
-#: build/forms.py:212
-msgid "Confirm completion with incomplete stock allocation"
-msgstr "Eksik parça tahsisi ile tamamlamayı onayla"
-
-#: build/forms.py:215
-msgid "Confirm build completion"
-msgstr "Yapım işinin tamamlandığını onaylayın"
-
-#: build/forms.py:240
+#: build/forms.py:107
msgid "Confirm cancel"
msgstr "İptali Onayla"
-#: build/forms.py:240 build/views.py:65
+#: build/forms.py:107 build/views.py:65
msgid "Confirm build cancellation"
msgstr "Yapım işi iptalini onayla"
-#: build/models.py:115
+#: build/models.py:133
msgid "Invalid choice for parent build"
msgstr ""
-#: build/models.py:119 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:73
+#: build/models.py:137 build/templates/build/build_base.html:9
+#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:276
+#: templates/js/translated/build.js:397
msgid "Build Order"
msgstr "Yapım İşi Emri"
-#: build/models.py:120 build/templates/build/index.html:8
-#: build/templates/build/index.html:15
-#: order/templates/order/sales_order_detail.html:34
-#: order/templates/order/so_navbar.html:19
-#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50
-#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229
-#: templates/InvenTree/search.html:171
-#: templates/InvenTree/settings/navbar.html:113
-#: templates/InvenTree/settings/navbar.html:115 users/models.py:44
+#: build/models.py:138 build/templates/build/build_base.html:13
+#: build/templates/build/index.html:8 build/templates/build/index.html:12
+#: order/templates/order/sales_order_detail.html:42
+#: templates/InvenTree/index.html:221 templates/InvenTree/search.html:145
+#: users/models.py:44
msgid "Build Orders"
msgstr "Yapım İşi Emirleri"
-#: build/models.py:180
+#: build/models.py:198
msgid "Build Order Reference"
msgstr "Yapım İşi Emri Referansı"
-#: build/models.py:181 order/models.py:246 order/models.py:547
-#: order/models.py:727 part/models.py:2386
+#: build/models.py:199 order/models.py:249 order/models.py:556
+#: order/models.py:736 part/models.py:2585
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734
-#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863
-#: templates/js/translated/order.js:1438
+#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119
+#: templates/js/translated/order.js:864 templates/js/translated/order.js:1451
msgid "Reference"
msgstr "Referans"
-#: build/models.py:192
+#: build/models.py:210
msgid "Brief description of the build"
msgstr "Yapım işinin kısa açıklaması"
-#: build/models.py:201 build/templates/build/build_base.html:163
-#: build/templates/build/detail.html:80
+#: build/models.py:219 build/templates/build/build_base.html:156
+#: build/templates/build/detail.html:88
msgid "Parent Build"
msgstr "Üst Yapım İşi"
-#: build/models.py:202
+#: build/models.py:220
msgid "BuildOrder to which this build is allocated"
msgstr "Bu yapım işinin tahsis edildiği yapım işi emri"
-#: build/models.py:207 build/templates/build/build_base.html:128
-#: build/templates/build/detail.html:29 company/models.py:705
-#: order/models.py:780 order/models.py:851
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298
-#: part/models.py:2000 part/models.py:2016 part/models.py:2035
-#: part/models.py:2053 part/models.py:2132 part/models.py:2254
-#: part/models.py:2361 part/templates/part/detail.html:199
+#: build/models.py:225 build/templates/build/build_base.html:119
+#: build/templates/build/detail.html:30 company/models.py:705
+#: order/models.py:789 order/models.py:860
+#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357
+#: part/models.py:2151 part/models.py:2167 part/models.py:2186
+#: part/models.py:2203 part/models.py:2305 part/models.py:2427
+#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
-#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384
-#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611
-#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222
-#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488
-#: templates/js/translated/company.js:745 templates/js/translated/order.js:425
-#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422
-#: templates/js/translated/part.js:705 templates/js/translated/part.js:875
-#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776
-#: templates/js/translated/stock.js:1817
+#: templates/InvenTree/search.html:86
+#: templates/email/build_order_required_stock.html:17
+#: templates/email/low_stock_notification.html:16
+#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213
+#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620
+#: templates/js/translated/build.js:988 templates/js/translated/build.js:1359
+#: templates/js/translated/build.js:1626 templates/js/translated/company.js:488
+#: templates/js/translated/company.js:745 templates/js/translated/order.js:426
+#: templates/js/translated/order.js:818 templates/js/translated/order.js:1435
+#: templates/js/translated/part.js:726 templates/js/translated/part.js:892
+#: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:2129
msgid "Part"
msgstr "Parça"
-#: build/models.py:215
+#: build/models.py:233
msgid "Select part to build"
msgstr "Yapım işi için parça seçin"
-#: build/models.py:220
+#: build/models.py:238
msgid "Sales Order Reference"
msgstr "Satış Emri Referansı"
-#: build/models.py:224
+#: build/models.py:242
msgid "SalesOrder to which this build is allocated"
msgstr "Bu yapım işinin tahsis edildiği satış emri"
-#: build/models.py:229 templates/js/translated/build.js:962
+#: build/models.py:247 templates/js/translated/build.js:1347
msgid "Source Location"
msgstr "Kaynak Konum"
-#: build/models.py:233
+#: build/models.py:251
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr "Bu yapım işi için stok alınacak konumu seçin (her hangi bir stok konumundan alınması için boş bırakın)"
-#: build/models.py:238
+#: build/models.py:256
msgid "Destination Location"
msgstr "Hedef Konum"
-#: build/models.py:242
+#: build/models.py:260
msgid "Select location where the completed items will be stored"
msgstr "Tamamlanmış ögelerin saklanacağı konumu seçiniz"
-#: build/models.py:246
+#: build/models.py:264
msgid "Build Quantity"
msgstr "Yapım İşi Miktarı"
-#: build/models.py:249
+#: build/models.py:267
msgid "Number of stock items to build"
msgstr "Yapım işi stok kalemlerinin sayısı"
-#: build/models.py:253
+#: build/models.py:271
msgid "Completed items"
msgstr "Tamamlanmış ögeler"
-#: build/models.py:255
+#: build/models.py:273
msgid "Number of stock items which have been completed"
msgstr "Tamamlanan stok kalemlerinin sayısı"
-#: build/models.py:259 part/templates/part/part_base.html:198
+#: build/models.py:277 part/templates/part/part_base.html:216
msgid "Build Status"
msgstr "Yapım İşi Durumu"
-#: build/models.py:263
+#: build/models.py:281
msgid "Build status code"
msgstr "Yapım işi durum kodu"
-#: build/models.py:267 stock/models.py:513
+#: build/models.py:285 stock/models.py:544
msgid "Batch Code"
msgstr "Sıra numarası"
-#: build/models.py:271
+#: build/models.py:289
msgid "Batch code for this build output"
msgstr "Yapım işi çıktısı için sıra numarası"
-#: build/models.py:274 order/models.py:162 part/models.py:854
-#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069
+#: build/models.py:292 order/models.py:165 part/models.py:936
+#: part/templates/part/detail.html:86 templates/js/translated/order.js:1082
msgid "Creation Date"
msgstr "Oluşturulma tarihi"
-#: build/models.py:278 order/models.py:569
+#: build/models.py:296 order/models.py:578
msgid "Target completion date"
msgstr "Hedef tamamlama tarihi"
-#: build/models.py:282 order/models.py:288
-#: templates/js/translated/build.js:1293
+#: build/models.py:297
+msgid "Target date for build completion. Build will be overdue after this date."
+msgstr "Yapım işinin tamamlanması için hedef tarih. Bu tarihten sonra yapım işi gecikmiş olacak."
+
+#: build/models.py:300 order/models.py:291
+#: templates/js/translated/build.js:1697
msgid "Completion Date"
msgstr "Tamamlama tarihi"
-#: build/models.py:288
+#: build/models.py:306
msgid "completed by"
msgstr "tamamlayan"
-#: build/models.py:296 templates/js/translated/build.js:1264
+#: build/models.py:314 templates/js/translated/build.js:1668
msgid "Issued by"
msgstr "Veren"
-#: build/models.py:297
+#: build/models.py:315
msgid "User who issued this build order"
msgstr "Bu yapım işi emrini veren kullanıcı"
-#: build/models.py:305 build/templates/build/build_base.html:184
-#: build/templates/build/detail.html:108 order/models.py:176
-#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:145 part/models.py:858
+#: build/models.py:323 build/templates/build/build_base.html:177
+#: build/templates/build/detail.html:116 order/models.py:179
+#: order/templates/order/order_base.html:154
+#: order/templates/order/sales_order_base.html:161 part/models.py:940
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1680
msgid "Responsible"
msgstr "Sorumlu"
-#: build/models.py:306
+#: build/models.py:324
msgid "User responsible for this build order"
msgstr "Bu yapım işi emrinden sorumlu kullanıcı"
-#: build/models.py:311 build/templates/build/detail.html:94
-#: company/templates/company/manufacturer_part.html:83
-#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:266 stock/models.py:507
-#: stock/templates/stock/item_base.html:359
+#: build/models.py:329 build/templates/build/detail.html:102
+#: company/templates/company/manufacturer_part.html:87
+#: company/templates/company/supplier_part.html:88
+#: part/templates/part/detail.html:80 stock/models.py:538
+#: stock/templates/stock/item_base.html:346
msgid "External Link"
msgstr "Harici Bağlantı"
-#: build/models.py:312 part/models.py:716 stock/models.py:509
+#: build/models.py:330 part/models.py:798 stock/models.py:540
msgid "Link to external URL"
msgstr "Harici URL'ye bağlantı"
-#: build/models.py:316 build/templates/build/navbar.html:52
-#: company/models.py:142 company/models.py:577
-#: company/templates/company/navbar.html:69
-#: company/templates/company/navbar.html:72 order/models.py:180
-#: order/models.py:729 order/templates/order/po_navbar.html:38
-#: order/templates/order/po_navbar.html:41
-#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:843
-#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120
-#: part/templates/part/navbar.html:123
+#: build/models.py:334 build/serializers.py:201 company/models.py:142
+#: company/models.py:577 order/models.py:183 order/models.py:738
+#: part/models.py:925 part/templates/part/detail.html:223
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579
-#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451
-#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59
-#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841
-#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540
-#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040
+#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610
+#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325
+#: stock/serializers.py:584 templates/js/translated/barcode.js:58
+#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841
+#: templates/js/translated/order.js:963 templates/js/translated/order.js:1561
+#: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340
msgid "Notes"
msgstr "Notlar"
-#: build/models.py:317
+#: build/models.py:335
msgid "Extra build notes"
msgstr "Yapım işi için ekstra notlar"
-#: build/models.py:714
+#: build/models.py:710
msgid "No build output specified"
msgstr "Yapım işi çıktısı belirtilmedi"
-#: build/models.py:717
+#: build/models.py:713
msgid "Build output is already completed"
msgstr "Yapım işi çıktısı zaten tamamlanmış"
-#: build/models.py:720
+#: build/models.py:716
msgid "Build output does not match Build Order"
msgstr "Yapım işi çıktısı, yapım işi emri ile eşleşmiyor"
-#: build/models.py:1102
+#: build/models.py:1108
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Ana parça izlenebilir olarak işaretlendiğinden, yapım işi çıktısı için bir yapım işi ögesi belirtmelidir"
-#: build/models.py:1111
+#: build/models.py:1117
#, python-brace-format
msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1121
+#: build/models.py:1127
msgid "Stock item is over-allocated"
msgstr "Stok kalemi fazladan tahsis edilmiş"
-#: build/models.py:1127 order/models.py:955
+#: build/models.py:1133 order/models.py:964
msgid "Allocation quantity must be greater than zero"
msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır"
-#: build/models.py:1133
+#: build/models.py:1139
msgid "Quantity must be 1 for serialized stock"
msgstr "Seri numaralı stok için miktar bir olmalı"
-#: build/models.py:1191
+#: build/models.py:1193
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1251 stock/templates/stock/item_base.html:331
-#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195
-#: templates/navbar.html:35
+#: build/models.py:1253 stock/templates/stock/item_base.html:318
+#: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599
+#: templates/navbar.html:33
msgid "Build"
msgstr "Yapım İşi"
-#: build/models.py:1252
+#: build/models.py:1254
msgid "Build to allocate parts"
msgstr "Yapım işi için tahsis edilen parçalar"
-#: build/models.py:1268 build/serializers.py:151
+#: build/models.py:1270 build/serializers.py:328
#: stock/templates/stock/item_base.html:8
-#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:353
-#: stock/templates/stock/stock_adjust.html:16
-#: templates/js/translated/build.js:287 templates/js/translated/build.js:292
-#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148
-#: templates/js/translated/stock.js:1605
+#: stock/templates/stock/item_base.html:16
+#: stock/templates/stock/item_base.html:340
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:413
+#: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742
+#: templates/js/translated/order.js:1156 templates/js/translated/order.js:1161
+#: templates/js/translated/stock.js:1990
msgid "Stock Item"
msgstr "Stok Kalemi"
-#: build/models.py:1269
+#: build/models.py:1271
msgid "Source stock item"
msgstr "Kaynak stok kalemi"
-#: build/models.py:1282
+#: build/models.py:1284
msgid "Stock quantity to allocate to build"
msgstr "Yapım işi için tahsis edilen stok miktarı"
-#: build/models.py:1290
+#: build/models.py:1292
msgid "Install into"
msgstr "Kurulduğu yer"
-#: build/models.py:1291
+#: build/models.py:1293
msgid "Destination stock item"
msgstr "Hedef stok kalemi"
-#: build/serializers.py:133 part/models.py:2501
-msgid "BOM Item"
-msgstr ""
-
-#: build/serializers.py:142
-msgid "bom_item.part must point to the same part as the build order"
-msgstr ""
-
-#: build/serializers.py:157
-msgid "Item must be in stock"
-msgstr ""
-
-#: build/serializers.py:171 order/models.py:313 order/serializers.py:231
-#: stock/models.py:351 stock/models.py:1072
-msgid "Quantity must be greater than zero"
-msgstr ""
-
-#: build/serializers.py:180
+#: build/serializers.py:137 build/serializers.py:357
msgid "Build Output"
msgstr ""
+#: build/serializers.py:146
+#, fuzzy
+#| msgid "Build output does not match build"
+msgid "Build output does not match the parent build"
+msgstr "Yapım işi çıktısı yapım işi ile eşleşmiyor"
+
+#: build/serializers.py:150
+#, fuzzy
+#| msgid "Build output does not match Build Order"
+msgid "Output part does not match BuildOrder part"
+msgstr "Yapım işi çıktısı, yapım işi emri ile eşleşmiyor"
+
+#: build/serializers.py:154
+#, fuzzy
+#| msgid "Build output is already completed"
+msgid "This build output has already been completed"
+msgstr "Yapım işi çıktısı zaten tamamlanmış"
+
+#: build/serializers.py:158
+#, fuzzy
+#| msgid "Required stock has not been fully allocated"
+msgid "This build output is not fully allocated"
+msgstr "Gerekli stok tamamen tahsis edilemedi"
+
+#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285
+#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686
+#: stock/templates/stock/item_base.html:286
+#: templates/js/translated/barcode.js:384
+#: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420
+#: templates/js/translated/build.js:1027 templates/js/translated/order.js:348
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1276
+#: templates/js/translated/order.js:1282 templates/js/translated/part.js:180
+#: templates/js/translated/stock.js:480 templates/js/translated/stock.js:1221
+#: templates/js/translated/stock.js:1931
+msgid "Location"
+msgstr "Konum"
+
+#: build/serializers.py:191
+#, fuzzy
+#| msgid "Location of completed parts"
+msgid "Location for completed build outputs"
+msgstr "Tamamlanmış parçaların konumu"
+
+#: build/serializers.py:197 build/templates/build/build_base.html:129
+#: build/templates/build/detail.html:63 order/models.py:572
+#: order/serializers.py:238 stock/templates/stock/item_base.html:409
+#: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655
+#: templates/js/translated/order.js:431 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196
+#: templates/js/translated/stock.js:2008 templates/js/translated/stock.js:2157
+msgid "Status"
+msgstr "Durum"
+
#: build/serializers.py:213
+#, fuzzy
+#| msgid "Build output must be specified"
+msgid "A list of build outputs must be provided"
+msgstr "Yapım işi çıktısı belirtilmeli"
+
+#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700
+#: part/models.py:2859
+msgid "BOM Item"
+msgstr ""
+
+#: build/serializers.py:269
+#, fuzzy
+#| msgid "Build Outputs"
+msgid "Build output"
+msgstr "Yapım İşi Çıktıları"
+
+#: build/serializers.py:278
+#, fuzzy
+#| msgid "Build output does not match build"
+msgid "Build output must point to the same build"
+msgstr "Yapım işi çıktısı yapım işi ile eşleşmiyor"
+
+#: build/serializers.py:319
+msgid "bom_item.part must point to the same part as the build order"
+msgstr ""
+
+#: build/serializers.py:334
+msgid "Item must be in stock"
+msgstr ""
+
+#: build/serializers.py:348 order/models.py:316 order/serializers.py:231
+#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298
+msgid "Quantity must be greater than zero"
+msgstr ""
+
+#: build/serializers.py:390
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:219
+#: build/serializers.py:396
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:226
+#: build/serializers.py:403
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:254
+#: build/serializers.py:431
msgid "Allocation items must be provided"
msgstr ""
-#: build/templates/build/allocation_card.html:21
-#: build/templates/build/complete_output.html:46
-#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:501 stock/templates/stock/item_base.html:251
-#: templates/js/translated/build.js:636
-#: templates/js/translated/model_renderers.js:72
-#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342
-msgid "Serial Number"
-msgstr "Seri Numara"
+#: build/tasks.py:92
+#, fuzzy
+#| msgid "Required for Build Orders"
+msgid "Stock required for build order"
+msgstr "Yapım İşi Emirleri için Gerekli"
-#: build/templates/build/build_base.html:18
+#: build/templates/build/build_base.html:39
+#: order/templates/order/order_base.html:28
+#: order/templates/order/sales_order_base.html:38
+msgid "Print actions"
+msgstr "Yazdırma işlemleri"
+
+#: build/templates/build/build_base.html:43
+#, fuzzy
+#| msgid "Print Build Order"
+msgid "Print build order report"
+msgstr "Yapım İşi Emrini Yazdır"
+
+#: build/templates/build/build_base.html:50
+msgid "Build actions"
+msgstr "Yapım İşi işlemleri"
+
+#: build/templates/build/build_base.html:54
+msgid "Edit Build"
+msgstr "Yapım İşini Düzenle"
+
+#: build/templates/build/build_base.html:56
+#: build/templates/build/build_base.html:207 build/views.py:56
+msgid "Cancel Build"
+msgstr "Yapım İşini İptal Et"
+
+#: build/templates/build/build_base.html:59
+msgid "Delete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:64
+#: build/templates/build/build_base.html:65
+#: build/templates/build/build_base.html:223
+msgid "Complete Build"
+msgstr "Tamamlanmış Yapım İşi"
+
+#: build/templates/build/build_base.html:79
#, python-format
msgid "This Build Order is allocated to Sales Order %(link)s"
msgstr "Bu yapım işi emri, %(link)s sipariş emrine tahsis edilmiştir"
-#: build/templates/build/build_base.html:25
+#: build/templates/build/build_base.html:86
#, python-format
msgid "This Build Order is a child of Build Order %(link)s"
msgstr "Bu yapım işi emri, %(link)s yapım iş emrinin altıdır"
-#: build/templates/build/build_base.html:32
+#: build/templates/build/build_base.html:93
msgid "Build Order is ready to mark as completed"
msgstr "Yapım işi tamamlandı olarak işaretlenmeye hazır"
-#: build/templates/build/build_base.html:37
+#: build/templates/build/build_base.html:98
msgid "Build Order cannot be completed as outstanding outputs remain"
msgstr "Bekleyen çıktılar kaldığı için yapım işi emri tamamlanamıyor"
-#: build/templates/build/build_base.html:42
+#: build/templates/build/build_base.html:103
msgid "Required build quantity has not yet been completed"
msgstr "Gerekli yapım işi miktarı henüz tamamlanmadı"
-#: build/templates/build/build_base.html:47
+#: build/templates/build/build_base.html:108
msgid "Stock has not been fully allocated to this Build Order"
msgstr "Stok, yapım işi emri için tamamen tahsis edilemedi"
-#: build/templates/build/build_base.html:75
-#: company/templates/company/company_base.html:40
-#: company/templates/company/manufacturer_part.html:29
-#: company/templates/company/supplier_part.html:30
-#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:30
-#: stock/templates/stock/item_base.html:62
-#: stock/templates/stock/location.html:31
-msgid "Admin view"
-msgstr "Yönetici görünümü"
+#: build/templates/build/build_base.html:138
+#: build/templates/build/detail.html:132
+#: order/templates/order/order_base.html:140
+#: order/templates/order/sales_order_base.html:140
+#: report/templates/report/inventree_build_order_base.html:126
+#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690
+#: templates/js/translated/order.js:1087
+msgid "Target Date"
+msgstr "Hedeflenen tarih"
-#: build/templates/build/build_base.html:81
-#: build/templates/build/build_base.html:150
-#: order/templates/order/order_base.html:32
-#: order/templates/order/order_base.html:86
-#: order/templates/order/sales_order_base.html:43
-#: order/templates/order/sales_order_base.html:93
-#: templates/js/translated/table_filters.js:272
-#: templates/js/translated/table_filters.js:300
-#: templates/js/translated/table_filters.js:317
-msgid "Overdue"
-msgstr "Vadesi geçmiş"
-
-#: build/templates/build/build_base.html:90
-msgid "Print actions"
-msgstr "Yazdırma işlemleri"
-
-#: build/templates/build/build_base.html:94
-msgid "Print Build Order"
-msgstr "Yapım İşi Emrini Yazdır"
-
-#: build/templates/build/build_base.html:100
-#: build/templates/build/build_base.html:222
-msgid "Complete Build"
-msgstr "Tamamlanmış Yapım İşi"
-
-#: build/templates/build/build_base.html:105
-msgid "Build actions"
-msgstr "Yapım İşi işlemleri"
-
-#: build/templates/build/build_base.html:109
-msgid "Edit Build"
-msgstr "Yapım İşini Düzenle"
-
-#: build/templates/build/build_base.html:111
-#: build/templates/build/build_base.html:206 build/views.py:56
-msgid "Cancel Build"
-msgstr "Yapım İşini İptal Et"
-
-#: build/templates/build/build_base.html:114
-msgid "Delete Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:124
-#: build/templates/build/detail.html:15
-msgid "Build Details"
-msgstr "Yapım İşi Detayları"
-
-#: build/templates/build/build_base.html:150
+#: build/templates/build/build_base.html:143
#, python-format
msgid "This build was due on %(target)s"
msgstr "Bu yapım işinin %(target)s tarihinde süresi doluyor"
-#: build/templates/build/build_base.html:157
-#: build/templates/build/detail.html:67
-msgid "Progress"
-msgstr "İlerleme"
+#: build/templates/build/build_base.html:143
+#: build/templates/build/build_base.html:188
+#: order/templates/order/order_base.html:81
+#: order/templates/order/order_base.html:102
+#: order/templates/order/sales_order_base.html:78
+#: order/templates/order/sales_order_base.html:107
+#: templates/js/translated/table_filters.js:288
+#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:333
+msgid "Overdue"
+msgstr "Vadesi geçmiş"
-#: build/templates/build/build_base.html:170
-#: build/templates/build/detail.html:87 order/models.py:848
+#: build/templates/build/build_base.html:150
+#: build/templates/build/detail.html:68 build/templates/build/detail.html:143
+#: templates/js/translated/build.js:1641
+#: templates/js/translated/table_filters.js:298
+msgid "Completed"
+msgstr "Tamamlandı"
+
+#: build/templates/build/build_base.html:163
+#: build/templates/build/detail.html:95 order/models.py:857
#: order/templates/order/sales_order_base.html:9
-#: order/templates/order/sales_order_base.html:35
+#: order/templates/order/sales_order_base.html:28
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:293
-#: templates/js/translated/order.js:1016
+#: stock/templates/stock/item_base.html:280
+#: templates/js/translated/order.js:1029
msgid "Sales Order"
msgstr "Sipariş Emri"
-#: build/templates/build/build_base.html:177
-#: build/templates/build/detail.html:101
+#: build/templates/build/build_base.html:170
+#: build/templates/build/detail.html:109
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr "Veren"
-#: build/templates/build/build_base.html:214
+#: build/templates/build/build_base.html:215
msgid "Incomplete Outputs"
msgstr "Tamamlanmamış Çıktılar"
-#: build/templates/build/build_base.html:215
+#: build/templates/build/build_base.html:216
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr "Tamamlanmamış yapım işi çıktıları kaldığı için yapım işi emri tamamlanamıyor"
@@ -1175,220 +1168,205 @@ msgstr "Gerekli yapım işi miktarı tamamlanmadı"
msgid "Required stock has not been fully allocated"
msgstr "Gerekli stok tamamen tahsis edilemedi"
-#: build/templates/build/complete_output.html:10
-msgid "Stock allocation is complete for this output"
-msgstr "Bu çıktı için stok tahsisi tamamlandı"
+#: build/templates/build/detail.html:16
+msgid "Build Details"
+msgstr "Yapım İşi Detayları"
-#: build/templates/build/complete_output.html:14
-msgid "Stock allocation is incomplete"
-msgstr "Stok tahsisi tamamlanmamış"
-
-#: build/templates/build/complete_output.html:20
-msgid "tracked parts have not been fully allocated"
-msgstr "takip edilebilir parçalar tamamen tahsis edilemedi"
-
-#: build/templates/build/complete_output.html:41
-msgid "The following items will be created"
-msgstr "Aşağıdaki ögeler oluşturulacak"
-
-#: build/templates/build/detail.html:38
+#: build/templates/build/detail.html:39
msgid "Stock Source"
msgstr "Stok Kaynağı"
-#: build/templates/build/detail.html:43
+#: build/templates/build/detail.html:44
msgid "Stock can be taken from any available location."
msgstr "Stok herhangi bir konumdan alınabilir."
-#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134
-#: templates/js/translated/order.js:431 templates/js/translated/order.js:939
+#: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150
+#: templates/js/translated/order.js:432 templates/js/translated/order.js:952
msgid "Destination"
msgstr "Hedef"
-#: build/templates/build/detail.html:56
+#: build/templates/build/detail.html:57
msgid "Destination location not specified"
msgstr "Hedef konumu belirtilmedi"
-#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:317
-#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852
-#: templates/js/translated/table_filters.js:129
-#: templates/js/translated/table_filters.js:211
+#: build/templates/build/detail.html:74 templates/js/translated/build.js:647
+#, fuzzy
+#| msgid "Allocate Stock"
+msgid "Allocated Parts"
+msgstr "Stok Tahsis Et"
+
+#: build/templates/build/detail.html:81
+#: stock/templates/stock/item_base.html:304
+#: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164
+#: templates/js/translated/table_filters.js:145
+#: templates/js/translated/table_filters.js:227
msgid "Batch"
msgstr "Toplu"
-#: build/templates/build/detail.html:119
-#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:118
-#: templates/js/translated/build.js:1259
+#: build/templates/build/detail.html:127
+#: order/templates/order/order_base.html:127
+#: order/templates/order/sales_order_base.html:134
+#: templates/js/translated/build.js:1663
msgid "Created"
msgstr "Oluşturuldu"
-#: build/templates/build/detail.html:130
+#: build/templates/build/detail.html:138
msgid "No target date set"
msgstr "Hedef tarih ayarlanmadı"
-#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237
-#: templates/js/translated/table_filters.js:282
-msgid "Completed"
-msgstr "Tamamlandı"
-
-#: build/templates/build/detail.html:139
+#: build/templates/build/detail.html:147
msgid "Build not complete"
msgstr "Yapım İşi tamamlanmadı"
-#: build/templates/build/detail.html:150 build/templates/build/navbar.html:35
+#: build/templates/build/detail.html:158
msgid "Child Build Orders"
msgstr "Alt Yapım İşi Emrileri"
-#: build/templates/build/detail.html:166
+#: build/templates/build/detail.html:173
msgid "Allocate Stock to Build"
msgstr "Yapım İşi için Stok Tahsis Et"
-#: build/templates/build/detail.html:172
-msgid "Allocate stock to build"
-msgstr "Yapım işi için stok tahsis et"
-
-#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20
-#: build/templates/build/navbar.html:23
-msgid "Allocate Stock"
-msgstr "Stok Tahsis Et"
-
-#: build/templates/build/detail.html:175 templates/js/translated/build.js:817
+#: build/templates/build/detail.html:177 templates/js/translated/build.js:1202
msgid "Unallocate stock"
msgstr "Stok tahsisini kaldır"
-#: build/templates/build/detail.html:176 build/views.py:257
+#: build/templates/build/detail.html:178
msgid "Unallocate Stock"
msgstr "Stok Tahsisini Kaldır"
-#: build/templates/build/detail.html:179
+#: build/templates/build/detail.html:180
+msgid "Allocate stock to build"
+msgstr "Yapım işi için stok tahsis et"
+
+#: build/templates/build/detail.html:181
+msgid "Allocate Stock"
+msgstr "Stok Tahsis Et"
+
+#: build/templates/build/detail.html:184
msgid "Order required parts"
msgstr "Gerekli parçaları sipariş edin"
-#: build/templates/build/detail.html:180
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72 order/views.py:509
-#: part/templates/part/category.html:140
+#: build/templates/build/detail.html:185
+#: company/templates/company/detail.html:38
+#: company/templates/company/detail.html:85 order/views.py:509
+#: part/templates/part/category.html:166
msgid "Order Parts"
msgstr "Parça Siparişi"
-#: build/templates/build/detail.html:186
+#: build/templates/build/detail.html:197
msgid "Untracked stock has been fully allocated for this Build Order"
msgstr "Takip edilmeyen stok yapım işi emri için tamamen tahsis edildi"
-#: build/templates/build/detail.html:190
+#: build/templates/build/detail.html:201
msgid "Untracked stock has not been fully allocated for this Build Order"
msgstr "Takip edilmeyen stok yapım işi emri için tamamen tahsis edilemedi"
-#: build/templates/build/detail.html:197
+#: build/templates/build/detail.html:208
msgid "Allocate selected items"
msgstr ""
-#: build/templates/build/detail.html:209
+#: build/templates/build/detail.html:218
msgid "This Build Order does not have any associated untracked BOM items"
msgstr "Bu yapım işi emri, herhangi bir takip edilmeyen malzeme listesi öğesine sahip değil"
-#: build/templates/build/detail.html:218
+#: build/templates/build/detail.html:227
msgid "Incomplete Build Outputs"
msgstr "Tamamlanmamış Yapım İşi Çıktıları"
-#: build/templates/build/detail.html:223
+#: build/templates/build/detail.html:231
msgid "Create new build output"
msgstr "Yeni yapım işi çıktısı oluştur"
-#: build/templates/build/detail.html:224
-msgid "Create New Output"
-msgstr "Yeni Çıktı Oluştur"
+#: build/templates/build/detail.html:232
+#, fuzzy
+#| msgid "Build Outputs"
+msgid "New Build Output"
+msgstr "Yapım İşi Çıktıları"
-#: build/templates/build/detail.html:237
-msgid "Create a new build output"
-msgstr "Yeni bir yapım işi çıktısı oluştur"
+#: build/templates/build/detail.html:246
+#, fuzzy
+#| msgid "Actions"
+msgid "Output Actions"
+msgstr "İşlemler"
-#: build/templates/build/detail.html:238
-msgid "No incomplete build outputs remain."
-msgstr "Tamamlanmamış yapım işi çıktısı kalmadı."
+#: build/templates/build/detail.html:250
+#, fuzzy
+#| msgid "Completed items"
+msgid "Complete selected items"
+msgstr "Tamamlanmış ögeler"
-#: build/templates/build/detail.html:239
-msgid "Create a new build output using the button above"
-msgstr "Yukarıdaki düğmeyi kullanarak yeni bir yapım işi çıktısı oluştur"
+#: build/templates/build/detail.html:251
+#, fuzzy
+#| msgid "Incomplete Outputs"
+msgid "Complete outputs"
+msgstr "Tamamlanmamış Çıktılar"
-#: build/templates/build/detail.html:247
+#: build/templates/build/detail.html:266
msgid "Completed Build Outputs"
msgstr "Tamamlanmış Yapım İşi Çıktıları"
-#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42
-#: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35
-#: order/templates/order/sales_order_detail.html:43
-#: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173
-#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117
-#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47
-#: stock/templates/stock/navbar.html:50
+#: build/templates/build/detail.html:278
+#: order/templates/order/purchase_order_detail.html:60
+#: order/templates/order/sales_order_detail.html:52
+#: part/templates/part/detail.html:300 stock/templates/stock/item.html:95
msgid "Attachments"
msgstr "Ekler"
-#: build/templates/build/detail.html:269
+#: build/templates/build/detail.html:294
msgid "Build Notes"
msgstr "Yapım İşi Notları"
-#: build/templates/build/detail.html:273 build/templates/build/detail.html:414
-#: company/templates/company/detail.html:169
-#: company/templates/company/detail.html:196
-#: order/templates/order/purchase_order_detail.html:71
-#: order/templates/order/purchase_order_detail.html:104
-#: order/templates/order/sales_order_detail.html:58
-#: order/templates/order/sales_order_detail.html:85
-#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103
-#: stock/templates/stock/item.html:188
+#: build/templates/build/detail.html:298 build/templates/build/detail.html:489
+#: company/templates/company/detail.html:188
+#: company/templates/company/detail.html:215
+#: order/templates/order/purchase_order_detail.html:80
+#: order/templates/order/purchase_order_detail.html:108
+#: order/templates/order/sales_order_detail.html:72
+#: order/templates/order/sales_order_detail.html:99
+#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115
+#: stock/templates/stock/item.html:205
msgid "Edit Notes"
msgstr "Notları Düzenle"
-#: build/templates/build/detail.html:373
-#: order/templates/order/po_attachments.html:79
-#: order/templates/order/purchase_order_detail.html:166
-#: order/templates/order/sales_order_detail.html:146
-#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253
-#: templates/attachment_table.html:6
+#: build/templates/build/detail.html:448
+#: order/templates/order/purchase_order_detail.html:170
+#: order/templates/order/sales_order_detail.html:160
+#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270
+#: templates/attachment_button.html:4
msgid "Add Attachment"
msgstr "Dosya Ekle"
-#: build/templates/build/detail.html:392
-#: order/templates/order/po_attachments.html:51
-#: order/templates/order/purchase_order_detail.html:138
-#: order/templates/order/sales_order_detail.html:119
-#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221
+#: build/templates/build/detail.html:467
+#: order/templates/order/purchase_order_detail.html:142
+#: order/templates/order/sales_order_detail.html:133
+#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238
msgid "Edit Attachment"
msgstr "Ek Düzenle"
-#: build/templates/build/detail.html:399
-#: order/templates/order/po_attachments.html:58
-#: order/templates/order/purchase_order_detail.html:145
-#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230
-#: templates/js/translated/order.js:1230
+#: build/templates/build/detail.html:474
+#: order/templates/order/purchase_order_detail.html:149
+#: order/templates/order/sales_order_detail.html:139
+#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247
+#: templates/js/translated/order.js:1243
msgid "Confirm Delete Operation"
msgstr "Silme İşlemini Onayla"
-#: build/templates/build/detail.html:400
-#: order/templates/order/po_attachments.html:59
-#: order/templates/order/purchase_order_detail.html:146
-#: order/templates/order/sales_order_detail.html:126
-#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231
+#: build/templates/build/detail.html:475
+#: order/templates/order/purchase_order_detail.html:150
+#: order/templates/order/sales_order_detail.html:140
+#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248
msgid "Delete Attachment"
msgstr "Eki Sil"
-#: build/templates/build/detail.html:443
+#: build/templates/build/detail.html:513
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:444
+#: build/templates/build/detail.html:514
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/edit_build_item.html:7
-msgid "Alter the quantity of stock allocated to the build output"
-msgstr "Yapım işi çıktısına tahsis edilen stok miktarını değiştir"
-
-#: build/templates/build/index.html:28
+#: build/templates/build/index.html:18 part/templates/part/detail.html:433
msgid "New Build Order"
msgstr "Yeni Yapım İşi Emri"
@@ -1396,47 +1374,18 @@ msgstr "Yeni Yapım İşi Emri"
msgid "Print Build Orders"
msgstr "Yapım İşi Emirlerini Yazdır"
-#: build/templates/build/index.html:43
-#: order/templates/order/purchase_orders.html:27
-#: order/templates/order/sales_orders.html:27
+#: build/templates/build/index.html:44
+#: order/templates/order/purchase_orders.html:34
+#: order/templates/order/sales_orders.html:37
msgid "Display calendar view"
msgstr "Takvim görünümünü görüntüle"
-#: build/templates/build/index.html:46
-#: order/templates/order/purchase_orders.html:30
-#: order/templates/order/sales_orders.html:30
+#: build/templates/build/index.html:47
+#: order/templates/order/purchase_orders.html:37
+#: order/templates/order/sales_orders.html:40
msgid "Display list view"
msgstr "Liste görünümünü görüntüle"
-#: build/templates/build/navbar.html:12
-msgid "Build Order Details"
-msgstr "Yapım İşi Emri Detayları"
-
-#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/translated/stock.js:1534
-msgid "Details"
-msgstr "Detaylar"
-
-#: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31
-msgid "Build Outputs"
-msgstr "Yapım İşi Çıktıları"
-
-#: build/templates/build/navbar.html:38
-msgid "Child Builds"
-msgstr "Alt Yapım İşleri"
-
-#: build/templates/build/navbar.html:49
-msgid "Build Order Notes"
-msgstr "Yapım İşi Emri Notları"
-
-#: build/templates/build/unallocate.html:10
-msgid "Are you sure you wish to unallocate all stock for this build?"
-msgstr "Bu yapım işi için tahsis edilen tüm stokları kaldırmak istediğinizden emin misiniz?"
-
-#: build/templates/build/unallocate.html:12
-msgid "All incomplete stock allocations will be removed from the build"
-msgstr "Tüm eksik stok tahsisleri yapım işinden kaldırılacak"
-
#: build/views.py:76
msgid "Build was cancelled"
msgstr "Yapım işi iptal edildi"
@@ -1449,7 +1398,7 @@ msgstr "Yapım İşi Çıktısı Oluştur"
msgid "Maximum output quantity is "
msgstr "Maksimum çıktı miktarı "
-#: build/views.py:122 stock/views.py:1366
+#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290
msgid "Serial numbers already exist"
msgstr "Seri numaraları zaten mevcut"
@@ -1461,11 +1410,11 @@ msgstr "Seri numaraları takip edilebilir yapım işi çıktıları için gerekl
msgid "Delete Build Output"
msgstr "Yapım İşi Çıktısı Sil"
-#: build/views.py:218 build/views.py:308
+#: build/views.py:218
msgid "Confirm unallocation of build stock"
msgstr "Yapım işi stoku tahsisinin iptalini onayla"
-#: build/views.py:219 build/views.py:309 stock/views.py:381
+#: build/views.py:219 stock/views.py:385
msgid "Check the confirmation box"
msgstr "Onay kutusunu işaretleyin"
@@ -1473,7 +1422,7 @@ msgstr "Onay kutusunu işaretleyin"
msgid "Build output does not match build"
msgstr "Yapım işi çıktısı yapım işi ile eşleşmiyor"
-#: build/views.py:233 build/views.py:434
+#: build/views.py:233
msgid "Build output must be specified"
msgstr "Yapım işi çıktısı belirtilmeli"
@@ -1481,39 +1430,19 @@ msgstr "Yapım işi çıktısı belirtilmeli"
msgid "Build output deleted"
msgstr "Yapım işi çıktısı silindi"
-#: build/views.py:343
+#: build/views.py:261
msgid "Complete Build Order"
msgstr "Tamamlanmış Yapım İşi Emri"
-#: build/views.py:349
+#: build/views.py:267
msgid "Build order cannot be completed - incomplete outputs remain"
msgstr "Yapım işi emri tamamlanamadı - eksik çıktılar kaldı"
-#: build/views.py:360
+#: build/views.py:278
msgid "Completed build order"
msgstr "Tamamlanmış yapım işi emri"
-#: build/views.py:376
-msgid "Complete Build Output"
-msgstr "Tamamlanmış Yapım İşi Çıktısı"
-
-#: build/views.py:418
-msgid "Invalid stock status value selected"
-msgstr "Geçersiz stok durum değeri seçildi"
-
-#: build/views.py:425
-msgid "Quantity to complete cannot exceed build output quantity"
-msgstr "Tamamlanacak miktar yapım işi çıktı miktarını aşamaz"
-
-#: build/views.py:431
-msgid "Confirm completion of incomplete build"
-msgstr "Eksik yapım işinin tamamlandığını onaylayın"
-
-#: build/views.py:530
-msgid "Build output completed"
-msgstr "Yapım işi çıktısı tamamlandı"
-
-#: build/views.py:567
+#: build/views.py:319
msgid "Delete Build Order"
msgstr "Yapım İşi Emrini Sil"
@@ -1554,728 +1483,742 @@ msgstr "{name.title()} Dosya"
msgid "Select {name} file to upload"
msgstr "{name} dosyasını yüklemek için seçin"
-#: common/models.py:308 common/models.py:887 common/models.py:1048
+#: common/models.py:340 common/models.py:970 common/models.py:1178
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:310
+#: common/models.py:342
msgid "Settings value"
msgstr ""
-#: common/models.py:345
+#: common/models.py:377
msgid "Must be an integer value"
msgstr "Bir tam sayı olmalı"
-#: common/models.py:368
+#: common/models.py:382
+#, fuzzy
+#| msgid "Barcode does not match a valid location"
+msgid "Chosen value is not a valid option"
+msgstr "Barkod geçerli bir konumla eşleşmiyor"
+
+#: common/models.py:405
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:379
+#: common/models.py:416
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:402
+#: common/models.py:439
msgid "Key string must be unique"
msgstr "Anahtar dizesi benzersiz olmalı"
-#: common/models.py:509
+#: common/models.py:559
+msgid "No group"
+msgstr ""
+
+#: common/models.py:601
+#, fuzzy
+#| msgid "Required"
+msgid "Restart required"
+msgstr "Gerekli"
+
+#: common/models.py:602
+msgid "A setting has been changed which requires a server restart"
+msgstr ""
+
+#: common/models.py:609
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:511
+#: common/models.py:611
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:515
+#: common/models.py:615
msgid "Use instance name"
msgstr ""
-#: common/models.py:516
+#: common/models.py:616
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:522 company/models.py:100 company/models.py:101
+#: common/models.py:622 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr "Şirket adı"
-#: common/models.py:523
+#: common/models.py:623
msgid "Internal company name"
msgstr ""
-#: common/models.py:528
+#: common/models.py:628
msgid "Base URL"
msgstr "Ana URL"
-#: common/models.py:529
+#: common/models.py:629
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:535
+#: common/models.py:635
msgid "Default Currency"
msgstr "Varsayılan Para Birimi"
-#: common/models.py:536
+#: common/models.py:636
msgid "Default currency"
msgstr "Varsayılan para birimi"
-#: common/models.py:542
+#: common/models.py:642
msgid "Download from URL"
msgstr "URL'den indir"
-#: common/models.py:543
+#: common/models.py:643
msgid "Allow download of remote images and files from external URL"
msgstr "Harici URL'den resim ve dosyaların indirilmesine izin ver"
-#: common/models.py:549
+#: common/models.py:649
msgid "Barcode Support"
msgstr "Barkod Desteği"
-#: common/models.py:550
+#: common/models.py:650
msgid "Enable barcode scanner support"
msgstr "Barkod tarayıcı desteğini etkinleştir"
-#: common/models.py:556
+#: common/models.py:656
msgid "IPN Regex"
msgstr "DPN Regex"
-#: common/models.py:557
+#: common/models.py:657
msgid "Regular expression pattern for matching Part IPN"
msgstr "Parça DPN eşleştirmesi için Düzenli İfade Kalıbı (Regex)"
-#: common/models.py:561
+#: common/models.py:661
msgid "Allow Duplicate IPN"
msgstr "Yinelenen DPN'ye İzin Ver"
-#: common/models.py:562
+#: common/models.py:662
msgid "Allow multiple parts to share the same IPN"
msgstr "Birden çok parçanın aynı DPN'yi paylaşmasına izin ver"
-#: common/models.py:568
+#: common/models.py:668
msgid "Allow Editing IPN"
msgstr "DPN Düzenlemeye İzin Ver"
-#: common/models.py:569
+#: common/models.py:669
msgid "Allow changing the IPN value while editing a part"
msgstr "Parçayı düzenlerken DPN değiştirmeye izin ver"
-#: common/models.py:575
+#: common/models.py:675
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:576
+#: common/models.py:676
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:582
+#: common/models.py:682
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:583
+#: common/models.py:683
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:589
+#: common/models.py:689
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:590
+#: common/models.py:690
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:596
+#: common/models.py:696
msgid "Copy Category Parameter Templates"
msgstr "Kategori Paremetre Sablonu Kopyala"
-#: common/models.py:597
+#: common/models.py:697
msgid "Copy category parameter templates when creating a part"
msgstr "Parça oluştururken kategori parametre şablonlarını kopyala"
-#: common/models.py:603 part/models.py:2256 report/models.py:187
-#: stock/forms.py:224 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:351
+#: common/models.py:703 part/models.py:2429 report/models.py:187
+#: templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:367
msgid "Template"
msgstr "Şablon"
-#: common/models.py:604
+#: common/models.py:704
msgid "Parts are templates by default"
msgstr "Parçaları varsayılan olan şablondur"
-#: common/models.py:610 part/models.py:806
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:363
+#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954
+#: templates/js/translated/table_filters.js:162
+#: templates/js/translated/table_filters.js:379
msgid "Assembly"
msgstr "Montaj"
-#: common/models.py:611
+#: common/models.py:711
msgid "Parts can be assembled from other components by default"
msgstr "Parçalar varsayılan olarak başka bileşenlerden monte edilebilir"
-#: common/models.py:617 part/models.py:812
-#: templates/js/translated/table_filters.js:367
+#: common/models.py:717 part/models.py:894
+#: templates/js/translated/table_filters.js:383
msgid "Component"
msgstr "Bileşen"
-#: common/models.py:618
+#: common/models.py:718
msgid "Parts can be used as sub-components by default"
msgstr "Parçalar varsayılan olarak alt bileşen olarak kullanılabilir"
-#: common/models.py:624 part/models.py:823
+#: common/models.py:724 part/models.py:905
msgid "Purchaseable"
msgstr "Satın Alınabilir"
-#: common/models.py:625
+#: common/models.py:725
msgid "Parts are purchaseable by default"
msgstr "Parçalar varsayılan olarak satın alınabilir"
-#: common/models.py:631 part/models.py:828
-#: templates/js/translated/table_filters.js:375
+#: common/models.py:731 part/models.py:910
+#: templates/js/translated/table_filters.js:391
msgid "Salable"
msgstr "Satılabilir"
-#: common/models.py:632
+#: common/models.py:732
msgid "Parts are salable by default"
msgstr "Parçalar varsayılan olarak satılabilir"
-#: common/models.py:638 part/models.py:818
+#: common/models.py:738 part/models.py:900
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:379
+#: templates/js/translated/table_filters.js:94
+#: templates/js/translated/table_filters.js:395
msgid "Trackable"
msgstr "Takip Edilebilir"
-#: common/models.py:639
+#: common/models.py:739
msgid "Parts are trackable by default"
msgstr "Parçalar varsayılan olarak takip edilebilir"
-#: common/models.py:645 part/models.py:838
-#: part/templates/part/part_base.html:66
+#: common/models.py:745 part/models.py:920
+#: part/templates/part/part_base.html:144
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr "Sanal"
-#: common/models.py:646
+#: common/models.py:746
msgid "Parts are virtual by default"
msgstr "Parçalar varsayılan olarak sanaldır"
-#: common/models.py:652
+#: common/models.py:752
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:653
+#: common/models.py:753
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:659
+#: common/models.py:759
msgid "Show Price in Forms"
msgstr "Formlarda Fiyat Göster"
-#: common/models.py:660
+#: common/models.py:760
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:671
+#: common/models.py:771
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:672
+#: common/models.py:772
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:678
+#: common/models.py:778
msgid "Show related parts"
msgstr "İlgili parçaları göster"
-#: common/models.py:679
+#: common/models.py:779
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:685
+#: common/models.py:785
msgid "Create initial stock"
msgstr ""
-#: common/models.py:686
+#: common/models.py:786
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:692
+#: common/models.py:792
msgid "Internal Prices"
msgstr ""
-#: common/models.py:693
+#: common/models.py:793
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:699
+#: common/models.py:799
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:700
+#: common/models.py:800
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:706 templates/stats.html:25
+#: common/models.py:806
+msgid "Part Name Display Format"
+msgstr ""
+
+#: common/models.py:807
+msgid "Format to display the part name"
+msgstr ""
+
+#: common/models.py:814
+#, fuzzy
+#| msgid "Test Reports"
+msgid "Enable Reports"
+msgstr "Test Raporları"
+
+#: common/models.py:815
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:821 templates/stats.html:25
msgid "Debug Mode"
msgstr "Hata Ayıklama Modu"
-#: common/models.py:707
+#: common/models.py:822
msgid "Generate reports in debug mode (HTML output)"
msgstr "Raporları hata ayıklama modunda üret (HTML çıktısı)"
-#: common/models.py:713
+#: common/models.py:828
msgid "Page Size"
msgstr "Sayfa Boyutu"
-#: common/models.py:714
+#: common/models.py:829
msgid "Default page size for PDF reports"
msgstr "PDF raporlar için varsayılan sayfa boyutu"
-#: common/models.py:724
+#: common/models.py:839
msgid "Test Reports"
msgstr "Test Raporları"
-#: common/models.py:725
+#: common/models.py:840
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:731
+#: common/models.py:846
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:732
+#: common/models.py:847
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:738
+#: common/models.py:853
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:739
+#: common/models.py:854
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:745
+#: common/models.py:860
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:746
+#: common/models.py:861
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:748
+#: common/models.py:863
msgid "days"
msgstr "günler"
-#: common/models.py:753
+#: common/models.py:868
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:754
+#: common/models.py:869
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:760
+#: common/models.py:875
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:761
+#: common/models.py:876
msgid "Enable ownership control over stock locations and items"
msgstr "Stok konumu ve ögeler üzerinde sahiplik kontrolünü etkinleştirin"
-#: common/models.py:767
+#: common/models.py:882
msgid "Group by Part"
msgstr ""
-#: common/models.py:768
+#: common/models.py:883
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:774
+#: common/models.py:889
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:775
+#: common/models.py:890
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:780
+#: common/models.py:895
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:781
+#: common/models.py:896
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:785
+#: common/models.py:900
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:786
+#: common/models.py:901
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:791
+#: common/models.py:906
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:792
+#: common/models.py:907
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:798
-msgid "Enable build"
-msgstr ""
-
-#: common/models.py:799
-msgid "Enable build functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:804
-msgid "Enable buy"
-msgstr ""
-
-#: common/models.py:805
-msgid "Enable buy functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:810
-msgid "Enable sell"
-msgstr ""
-
-#: common/models.py:811
-msgid "Enable sell functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:816
-msgid "Enable stock"
-msgstr ""
-
-#: common/models.py:817
-msgid "Enable stock functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:822
-msgid "Enable SO"
-msgstr ""
-
-#: common/models.py:823
-msgid "Enable SO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:828
-msgid "Enable PO"
-msgstr ""
-
-#: common/models.py:829
-msgid "Enable PO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:836
+#: common/models.py:913
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:837
-msgid "Enable password forgot function on the login-pages"
+#: common/models.py:914
+msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:842
+#: common/models.py:919
msgid "Enable registration"
msgstr ""
-#: common/models.py:843
-msgid "Enable self-registration for users on the login-pages"
+#: common/models.py:920
+msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:848
+#: common/models.py:925
msgid "Enable SSO"
msgstr ""
-#: common/models.py:849
-msgid "Enable SSO on the login-pages"
+#: common/models.py:926
+msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:854
-msgid "E-Mail required"
-msgstr ""
+#: common/models.py:931
+#, fuzzy
+#| msgid "Required"
+msgid "Email required"
+msgstr "Gerekli"
-#: common/models.py:855
+#: common/models.py:932
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:860
+#: common/models.py:937
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:861
+#: common/models.py:938
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:943
msgid "Mail twice"
msgstr ""
-#: common/models.py:867
+#: common/models.py:944
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:872
+#: common/models.py:949
msgid "Password twice"
msgstr ""
-#: common/models.py:873
+#: common/models.py:950
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:898
-msgid "Show starred parts"
+#: common/models.py:955
+msgid "Group on signup"
msgstr ""
-#: common/models.py:899
-msgid "Show starred parts on the homepage"
+#: common/models.py:956
+msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:904
+#: common/models.py:1001
+#, fuzzy
+#| msgid "Show related parts"
+msgid "Show subscribed parts"
+msgstr "İlgili parçaları göster"
+
+#: common/models.py:1002
+msgid "Show subscribed parts on the homepage"
+msgstr ""
+
+#: common/models.py:1007
+#, fuzzy
+#| msgid "Subcategories"
+msgid "Show subscribed categories"
+msgstr "Alt kategoriler"
+
+#: common/models.py:1008
+msgid "Show subscribed part categories on the homepage"
+msgstr ""
+
+#: common/models.py:1013
msgid "Show latest parts"
msgstr ""
-#: common/models.py:905
+#: common/models.py:1014
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:910
+#: common/models.py:1019
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:911
+#: common/models.py:1020
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:917
+#: common/models.py:1026
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:918
+#: common/models.py:1027
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:923
+#: common/models.py:1032
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:924
+#: common/models.py:1033
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:929
+#: common/models.py:1038
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:930
+#: common/models.py:1039
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:935
+#: common/models.py:1044
msgid "Show low stock"
msgstr ""
-#: common/models.py:936
+#: common/models.py:1045
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:941
+#: common/models.py:1050
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:942
+#: common/models.py:1051
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:947
+#: common/models.py:1056
msgid "Show needed stock"
msgstr ""
-#: common/models.py:948
+#: common/models.py:1057
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:953
+#: common/models.py:1062
msgid "Show expired stock"
msgstr ""
-#: common/models.py:954
+#: common/models.py:1063
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:959
+#: common/models.py:1068
msgid "Show stale stock"
msgstr ""
-#: common/models.py:960
+#: common/models.py:1069
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:965
+#: common/models.py:1074
msgid "Show pending builds"
msgstr ""
-#: common/models.py:966
+#: common/models.py:1075
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:971
+#: common/models.py:1080
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:972
+#: common/models.py:1081
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:977
+#: common/models.py:1086
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:978
+#: common/models.py:1087
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:983
+#: common/models.py:1092
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:984
+#: common/models.py:1093
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:989
+#: common/models.py:1098
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:990
+#: common/models.py:1099
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1104
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:996
+#: common/models.py:1105
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1002
+#: common/models.py:1111
msgid "Inline label display"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1112
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1118
msgid "Inline report display"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1119
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1125
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1126
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:1023
+#: common/models.py:1132
+#, fuzzy
+#| msgid "Low Stock"
+msgid "Search Show Stock"
+msgstr "Düşük Stok"
+
+#: common/models.py:1133
+msgid "Display stock levels in search preview window"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Hide Inactive Parts"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Hide inactive parts in search preview window"
+msgstr ""
+
+#: common/models.py:1146
msgid "Show Quantity in Forms"
msgstr "Formlarda Miktarı Göster"
-#: common/models.py:1024
+#: common/models.py:1147
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1153
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1154
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1088 company/forms.py:43
+#: common/models.py:1160
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1161
+msgid "InvenTree navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1226 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1095 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1369
+#: common/models.py:1233 company/serializers.py:264
+#: company/templates/company/supplier_part.html:256
+#: templates/js/translated/part.js:1508
msgid "Price"
msgstr "Fiyat"
-#: common/models.py:1096
+#: common/models.py:1234
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1189
-msgid "Default"
-msgstr "Varsayılan"
-
-#: common/templates/common/edit_setting.html:11
-msgid "Current value"
-msgstr "Mevcut değer"
-
-#: common/views.py:33
-msgid "Change Setting"
-msgstr "Ayarları Değiştir"
-
-#: common/views.py:119
-msgid "Supplied value is not allowed"
-msgstr ""
-
-#: common/views.py:128
-msgid "Supplied value must be a boolean"
-msgstr ""
-
-#: common/views.py:138
-msgid "Change User Setting"
-msgstr "Kullanıcı Ayarlarını Değiştir"
-
-#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42
-#: order/templates/order/po_navbar.html:19
-#: order/templates/order/po_navbar.html:22
-#: order/templates/order/purchase_order_detail.html:27 order/views.py:289
-#: part/templates/part/bom_upload/upload_file.html:65
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
-#: part/views.py:882
+#: common/views.py:93 order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:289
+#: part/templates/part/bom_upload/upload_file.html:51
+#: part/templates/part/import_wizard/part_upload.html:46 part/views.py:281
+#: part/views.py:923
msgid "Upload File"
msgstr "Dosya Yükle"
-#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
+#: common/views.py:94 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
-#: part/views.py:883
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:282
+#: part/views.py:924
msgid "Match Fields"
msgstr "Alanları Eşleştir"
-#: common/views.py:215
+#: common/views.py:95
msgid "Match Items"
msgstr ""
-#: common/views.py:560
+#: common/views.py:440
msgid "Fields matching failed"
msgstr ""
-#: common/views.py:615
+#: common/views.py:495
msgid "Parts imported"
msgstr ""
-#: common/views.py:637 order/templates/order/order_wizard/match_fields.html:27
+#: common/views.py:517 order/templates/order/order_wizard/match_fields.html:27
#: order/templates/order/order_wizard/match_parts.html:19
-#: order/templates/order/order_wizard/po_upload.html:40
+#: order/templates/order/order_wizard/po_upload.html:46
#: part/templates/part/bom_upload/match_fields.html:27
#: part/templates/part/bom_upload/match_parts.html:19
-#: part/templates/part/bom_upload/upload_file.html:63
+#: part/templates/part/bom_upload/upload_file.html:49
#: part/templates/part/import_wizard/match_fields.html:27
#: part/templates/part/import_wizard/match_references.html:19
-#: part/templates/part/import_wizard/part_upload.html:43
+#: part/templates/part/import_wizard/part_upload.html:44
msgid "Previous Step"
msgstr ""
@@ -2321,6 +2264,7 @@ msgid "Contact phone number"
msgstr "İletişim telefon numarası"
#: company/models.py:125 company/templates/company/company_base.html:102
+#: templates/InvenTree/settings/user.html:46
msgid "Email"
msgstr "E-posta"
@@ -2337,10 +2281,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:131 company/models.py:348 company/models.py:564
-#: order/models.py:160 part/models.py:715
+#: order/models.py:163 part/models.py:797
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:536
-#: templates/js/translated/company.js:825 templates/js/translated/part.js:983
+#: templates/js/translated/company.js:825 templates/js/translated/part.js:984
msgid "Link"
msgstr "Bağlantı"
@@ -2348,7 +2292,7 @@ msgstr "Bağlantı"
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:725
+#: company/models.py:139 part/models.py:807
msgid "Image"
msgstr "Resim"
@@ -2376,8 +2320,8 @@ msgstr "üretici mi"
msgid "Does this company manufacture parts?"
msgstr "Bu şirket üretim yapıyor mu?"
-#: company/models.py:152 company/serializers.py:264
-#: company/templates/company/company_base.html:76 stock/serializers.py:158
+#: company/models.py:152 company/serializers.py:270
+#: company/templates/company/company_base.html:76 stock/serializers.py:172
msgid "Currency"
msgstr "Para birimi"
@@ -2385,8 +2329,8 @@ msgstr "Para birimi"
msgid "Default currency used for this company"
msgstr "Bu şirket için varsayılan para birimi"
-#: company/models.py:320 company/models.py:535 stock/models.py:454
-#: stock/templates/stock/item_base.html:237
+#: company/models.py:320 company/models.py:535 stock/models.py:484
+#: stock/templates/stock/item_base.html:224
msgid "Base Part"
msgstr "Temel Parça"
@@ -2395,28 +2339,28 @@ msgid "Select part"
msgstr "Parça seçin"
#: company/models.py:335 company/templates/company/company_base.html:116
-#: company/templates/company/manufacturer_part.html:89
-#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:247 stock/templates/stock/item_base.html:366
+#: company/templates/company/manufacturer_part.html:93
+#: company/templates/company/supplier_part.html:104
+#: stock/templates/stock/item_base.html:353
#: templates/js/translated/company.js:332
#: templates/js/translated/company.js:513
-#: templates/js/translated/company.js:796 templates/js/translated/part.js:227
+#: templates/js/translated/company.js:796 templates/js/translated/part.js:228
msgid "Manufacturer"
msgstr "Üretici"
-#: company/models.py:336 templates/js/translated/part.js:228
+#: company/models.py:336 templates/js/translated/part.js:229
msgid "Select manufacturer"
msgstr "Üretici seçin"
-#: company/models.py:342 company/templates/company/manufacturer_part.html:93
-#: company/templates/company/supplier_part.html:106 part/bom.py:171
-#: part/bom.py:248 templates/js/translated/company.js:529
-#: templates/js/translated/company.js:814 templates/js/translated/order.js:851
-#: templates/js/translated/part.js:238
+#: company/models.py:342 company/templates/company/manufacturer_part.html:97
+#: company/templates/company/supplier_part.html:112
+#: templates/js/translated/company.js:529
+#: templates/js/translated/company.js:814 templates/js/translated/order.js:852
+#: templates/js/translated/part.js:239
msgid "MPN"
msgstr "ÜPN"
-#: company/models.py:343 templates/js/translated/part.js:239
+#: company/models.py:343 templates/js/translated/part.js:240
msgid "Manufacturer Part Number"
msgstr "Üretici Parça Numarası"
@@ -2431,7 +2375,7 @@ msgstr ""
#: company/models.py:409 company/models.py:558
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:376
+#: stock/templates/stock/item_base.html:363
msgid "Manufacturer Part"
msgstr ""
@@ -2440,10 +2384,9 @@ msgid "Parameter name"
msgstr "Parametre adı"
#: company/models.py:422
-#: report/templates/report/inventree_test_report_base.html:90
-#: stock/models.py:1816 templates/InvenTree/settings/header.html:8
-#: templates/js/translated/company.js:643 templates/js/translated/part.js:623
-#: templates/js/translated/stock.js:555
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:1867 templates/js/translated/company.js:643
+#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848
msgid "Value"
msgstr "Değer"
@@ -2451,8 +2394,9 @@ msgstr "Değer"
msgid "Parameter value"
msgstr "Parametre değeri"
-#: company/models.py:429 part/models.py:800 part/models.py:2224
-#: templates/js/translated/company.js:649 templates/js/translated/part.js:629
+#: company/models.py:429 part/models.py:882 part/models.py:2397
+#: part/templates/part/detail.html:59 templates/js/translated/company.js:649
+#: templates/js/translated/part.js:650
msgid "Units"
msgstr ""
@@ -2465,27 +2409,27 @@ msgid "Linked manufacturer part must reference the same base part"
msgstr ""
#: company/models.py:545 company/templates/company/company_base.html:121
-#: company/templates/company/supplier_part.html:88 order/models.py:260
-#: order/templates/order/order_base.html:92
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:292 stock/templates/stock/item_base.html:383
+#: company/templates/company/supplier_part.html:94 order/models.py:263
+#: order/templates/order/order_base.html:108
+#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219
+#: part/bom.py:247 stock/templates/stock/item_base.html:370
#: templates/js/translated/company.js:336
-#: templates/js/translated/company.js:770 templates/js/translated/order.js:659
-#: templates/js/translated/part.js:208
+#: templates/js/translated/company.js:770 templates/js/translated/order.js:660
+#: templates/js/translated/part.js:209
msgid "Supplier"
msgstr "Tedarikçi"
-#: company/models.py:546 templates/js/translated/part.js:209
+#: company/models.py:546 templates/js/translated/part.js:210
msgid "Select supplier"
msgstr "Tedarikçi seçin"
-#: company/models.py:551 company/templates/company/supplier_part.html:92
-#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838
-#: templates/js/translated/part.js:219
+#: company/models.py:551 company/templates/company/supplier_part.html:98
+#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:839
+#: templates/js/translated/part.js:220
msgid "SKU"
msgstr "SKU"
-#: company/models.py:552 templates/js/translated/part.js:220
+#: company/models.py:552 templates/js/translated/part.js:221
msgid "Supplier stock keeping unit"
msgstr ""
@@ -2501,23 +2445,23 @@ msgstr ""
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:120
-#: part/models.py:2389 report/templates/report/inventree_po_report.html:93
+#: company/models.py:576 company/templates/company/supplier_part.html:126
+#: part/models.py:2588 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr "Not"
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "base cost"
msgstr "temel maliyet"
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:113
-#: stock/models.py:478 stock/templates/stock/item_base.html:324
-#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036
+#: company/models.py:582 company/templates/company/supplier_part.html:119
+#: stock/models.py:507 stock/templates/stock/item_base.html:311
+#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336
msgid "Packaging"
msgstr "Paketleme"
@@ -2525,7 +2469,7 @@ msgstr "Paketleme"
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1605
+#: company/models.py:584 part/models.py:1750
msgid "multiple"
msgstr "çoklu"
@@ -2533,46 +2477,42 @@ msgstr "çoklu"
msgid "Order multiple"
msgstr ""
-#: company/serializers.py:68
+#: company/serializers.py:70
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:69
+#: company/serializers.py:71
msgid "Currency Code"
msgstr "Para Birimi Kodu"
-#: company/templates/company/company_base.html:9
-#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321
+#: company/templates/company/company_base.html:8
+#: company/templates/company/company_base.html:12
+#: templates/InvenTree/search.html:182 templates/js/translated/company.js:321
msgid "Company"
msgstr ""
-#: company/templates/company/company_base.html:25
-#: part/templates/part/part_thumb.html:21
-msgid "Upload new image"
-msgstr ""
-
-#: company/templates/company/company_base.html:27
-#: part/templates/part/part_thumb.html:23
-msgid "Download image from URL"
-msgstr ""
-
-#: company/templates/company/company_base.html:46
-#: templates/js/translated/order.js:120
+#: company/templates/company/company_base.html:22
+#: templates/js/translated/order.js:121
msgid "Create Purchase Order"
msgstr "Satın Alma Emri Oluştur"
-#: company/templates/company/company_base.html:51
+#: company/templates/company/company_base.html:27
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:56
-#: company/templates/company/company_base.html:153
+#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:148
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:64
-msgid "Company Details"
+#: company/templates/company/company_base.html:48
+#: part/templates/part/part_thumb.html:12
+msgid "Upload new image"
+msgstr ""
+
+#: company/templates/company/company_base.html:51
+#: part/templates/part/part_thumb.html:14
+msgid "Download image from URL"
msgstr ""
#: company/templates/company/company_base.html:81
@@ -2583,145 +2523,133 @@ msgstr ""
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:126 order/models.py:558
-#: order/templates/order/sales_order_base.html:99 stock/models.py:496
-#: stock/models.py:497 stock/templates/stock/item_base.html:276
-#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038
-#: templates/js/translated/stock.js:1587
+#: company/templates/company/company_base.html:126 order/models.py:567
+#: order/templates/order/sales_order_base.html:114 stock/models.py:525
+#: stock/models.py:526 stock/templates/stock/item_base.html:263
+#: templates/js/translated/company.js:328 templates/js/translated/order.js:1051
+#: templates/js/translated/stock.js:1972
msgid "Customer"
msgstr "Müşteri"
-#: company/templates/company/company_base.html:199
-#: part/templates/part/part_base.html:424
+#: company/templates/company/company_base.html:194
+#: part/templates/part/part_base.html:342
msgid "Upload Image"
msgstr ""
-#: company/templates/company/detail.html:14
-#: company/templates/company/manufacturer_part_navbar.html:18
-#: templates/InvenTree/search.html:150
+#: company/templates/company/detail.html:15 templates/InvenTree/search.html:124
msgid "Supplier Parts"
msgstr "Tedarikçi Parçaları"
-#: company/templates/company/detail.html:22
+#: company/templates/company/detail.html:19
#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr "Yeni tedarikçi parçası oluştur"
-#: company/templates/company/detail.html:23
-#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289
+#: company/templates/company/detail.html:20
+#: company/templates/company/manufacturer_part.html:112
+#: part/templates/part/detail.html:466
msgid "New Supplier Part"
msgstr "Yeni Tedarikçi Parçası"
-#: company/templates/company/detail.html:27
-#: company/templates/company/detail.html:67
-#: company/templates/company/manufacturer_part.html:112
-#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/category.html:135 part/templates/part/detail.html:292
-#: part/templates/part/detail.html:315
+#: company/templates/company/detail.html:32
+#: company/templates/company/detail.html:79
+#: company/templates/company/manufacturer_part.html:121
+#: company/templates/company/manufacturer_part.html:150
+#: part/templates/part/category.html:160 part/templates/part/detail.html:475
+#: part/templates/part/detail.html:503
msgid "Options"
msgstr ""
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72
-#: part/templates/part/category.html:140
+#: company/templates/company/detail.html:37
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:166
msgid "Order parts"
msgstr ""
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:42
+#: company/templates/company/detail.html:89
msgid "Delete parts"
msgstr "Parçaları sil"
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:43
+#: company/templates/company/detail.html:90
msgid "Delete Parts"
msgstr "Parçaları Sil"
-#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135
+#: company/templates/company/detail.html:62 templates/InvenTree/search.html:109
msgid "Manufacturer Parts"
msgstr ""
-#: company/templates/company/detail.html:62
+#: company/templates/company/detail.html:66
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:63 part/templates/part/detail.html:312
+#: company/templates/company/detail.html:67 part/templates/part/detail.html:493
msgid "New Manufacturer Part"
msgstr ""
-#: company/templates/company/detail.html:93
+#: company/templates/company/detail.html:107
msgid "Supplier Stock"
msgstr "Tedarikçi Stoku"
-#: company/templates/company/detail.html:102
-#: company/templates/company/navbar.html:46
-#: company/templates/company/navbar.html:49
+#: company/templates/company/detail.html:117
+#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
-#: order/templates/order/purchase_orders.html:13
-#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82
-#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260
-#: templates/InvenTree/search.html:229
-#: templates/InvenTree/settings/navbar.html:119
-#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44
+#: order/templates/order/purchase_orders.html:12
+#: part/templates/part/detail.html:171 templates/InvenTree/index.html:252
+#: templates/InvenTree/search.html:203 templates/navbar.html:45
#: users/models.py:45
msgid "Purchase Orders"
msgstr "Satın Alma Emirleri"
-#: company/templates/company/detail.html:108
-#: order/templates/order/purchase_orders.html:20
+#: company/templates/company/detail.html:121
+#: order/templates/order/purchase_orders.html:17
msgid "Create new purchase order"
msgstr "Yeni satın alma emri oluştur"
-#: company/templates/company/detail.html:109
-#: order/templates/order/purchase_orders.html:21
+#: company/templates/company/detail.html:122
+#: order/templates/order/purchase_orders.html:18
msgid "New Purchase Order"
msgstr "Yeni Satın Alma Emri"
-#: company/templates/company/detail.html:124
-#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58
+#: company/templates/company/detail.html:143
+#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
-#: order/templates/order/sales_orders.html:13
-#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91
-#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291
-#: templates/InvenTree/search.html:249
-#: templates/InvenTree/settings/navbar.html:125
-#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55
+#: order/templates/order/sales_orders.html:15
+#: part/templates/part/detail.html:194 templates/InvenTree/index.html:283
+#: templates/InvenTree/search.html:223 templates/navbar.html:56
#: users/models.py:46
msgid "Sales Orders"
msgstr "Satış Emirleri"
-#: company/templates/company/detail.html:130
+#: company/templates/company/detail.html:147
#: order/templates/order/sales_orders.html:20
msgid "Create new sales order"
msgstr "Yeni satış emri oluştur"
-#: company/templates/company/detail.html:131
+#: company/templates/company/detail.html:148
#: order/templates/order/sales_orders.html:21
msgid "New Sales Order"
msgstr "Yeni Satış Emri"
-#: company/templates/company/detail.html:147
-#: company/templates/company/navbar.html:61
-#: company/templates/company/navbar.html:64
-#: templates/js/translated/build.js:622
+#: company/templates/company/detail.html:168
+#: templates/js/translated/build.js:999
msgid "Assigned Stock"
msgstr "Atanan Stok"
-#: company/templates/company/detail.html:165
+#: company/templates/company/detail.html:184
msgid "Company Notes"
msgstr ""
-#: company/templates/company/detail.html:364
-#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:357
+#: company/templates/company/detail.html:383
+#: company/templates/company/manufacturer_part.html:209
+#: part/templates/part/detail.html:546
msgid "Delete Supplier Parts?"
msgstr ""
-#: company/templates/company/detail.html:365
-#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:358
+#: company/templates/company/detail.html:384
+#: company/templates/company/manufacturer_part.html:210
+#: part/templates/part/detail.html:547
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2729,204 +2657,174 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:40
-#: company/templates/company/supplier_part.html:40
-#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116
+#: company/templates/company/manufacturer_part.html:14 company/views.py:55
+#: part/templates/part/prices.html:167 templates/InvenTree/search.html:184
+#: templates/navbar.html:44
+msgid "Manufacturers"
+msgstr "Üreticiler"
+
+#: company/templates/company/manufacturer_part.html:35
+#: company/templates/company/supplier_part.html:34
+#: company/templates/company/supplier_part.html:159
+#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76
msgid "Order part"
msgstr "Parça siparişi"
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:40
#: templates/js/translated/company.js:561
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:49
+#: company/templates/company/manufacturer_part.html:44
#: templates/js/translated/company.js:562
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:61
-msgid "Manufacturer Part Details"
-msgstr ""
-
-#: company/templates/company/manufacturer_part.html:66
-#: company/templates/company/supplier_part.html:65
+#: company/templates/company/manufacturer_part.html:70
+#: company/templates/company/supplier_part.html:71
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/manufacturer_part_navbar.html:21
-#: company/views.py:49 part/templates/part/navbar.html:75
-#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163
-#: templates/InvenTree/search.html:220 templates/navbar.html:41
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: part/templates/part/prices.html:163 templates/InvenTree/search.html:194
+#: templates/navbar.html:43
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: part/templates/part/detail.html:294
+#: company/templates/company/manufacturer_part.html:123
+#: part/templates/part/detail.html:477
msgid "Delete supplier parts"
msgstr "Tedarikçi parçalarını sil"
-#: company/templates/company/manufacturer_part.html:114
-#: company/templates/company/manufacturer_part.html:138
-#: company/templates/company/manufacturer_part.html:239
-#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/translated/company.js:424
-#: templates/js/translated/helpers.js:31 users/models.py:199
+#: company/templates/company/manufacturer_part.html:123
+#: company/templates/company/manufacturer_part.html:152
+#: company/templates/company/manufacturer_part.html:248
+#: part/templates/part/detail.html:351 part/templates/part/detail.html:477
+#: part/templates/part/detail.html:505 templates/js/translated/company.js:424
+#: templates/js/translated/helpers.js:31 users/models.py:204
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:127
-#: company/templates/company/manufacturer_part_navbar.html:11
-#: company/templates/company/manufacturer_part_navbar.html:14
-#: part/templates/part/category_navbar.html:38
-#: part/templates/part/category_navbar.html:41
-#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20
-#: part/templates/part/navbar.html:23
+#: company/templates/company/manufacturer_part.html:137
+#: part/templates/part/detail.html:277
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:133
-#: part/templates/part/detail.html:162
-#: templates/InvenTree/settings/category.html:26
-#: templates/InvenTree/settings/part.html:63
+#: company/templates/company/manufacturer_part.html:141
+#: part/templates/part/detail.html:282
+#: templates/InvenTree/settings/category.html:12
+#: templates/InvenTree/settings/part.html:65
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:138
+#: company/templates/company/manufacturer_part.html:152
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:805
+#: company/templates/company/manufacturer_part.html:185
+#: part/templates/part/detail.html:983
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:224
+#: company/templates/company/manufacturer_part.html:233
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:236
+#: company/templates/company/manufacturer_part.html:245
msgid "Delete Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part_navbar.html:26
-msgid "Manufacturer Part Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:29
-#: company/templates/company/navbar.html:39
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/navbar.html:38 stock/api.py:52
-#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182
-#: templates/InvenTree/settings/navbar.html:107
-#: templates/InvenTree/settings/navbar.html:109
-#: templates/js/translated/part.js:540 templates/js/translated/part.js:769
-#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182
-#: templates/js/translated/stock.js:829 templates/navbar.html:32
-msgid "Stock"
-msgstr "Stok"
-
-#: company/templates/company/manufacturer_part_navbar.html:33
-msgid "Manufacturer Part Orders"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:36
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr ""
-
-#: company/templates/company/navbar.html:17
-#: company/templates/company/navbar.html:20
-msgid "Manufactured Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:26
-#: company/templates/company/navbar.html:29
-msgid "Supplied Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35
-#: stock/templates/stock/location.html:119
-#: stock/templates/stock/location.html:134
-#: stock/templates/stock/location.html:148
-#: stock/templates/stock/location_navbar.html:18
-#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486
-#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
-msgid "Stock Items"
-msgstr "Stok Kalemleri"
-
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:463
-#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993
+#: company/templates/company/supplier_part.html:24 stock/models.py:492
+#: stock/templates/stock/item_base.html:375
+#: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293
msgid "Supplier Part"
msgstr "Tedarikçi Parçası"
-#: company/templates/company/supplier_part.html:44
+#: company/templates/company/supplier_part.html:38
#: templates/js/translated/company.js:859
msgid "Edit supplier part"
msgstr "Tedarikçi parçasını düzenle"
-#: company/templates/company/supplier_part.html:48
+#: company/templates/company/supplier_part.html:42
#: templates/js/translated/company.js:860
msgid "Delete supplier part"
msgstr "Tedarikçi parçasını sil"
-#: company/templates/company/supplier_part.html:60
-msgid "Supplier Part Details"
-msgstr "Tedarikçi Parçası Detayları"
-
-#: company/templates/company/supplier_part.html:131
+#: company/templates/company/supplier_part.html:138
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr "Tedarikçi Parça Stoku"
-#: company/templates/company/supplier_part.html:140
+#: company/templates/company/supplier_part.html:141
+#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147
+#, fuzzy
+#| msgid "Create new stock location"
+msgid "Create new stock item"
+msgstr "Yeni stok konumu oluştur"
+
+#: company/templates/company/supplier_part.html:142
+#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148
+#: templates/js/translated/stock.js:324
+msgid "New Stock Item"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:155
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr "Tedarikçi Parçası Emirleri"
-#: company/templates/company/supplier_part.html:147
-#: part/templates/part/detail.html:56
+#: company/templates/company/supplier_part.html:160
+#: part/templates/part/detail.html:175
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:158
-#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7
+#: company/templates/company/supplier_part.html:179
+#: part/templates/part/prices.html:7
msgid "Pricing Information"
msgstr "Fiyat Bilgisi"
-#: company/templates/company/supplier_part.html:164
-#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:271 part/views.py:1730
+#: company/templates/company/supplier_part.html:184
+#: company/templates/company/supplier_part.html:290
+#: part/templates/part/prices.html:271 part/views.py:1782
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:185
+#: company/templates/company/supplier_part.html:210
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:1792
+#: company/templates/company/supplier_part.html:224 part/views.py:1844
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:1778
+#: company/templates/company/supplier_part.html:238 part/views.py:1830
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
+#: company/templates/company/supplier_part.html:263
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:239
+#: company/templates/company/supplier_part.html:264
msgid "Delete price break"
msgstr ""
+#: company/templates/company/supplier_part_navbar.html:15
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426
+#: templates/js/translated/part.js:561 templates/js/translated/part.js:786
+#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479
+#: templates/js/translated/stock.js:1132 templates/navbar.html:26
+msgid "Stock"
+msgstr "Stok"
+
+#: company/templates/company/supplier_part_navbar.html:22
+msgid "Orders"
+msgstr ""
+
#: company/templates/company/supplier_part_navbar.html:26
msgid "Supplier Part Pricing"
msgstr "Tedarikçi Parçası Fiyatlandırması"
@@ -2939,17 +2837,12 @@ msgstr "Fiyatlandırma"
msgid "New Supplier"
msgstr "Yeni Tedarikçi"
-#: company/views.py:55 part/templates/part/prices.html:167
-#: templates/InvenTree/search.html:210 templates/navbar.html:42
-msgid "Manufacturers"
-msgstr "Üreticiler"
-
#: company/views.py:56
msgid "New Manufacturer"
msgstr "Yeni Üretici"
-#: company/views.py:61 templates/InvenTree/search.html:240
-#: templates/navbar.html:53
+#: company/views.py:61 templates/InvenTree/search.html:214
+#: templates/navbar.html:55
msgid "Customers"
msgstr "Müşteriler"
@@ -2965,24 +2858,24 @@ msgstr "Şirketler"
msgid "New Company"
msgstr "Yeni Şirket"
-#: company/views.py:129 part/views.py:608
+#: company/views.py:129 part/views.py:649
msgid "Download Image"
msgstr "Resmi İndirin"
-#: company/views.py:158 part/views.py:640
+#: company/views.py:158 part/views.py:681
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:647
+#: company/views.py:165 part/views.py:688
#, python-brace-format
msgid "Invalid response: {code}"
msgstr "Geçersiz yanıt: {code}"
-#: company/views.py:174 part/views.py:656
+#: company/views.py:174 part/views.py:697
msgid "Supplied URL is not a valid image file"
msgstr "Sağlanan URL geçerli bir resim dosyası değil"
-#: label/api.py:57 report/api.py:201
+#: label/api.py:57 report/api.py:203
msgid "No valid objects provided to template"
msgstr "Şablon için geçerli bir nesne sağlanmadı"
@@ -2994,7 +2887,7 @@ msgstr "Etiket adı"
msgid "Label description"
msgstr "Etiket tanımı"
-#: label/models.py:127 stock/forms.py:167
+#: label/models.py:127
msgid "Label"
msgstr "Etiket"
@@ -3039,7 +2932,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:259 label/models.py:319 label/models.py:366
-#: report/models.py:322 report/models.py:457 report/models.py:495
+#: report/models.py:322 report/models.py:459 report/models.py:497
msgid "Filters"
msgstr "Filtreler"
@@ -3051,240 +2944,236 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:250
-msgid "Matching purchase order does not exist"
-msgstr ""
-
-#: order/forms.py:27 order/templates/order/order_base.html:50
+#: order/forms.py:26 order/templates/order/order_base.html:52
msgid "Place order"
msgstr "Sipariş ver"
-#: order/forms.py:38 order/templates/order/order_base.html:57
+#: order/forms.py:37 order/templates/order/order_base.html:59
msgid "Mark order as complete"
msgstr "Siparişi tamamlandı olarak işaretle"
-#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:64
+#: order/forms.py:48 order/forms.py:59 order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
msgid "Cancel order"
msgstr "Siparişi iptal et"
-#: order/forms.py:71 order/templates/order/sales_order_base.html:61
+#: order/forms.py:70
msgid "Ship order"
msgstr ""
-#: order/forms.py:97
+#: order/forms.py:98
msgid "Enter stock item serial numbers"
msgstr "Stok kalemi seri numaları girin"
-#: order/forms.py:103
+#: order/forms.py:104
msgid "Enter quantity of stock items"
msgstr ""
-#: order/models.py:158
+#: order/models.py:161
msgid "Order description"
msgstr "Sipariş açıklaması"
-#: order/models.py:160
+#: order/models.py:163
msgid "Link to external page"
msgstr "Harici sayfaya bağlantı"
-#: order/models.py:168
+#: order/models.py:171
msgid "Created By"
msgstr "Oluşturan"
-#: order/models.py:175
+#: order/models.py:178
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:180
+#: order/models.py:183
msgid "Order notes"
msgstr "Sipariş notları"
-#: order/models.py:247 order/models.py:548
+#: order/models.py:250 order/models.py:557
msgid "Order reference"
msgstr "Sipariş referansı"
-#: order/models.py:252 order/models.py:563
+#: order/models.py:255 order/models.py:572
msgid "Purchase order status"
msgstr ""
-#: order/models.py:261
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/translated/order.js:668
+#: order/models.py:267 order/templates/order/order_base.html:114
+#: templates/js/translated/order.js:669
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:264
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:271
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:276
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:277
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:282
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:283
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:289
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:318
+#: order/models.py:321
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:428
+#: order/models.py:431
msgid "Quantity must be an integer"
msgstr ""
-#: order/models.py:432
+#: order/models.py:435
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:559
+#: order/models.py:568
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer Reference "
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:570
+#: order/models.py:579
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:573 templates/js/translated/order.js:1079
+#: order/models.py:582 templates/js/translated/order.js:1092
msgid "Shipment Date"
msgstr ""
-#: order/models.py:580
+#: order/models.py:589
msgid "shipped by"
msgstr ""
-#: order/models.py:624
+#: order/models.py:633
msgid "SalesOrder cannot be shipped as it is not currently pending"
msgstr ""
-#: order/models.py:721
+#: order/models.py:730
msgid "Item quantity"
msgstr ""
-#: order/models.py:727
+#: order/models.py:736
msgid "Line item reference"
msgstr ""
-#: order/models.py:729
+#: order/models.py:738
msgid "Line item notes"
msgstr ""
-#: order/models.py:759 order/models.py:847
-#: templates/js/translated/order.js:1131
+#: order/models.py:768 order/models.py:856
+#: templates/js/translated/order.js:1144
msgid "Order"
msgstr ""
-#: order/models.py:760 order/templates/order/order_base.html:9
-#: order/templates/order/order_base.html:24
+#: order/models.py:769 order/templates/order/order_base.html:9
+#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:338
-#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970
-#: templates/js/translated/stock.js:1568
+#: stock/templates/stock/item_base.html:325
+#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1270
+#: templates/js/translated/stock.js:1953
msgid "Purchase Order"
msgstr ""
-#: order/models.py:781
+#: order/models.py:790
msgid "Supplier part"
msgstr ""
-#: order/models.py:788 order/templates/order/order_base.html:131
-#: order/templates/order/sales_order_base.html:138
-#: templates/js/translated/order.js:428 templates/js/translated/order.js:919
+#: order/models.py:797 order/templates/order/order_base.html:147
+#: order/templates/order/sales_order_base.html:154
+#: templates/js/translated/order.js:429 templates/js/translated/order.js:932
msgid "Received"
msgstr ""
-#: order/models.py:789
+#: order/models.py:798
msgid "Number of items received"
msgstr ""
-#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588
-#: stock/serializers.py:150 stock/templates/stock/item_base.html:345
-#: templates/js/translated/stock.js:1024
+#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619
+#: stock/serializers.py:163 stock/templates/stock/item_base.html:332
+#: templates/js/translated/stock.js:1324
msgid "Purchase Price"
msgstr ""
-#: order/models.py:797
+#: order/models.py:806
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:805
+#: order/models.py:814
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:857 part/templates/part/part_pricing.html:112
+#: order/models.py:866 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:116 part/templates/part/prices.html:284
msgid "Sale Price"
msgstr ""
-#: order/models.py:858
+#: order/models.py:867
msgid "Unit sale price"
msgstr ""
-#: order/models.py:937 order/models.py:939
+#: order/models.py:946 order/models.py:948
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:943
+#: order/models.py:952
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:945
+#: order/models.py:954
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:948
+#: order/models.py:957
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Tahsis miktarı stok miktarını aşamaz"
-#: order/models.py:952
+#: order/models.py:961
msgid "StockItem is over-allocated"
msgstr "Stok kalemi fazladan tahsis edilmiş"
-#: order/models.py:958
+#: order/models.py:967
msgid "Quantity must be 1 for serialized stock item"
msgstr "Seri numaralı stok kalemi için miktar bir olmalı"
-#: order/models.py:966
+#: order/models.py:975
msgid "Line"
msgstr ""
-#: order/models.py:978
+#: order/models.py:987
msgid "Item"
msgstr ""
-#: order/models.py:979
+#: order/models.py:988
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:982
+#: order/models.py:991
msgid "Enter stock allocation quantity"
msgstr "Stok tahsis miktarını girin"
@@ -3300,7 +3189,7 @@ msgstr ""
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:218 order/serializers.py:285
+#: order/serializers.py:218 order/serializers.py:286
msgid "Select destination location for received items"
msgstr ""
@@ -3312,72 +3201,76 @@ msgstr ""
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:259
+#: order/serializers.py:260
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:297
+#: order/serializers.py:298
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:314
+#: order/serializers.py:315
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:325
+#: order/serializers.py:326
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:569
+#: order/serializers.py:568
msgid "Sale price currency"
msgstr ""
#: order/templates/order/delete_attachment.html:5
#: stock/templates/stock/attachment_delete.html:5
-#: templates/attachment_delete.html:5
msgid "Are you sure you want to delete this attachment?"
msgstr ""
-#: order/templates/order/order_base.html:39
-#: order/templates/order/sales_order_base.html:50
-msgid "Print"
-msgstr "Yazdır"
+#: order/templates/order/order_base.html:33
+#, fuzzy
+#| msgid "Create new purchase order"
+msgid "Print purchase order report"
+msgstr "Yeni satın alma emri oluştur"
-#: order/templates/order/order_base.html:42
-#: order/templates/order/sales_order_base.html:53
+#: order/templates/order/order_base.html:35
+#: order/templates/order/sales_order_base.html:45
msgid "Export order to file"
msgstr "Emiri dosya çıkar"
-#: order/templates/order/order_base.html:46
-#: order/templates/order/sales_order_base.html:57
-msgid "Edit order information"
-msgstr ""
+#: order/templates/order/order_base.html:41
+#: order/templates/order/sales_order_base.html:54
+#, fuzzy
+#| msgid "Barcode actions"
+msgid "Order actions"
+msgstr "Barkod işlemleri"
-#: order/templates/order/order_base.html:54
+#: order/templates/order/order_base.html:45
+#: order/templates/order/sales_order_base.html:58
+#, fuzzy
+#| msgid "Edit Notes"
+msgid "Edit order"
+msgstr "Notları Düzenle"
+
+#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
-#: order/templates/order/order_base.html:72
-#: order/templates/order/po_navbar.html:12
-msgid "Purchase Order Details"
-msgstr ""
-
-#: order/templates/order/order_base.html:77
-#: order/templates/order/sales_order_base.html:84
+#: order/templates/order/order_base.html:93
+#: order/templates/order/sales_order_base.html:98
msgid "Order Reference"
msgstr ""
-#: order/templates/order/order_base.html:82
-#: order/templates/order/sales_order_base.html:89
+#: order/templates/order/order_base.html:98
+#: order/templates/order/sales_order_base.html:103
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:117
+#: order/templates/order/order_base.html:133
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:185
+#: order/templates/order/order_base.html:203
msgid "Edit Purchase Order"
msgstr ""
@@ -3453,7 +3346,8 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/build.js:869 templates/js/translated/order.js:376
+#: templates/js/translated/build.js:240 templates/js/translated/build.js:1251
+#: templates/js/translated/order.js:377
msgid "Remove row"
msgstr ""
@@ -3475,19 +3369,19 @@ msgstr ""
msgid "Select Supplier Part"
msgstr "Tedarikçi Parçası Seçin"
-#: order/templates/order/order_wizard/po_upload.html:11
+#: order/templates/order/order_wizard/po_upload.html:16
msgid "Upload File for Purchase Order"
msgstr "Sipariş Emri için Dosya Yükle"
-#: order/templates/order/order_wizard/po_upload.html:18
-#: part/templates/part/bom_upload/upload_file.html:34
+#: order/templates/order/order_wizard/po_upload.html:24
+#: part/templates/part/bom_upload/upload_file.html:20
#: part/templates/part/import_wizard/ajax_part_upload.html:10
-#: part/templates/part/import_wizard/part_upload.html:21
+#: part/templates/part/import_wizard/part_upload.html:22
#, python-format
msgid "Step %(step)s of %(count)s"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/order_wizard/po_upload.html:54
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
@@ -3530,7 +3424,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084
+#: templates/js/translated/order.js:695 templates/js/translated/order.js:1097
msgid "Items"
msgstr "Ürünler"
@@ -3548,30 +3442,14 @@ msgstr ""
msgid "Select a purchase order for %(name)s"
msgstr ""
-#: order/templates/order/po_attachments.html:12
-#: order/templates/order/po_navbar.html:32
-#: order/templates/order/purchase_order_detail.html:56
-msgid "Purchase Order Attachments"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:26
-msgid "Received Stock Items"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:29
-#: order/templates/order/po_received_items.html:12
-#: order/templates/order/purchase_order_detail.html:47
-msgid "Received Items"
-msgstr ""
-
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:24
-#: order/templates/order/purchase_order_detail.html:212
+#: order/templates/order/purchase_order_detail.html:27
+#: order/templates/order/purchase_order_detail.html:216
#: order/templates/order/sales_order_detail.html:23
-#: order/templates/order/sales_order_detail.html:177
+#: order/templates/order/sales_order_detail.html:191
msgid "Add Line Item"
msgstr ""
@@ -3583,34 +3461,47 @@ msgstr ""
msgid "Receive Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
-#: order/templates/order/sales_order_detail.html:54
+#: order/templates/order/purchase_order_detail.html:50
+msgid "Received Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:76
+#: order/templates/order/sales_order_detail.html:68
msgid "Order Notes"
msgstr "Sipariş Notları"
-#: order/templates/order/purchase_orders.html:24
-#: order/templates/order/sales_orders.html:24
+#: order/templates/order/purchase_orders.html:30
+#: order/templates/order/sales_orders.html:33
msgid "Print Order Reports"
msgstr ""
-#: order/templates/order/sales_order_base.html:16
+#: order/templates/order/sales_order_base.html:43
+#, fuzzy
+#| msgid "Create new sales order"
+msgid "Print sales order report"
+msgstr "Yeni satış emri oluştur"
+
+#: order/templates/order/sales_order_base.html:47
+#, fuzzy
+#| msgid "Print actions"
+msgid "Print packing list"
+msgstr "Yazdırma işlemleri"
+
+#: order/templates/order/sales_order_base.html:66
+#: order/templates/order/sales_order_base.html:67 order/views.py:222
+msgid "Ship Order"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:86
msgid "This Sales Order has not been fully allocated"
msgstr ""
-#: order/templates/order/sales_order_base.html:70
-msgid "Packing List"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:79
-msgid "Sales Order Details"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:105
-#: templates/js/translated/order.js:1051
+#: order/templates/order/sales_order_base.html:121
+#: templates/js/translated/order.js:1064
msgid "Customer Reference"
msgstr ""
-#: order/templates/order/sales_order_base.html:183
+#: order/templates/order/sales_order_base.html:194
msgid "Edit Sales Order"
msgstr ""
@@ -3625,7 +3516,7 @@ msgstr "Uyarı"
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -3653,18 +3544,6 @@ msgstr ""
msgid "Allocate stock items by serial number"
msgstr "Seri numarası ile stok kalemlerini tahsis et"
-#: order/templates/order/so_navbar.html:12
-msgid "Sales Order Line Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:15
-msgid "Order Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:26
-msgid "Sales Order Attachments"
-msgstr ""
-
#: order/views.py:103
msgid "Cancel Order"
msgstr "Siparişi İptal Et"
@@ -3705,10 +3584,6 @@ msgstr ""
msgid "Purchase order completed"
msgstr ""
-#: order/views.py:222
-msgid "Ship Order"
-msgstr ""
-
#: order/views.py:238
msgid "Confirm order shipment"
msgstr ""
@@ -3776,40 +3651,28 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7
-#: part/templates/part/category.html:108 part/templates/part/category.html:122
-#: part/templates/part/category_navbar.html:21
-#: part/templates/part/category_navbar.html:24
-#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97
-#: templates/js/translated/part.js:1165 templates/navbar.html:29
-#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
-msgid "Parts"
-msgstr "Parçalar"
-
-#: part/api.py:700
+#: part/api.py:731
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:704
+#: part/api.py:735
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:719
+#: part/api.py:750
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773
+#: part/api.py:781 part/api.py:785 part/api.py:800 part/api.py:804
msgid "This field is required"
msgstr ""
-#: part/bom.py:133 part/models.py:76 part/models.py:734
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:290
+#: part/bom.py:125 part/models.py:81 part/models.py:816
+#: part/templates/part/category.html:90 part/templates/part/detail.html:104
msgid "Default Location"
msgstr "Varsayılan Konum"
-#: part/bom.py:134 part/templates/part/part_base.html:156
+#: part/bom.py:126 part/templates/part/part_base.html:167
msgid "Available Stock"
msgstr ""
@@ -3869,7 +3732,7 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr "Dışa aktarılan malzeme listesine parça tedarikçisi verilerini dahil edin"
-#: part/forms.py:96 part/models.py:2254
+#: part/forms.py:96 part/models.py:2427
msgid "Parent Part"
msgstr ""
@@ -3901,456 +3764,467 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:226
+#: part/forms.py:214
msgid "Add parameter template to same level categories"
msgstr "Parametre şablonunu aynı seviyedeki kategorilere ekle"
-#: part/forms.py:230
+#: part/forms.py:218
msgid "Add parameter template to all categories"
msgstr "Parametre şablonunu tüm kategorilere ekle"
-#: part/forms.py:250
+#: part/forms.py:238
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:77
+#: part/models.py:82
msgid "Default location for parts in this category"
msgstr "Bu kategori içindeki parçalar için varsayılan konum"
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords"
msgstr ""
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:90 part/models.py:2300
+#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:91 part/templates/part/category.html:32
-#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
-#: templates/stats.html:84 users/models.py:40
+#: part/models.py:96 part/templates/part/category.html:117
+#: templates/InvenTree/search.html:101 templates/stats.html:84
+#: users/models.py:40
msgid "Part Categories"
msgstr "Parça Kategorileri"
-#: part/models.py:384
+#: part/models.py:358 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:13 part/templates/part/category.html:122
+#: part/templates/part/category.html:142 templates/InvenTree/index.html:85
+#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304
+#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89
+#: users/models.py:41
+msgid "Parts"
+msgstr "Parçalar"
+
+#: part/models.py:450
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:436 part/models.py:448
+#: part/models.py:502 part/models.py:514
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:545
+#: part/models.py:611
msgid "Next available serial numbers are"
msgstr "Sonraki kullanılabilir seri numaraları"
-#: part/models.py:549
+#: part/models.py:615
msgid "Next available serial number is"
msgstr "Sonraki müsait seri numarası"
-#: part/models.py:554
+#: part/models.py:620
msgid "Most recent serial number is"
msgstr "En son seri numarası"
-#: part/models.py:633
+#: part/models.py:715
msgid "Duplicate IPN not allowed in part settings"
msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor"
-#: part/models.py:658
+#: part/models.py:740
msgid "Part name"
msgstr "Parça adı"
-#: part/models.py:665
+#: part/models.py:747
msgid "Is Template"
msgstr "Şablon Mu"
-#: part/models.py:666
+#: part/models.py:748
msgid "Is this part a template part?"
msgstr "Bu parça bir şablon parçası mı?"
-#: part/models.py:676
+#: part/models.py:758
msgid "Is this part a variant of another part?"
msgstr "Bu parça başka bir parçanın çeşidi mi?"
-#: part/models.py:677
+#: part/models.py:759
msgid "Variant Of"
msgstr "Çeşidi"
-#: part/models.py:683
+#: part/models.py:765
msgid "Part description"
msgstr "Parça açıklaması"
-#: part/models.py:688 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:259
+#: part/models.py:770 part/templates/part/category.html:97
+#: part/templates/part/detail.html:73
msgid "Keywords"
msgstr "Anahtar kelimeler"
-#: part/models.py:689
+#: part/models.py:771
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:696 part/models.py:2299
-#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:169
-#: templates/js/translated/part.js:927
+#: part/models.py:778 part/models.py:2223 part/models.py:2472
+#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15
+#: templates/InvenTree/settings/settings.html:163
+#: templates/js/translated/part.js:928
msgid "Category"
msgstr ""
-#: part/models.py:697
+#: part/models.py:779
msgid "Part category"
msgstr ""
-#: part/models.py:702 part/templates/part/part_base.html:235
-#: templates/js/translated/part.js:528 templates/js/translated/part.js:760
+#: part/models.py:784 part/templates/part/detail.html:45
+#: templates/js/translated/part.js:549
msgid "IPN"
msgstr "DPN"
-#: part/models.py:703
+#: part/models.py:785
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:709
+#: part/models.py:791
msgid "Part revision or version number"
msgstr "Parça revizyon veya versiyon numarası"
-#: part/models.py:710 part/templates/part/part_base.html:252
-#: report/models.py:200 templates/js/translated/part.js:532
+#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200
+#: templates/js/translated/part.js:553
msgid "Revision"
msgstr "Revizyon"
-#: part/models.py:732
+#: part/models.py:814
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:779 part/templates/part/part_base.html:297
+#: part/models.py:861 part/templates/part/detail.html:113
msgid "Default Supplier"
msgstr "Varsayılan Tedarikçi"
-#: part/models.py:780
+#: part/models.py:862
msgid "Default supplier part"
msgstr "Varsayılan tedarikçi parçası"
-#: part/models.py:787
+#: part/models.py:869
msgid "Default Expiry"
msgstr ""
-#: part/models.py:788
+#: part/models.py:870
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:793
+#: part/models.py:875 part/templates/part/part_base.html:178
msgid "Minimum Stock"
msgstr "Minimum Stok"
-#: part/models.py:794
+#: part/models.py:876
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:801
+#: part/models.py:883
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:807
+#: part/models.py:889
msgid "Can this part be built from other parts?"
msgstr "Bu parça diğer parçalardan yapılabilir mi?"
-#: part/models.py:813
+#: part/models.py:895
msgid "Can this part be used to build other parts?"
msgstr "Bu parça diğer parçaların yapımında kullanılabilir mi?"
-#: part/models.py:819
+#: part/models.py:901
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:824
+#: part/models.py:906
msgid "Can this part be purchased from external suppliers?"
msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?"
-#: part/models.py:829
+#: part/models.py:911
msgid "Can this part be sold to customers?"
msgstr "Bu parça müşterilere satılabilir mi?"
-#: part/models.py:833 templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:82
-#: templates/js/translated/table_filters.js:268
-#: templates/js/translated/table_filters.js:346
+#: part/models.py:915 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:362
msgid "Active"
msgstr "Aktif"
-#: part/models.py:834
+#: part/models.py:916
msgid "Is this part active?"
msgstr "Bu parça aktif mi?"
-#: part/models.py:839
+#: part/models.py:921
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:844
+#: part/models.py:926
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "BOM checksum"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:850
+#: part/models.py:932
msgid "BOM checked by"
msgstr ""
-#: part/models.py:852
+#: part/models.py:934
msgid "BOM checked date"
msgstr ""
-#: part/models.py:856
+#: part/models.py:938
msgid "Creation User"
msgstr "Oluşturan Kullanıcı"
-#: part/models.py:1605
+#: part/models.py:1750
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2100
+#: part/models.py:2273
msgid "Test templates can only be created for trackable parts"
msgstr "Test şablonları sadece takip edilebilir paçalar için oluşturulabilir"
-#: part/models.py:2117
+#: part/models.py:2290
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2137 templates/js/translated/part.js:1216
-#: templates/js/translated/stock.js:535
+#: part/models.py:2310 templates/js/translated/part.js:1355
+#: templates/js/translated/stock.js:828
msgid "Test Name"
msgstr "Test Adı"
-#: part/models.py:2138
+#: part/models.py:2311
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2143
+#: part/models.py:2316
msgid "Test Description"
msgstr "Test Açıklaması"
-#: part/models.py:2144
+#: part/models.py:2317
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2149 templates/js/translated/part.js:1225
-#: templates/js/translated/table_filters.js:254
+#: part/models.py:2322 templates/js/translated/part.js:1364
+#: templates/js/translated/table_filters.js:270
msgid "Required"
msgstr "Gerekli"
-#: part/models.py:2150
+#: part/models.py:2323
msgid "Is this test required to pass?"
msgstr "Testi geçmesi için bu gerekli mi?"
-#: part/models.py:2155 templates/js/translated/part.js:1233
+#: part/models.py:2328 templates/js/translated/part.js:1372
msgid "Requires Value"
msgstr ""
-#: part/models.py:2156
+#: part/models.py:2329
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2161 templates/js/translated/part.js:1240
+#: part/models.py:2334 templates/js/translated/part.js:1379
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2162
+#: part/models.py:2335
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2173
+#: part/models.py:2346
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2209
+#: part/models.py:2382
msgid "Parameter template name must be unique"
msgstr "Parametre şablon adı benzersiz olmalıdır"
-#: part/models.py:2217
+#: part/models.py:2390
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2224
+#: part/models.py:2397
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2256 part/models.py:2305 part/models.py:2306
-#: templates/InvenTree/settings/settings.html:164
+#: part/models.py:2429 part/models.py:2478 part/models.py:2479
+#: templates/InvenTree/settings/settings.html:158
msgid "Parameter Template"
msgstr "Parametre Şablonu"
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Data"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2310 templates/InvenTree/settings/settings.html:173
+#: part/models.py:2483 templates/InvenTree/settings/settings.html:167
msgid "Default Value"
msgstr ""
-#: part/models.py:2311
+#: part/models.py:2484
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2561
msgid "Select parent part"
msgstr ""
-#: part/models.py:2370
+#: part/models.py:2569
msgid "Sub part"
msgstr ""
-#: part/models.py:2371
+#: part/models.py:2570
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2377
+#: part/models.py:2576
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2379 templates/js/translated/bom.js:275
-#: templates/js/translated/bom.js:335
+#: part/models.py:2578 templates/js/translated/bom.js:452
+#: templates/js/translated/bom.js:526
+#: templates/js/translated/table_filters.js:86
msgid "Optional"
msgstr ""
-#: part/models.py:2379
+#: part/models.py:2578
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2382
+#: part/models.py:2581
msgid "Overage"
msgstr ""
-#: part/models.py:2383
+#: part/models.py:2582
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2585
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2588
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "Checksum"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2395 templates/js/translated/bom.js:352
-#: templates/js/translated/bom.js:359
+#: part/models.py:2594 templates/js/translated/bom.js:543
+#: templates/js/translated/bom.js:550
#: templates/js/translated/table_filters.js:68
+#: templates/js/translated/table_filters.js:82
msgid "Inherited"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2595
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Bu malzeme listesi, çeşit parçalar listesini kalıtsalıdır"
-#: part/models.py:2401 templates/js/translated/bom.js:344
+#: part/models.py:2600 templates/js/translated/bom.js:535
msgid "Allow Variants"
msgstr "Çeşide İzin Ver"
-#: part/models.py:2402
+#: part/models.py:2601
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Çeşit parçaların stok kalemleri bu malzeme listesinde kullanılabilir"
-#: part/models.py:2487 stock/models.py:341
+#: part/models.py:2686 stock/models.py:371
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2496 part/models.py:2498
+#: part/models.py:2695 part/models.py:2697
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2620
+#: part/models.py:2826
+msgid "BOM Item Substitute"
+msgstr ""
+
+#: part/models.py:2848
+msgid "Substitute part cannot be the same as the master part"
+msgstr ""
+
+#: part/models.py:2860
+#, fuzzy
+#| msgid "Parent Stock Item"
+msgid "Parent BOM item"
+msgstr "Üst Stok Kalemi"
+
+#: part/models.py:2868
+msgid "Substitute part"
+msgstr ""
+
+#: part/models.py:2879
msgid "Part 1"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Part 2"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2656
+#: part/models.py:2915
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
+#: part/tasks.py:53
+#, fuzzy
+#| msgid "No stock location set"
+msgid "Low stock notification"
+msgstr "Stok konumu ayarlanmadı"
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
-#: part/templates/part/bom.html:14
+#: part/templates/part/bom.html:15
#, python-format
msgid "The BOM for %(part)s has changed, and must be validated.
"
msgstr ""
-#: part/templates/part/bom.html:16
+#: part/templates/part/bom.html:17
#, python-format
msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s"
msgstr ""
-#: part/templates/part/bom.html:20
+#: part/templates/part/bom.html:21
#, python-format
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:27
-msgid "Remove selected BOM items"
-msgstr ""
-
-#: part/templates/part/bom.html:30
-msgid "Import BOM data"
-msgstr ""
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:383
+#, fuzzy
+#| msgid "Build actions"
+msgid "BOM actions"
+msgstr "Yapım İşi işlemleri"
#: part/templates/part/bom.html:34
-msgid "Copy BOM from parent part"
-msgstr ""
-
-#: part/templates/part/bom.html:38
-msgid "New BOM Item"
-msgstr ""
-
-#: part/templates/part/bom.html:41
-msgid "Finish Editing"
-msgstr ""
-
-#: part/templates/part/bom.html:46
-msgid "Edit BOM"
-msgstr ""
-
-#: part/templates/part/bom.html:50
-msgid "Validate Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:56 part/views.py:1220
-msgid "Export Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:59
-msgid "Print BOM Report"
-msgstr ""
+#, fuzzy
+#| msgid "Delete Item"
+msgid "Delete Items"
+msgstr "Ögeyi Sil"
#: part/templates/part/bom_duplicate.html:13
msgid "This part already has a Bill of Materials"
@@ -4360,28 +4234,23 @@ msgstr ""
msgid "Select Part"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:13
-#: part/templates/part/bom_upload/upload_file.html:16
-msgid "Return To BOM"
-msgstr ""
-
-#: part/templates/part/bom_upload/upload_file.html:27
+#: part/templates/part/bom_upload/upload_file.html:12
msgid "Upload Bill of Materials"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:46
+#: part/templates/part/bom_upload/upload_file.html:32
msgid "Requirements for BOM upload"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "The BOM file must contain the required named columns as provided in the "
msgstr "Malzeme Listesi dosyası gerekli sütün adlarını sağlandığı şekilde içermelidir "
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "BOM Upload Template"
msgstr "Malzeme Listesi Şablonu Yükle"
-#: part/templates/part/bom_upload/upload_file.html:49
+#: part/templates/part/bom_upload/upload_file.html:35
msgid "Each part must already exist in the database"
msgstr ""
@@ -4394,93 +4263,121 @@ msgstr ""
msgid "This will validate each line in the BOM."
msgstr ""
-#: part/templates/part/category.html:33
-msgid "All parts"
-msgstr ""
+#: part/templates/part/category.html:24 part/templates/part/category.html:28
+#, fuzzy
+#| msgid "Default location for parts in this category"
+msgid "You are subscribed to notifications for this category"
+msgstr "Bu kategori içindeki parçalar için varsayılan konum"
+
+#: part/templates/part/category.html:32
+#, fuzzy
+#| msgid "Default location for parts in this category"
+msgid "Subscribe to notifications for this category"
+msgstr "Bu kategori içindeki parçalar için varsayılan konum"
#: part/templates/part/category.html:38
+#, fuzzy
+#| msgid "Category Settings"
+msgid "Category Actions"
+msgstr "Kategori Ayarları"
+
+#: part/templates/part/category.html:43
+#, fuzzy
+#| msgid "Set category"
+msgid "Edit category"
+msgstr "Kategori ayarla"
+
+#: part/templates/part/category.html:44
+#, fuzzy
+#| msgid "Set Category"
+msgid "Edit Category"
+msgstr "Kategori Ayarla"
+
+#: part/templates/part/category.html:48
+#, fuzzy
+#| msgid "Set category"
+msgid "Delete category"
+msgstr "Kategori ayarla"
+
+#: part/templates/part/category.html:49
+#, fuzzy
+#| msgid "Select Category"
+msgid "Delete Category"
+msgstr "Kategori Seçin"
+
+#: part/templates/part/category.html:57
msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:44
-msgid "Edit part category"
-msgstr ""
+#: part/templates/part/category.html:58
+#, fuzzy
+#| msgid "Set Category"
+msgid "New Category"
+msgstr "Kategori Ayarla"
-#: part/templates/part/category.html:49
-msgid "Delete part category"
-msgstr ""
+#: part/templates/part/category.html:67
+#, fuzzy
+#| msgid "Set category"
+msgid "Top level part category"
+msgstr "Kategori ayarla"
-#: part/templates/part/category.html:59 part/templates/part/category.html:98
-msgid "Category Details"
-msgstr "Kategori Detayları"
-
-#: part/templates/part/category.html:64
+#: part/templates/part/category.html:79
msgid "Category Path"
msgstr ""
-#: part/templates/part/category.html:69
+#: part/templates/part/category.html:84
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:175
-#: part/templates/part/category_navbar.html:14
-#: part/templates/part/category_navbar.html:17
+#: part/templates/part/category.html:103 part/templates/part/category.html:194
msgid "Subcategories"
msgstr "Alt kategoriler"
-#: part/templates/part/category.html:93
+#: part/templates/part/category.html:108
msgid "Parts (Including subcategories)"
msgstr "Parçalar (Alt kategoriler dahil)"
-#: part/templates/part/category.html:126
+#: part/templates/part/category.html:145
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:142
+#: part/templates/part/category.html:146 part/templates/part/category.html:170
msgid "Export"
msgstr ""
-#: part/templates/part/category.html:130
+#: part/templates/part/category.html:149
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 templates/js/translated/bom.js:39
+#: part/templates/part/category.html:150 templates/js/translated/bom.js:40
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set category"
msgstr "Kategori ayarla"
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set Category"
msgstr "Kategori Ayarla"
-#: part/templates/part/category.html:141
+#: part/templates/part/category.html:168
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:142
+#: part/templates/part/category.html:170
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:146
-msgid "View list display"
-msgstr ""
-
-#: part/templates/part/category.html:149
-msgid "View grid display"
-msgstr ""
-
-#: part/templates/part/category.html:165
+#: part/templates/part/category.html:184
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:254
+#: part/templates/part/category.html:261
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:281
+#: part/templates/part/category.html:288
msgid "Create Part"
msgstr ""
@@ -4519,12 +4416,7 @@ msgstr ""
msgid "If this category is deleted, these parts will be moved to the top-level category Teile"
msgstr ""
-#: part/templates/part/category_navbar.html:29
-#: part/templates/part/category_navbar.html:32
-msgid "Import Parts"
-msgstr ""
-
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365
msgid "Duplicate Part"
msgstr ""
@@ -4549,311 +4441,323 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)"
msgstr ""
#: part/templates/part/detail.html:16
+#, fuzzy
+#| msgid "Details"
+msgid "Part Details"
+msgstr "Detaylar"
+
+#: part/templates/part/detail.html:66
+#, fuzzy
+#| msgid "Minimum Stock"
+msgid "Minimum stock level"
+msgstr "Minimum Stok"
+
+#: part/templates/part/detail.html:97
+msgid "Latest Serial Number"
+msgstr "Son Seri Numarası"
+
+#: part/templates/part/detail.html:124
msgid "Part Stock"
msgstr "Parça Stoku"
-#: part/templates/part/detail.html:21
+#: part/templates/part/detail.html:136
#, python-format
msgid "Showing stock for all variants of %(full_name)s"
msgstr ""
-#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99
+#: part/templates/part/detail.html:146
msgid "Part Test Templates"
msgstr "Parça Test Şablonları"
-#: part/templates/part/detail.html:36
+#: part/templates/part/detail.html:151
msgid "Add Test Template"
msgstr "Test Şablonu Ekle"
-#: part/templates/part/detail.html:77
-msgid "New sales order"
-msgstr ""
-
-#: part/templates/part/detail.html:77
-msgid "New Order"
-msgstr "Yeni Sipariş"
-
-#: part/templates/part/detail.html:90
+#: part/templates/part/detail.html:208
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27
+#: part/templates/part/detail.html:249
msgid "Part Variants"
msgstr "Parça Çeşitleri"
-#: part/templates/part/detail.html:137
+#: part/templates/part/detail.html:253
msgid "Create new variant"
msgstr "Yeni çeşit oluştur"
-#: part/templates/part/detail.html:138
+#: part/templates/part/detail.html:254
msgid "New Variant"
msgstr "Yeni Çeşit"
-#: part/templates/part/detail.html:161
+#: part/templates/part/detail.html:281
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107
-#: part/templates/part/navbar.html:110
+#: part/templates/part/detail.html:315
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:188
+#: part/templates/part/detail.html:319 part/templates/part/detail.html:320
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43
-#: part/templates/part/navbar.html:46
+#: part/templates/part/detail.html:366
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:237
+#: part/templates/part/detail.html:371
+#, fuzzy
+#| msgid "Part actions"
+msgid "Export actions"
+msgstr "Parça işlemleri"
+
+#: part/templates/part/detail.html:375
+msgid "Export BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:377
+msgid "Print BOM Report"
+msgstr ""
+
+#: part/templates/part/detail.html:387
+#, fuzzy
+#| msgid "Upload File"
+msgid "Upload BOM"
+msgstr "Dosya Yükle"
+
+#: part/templates/part/detail.html:389 templates/js/translated/part.js:266
+msgid "Copy BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:391 part/views.py:820
+msgid "Validate BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:396
+msgid "New BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:397
+msgid "Add BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:410
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:253
+#: part/templates/part/detail.html:427
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:260
-msgid "Start New Build"
-msgstr ""
-
-#: part/templates/part/detail.html:274
+#: part/templates/part/detail.html:452
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:283
+#: part/templates/part/detail.html:462
msgid "Part Suppliers"
msgstr "Parça Tedarikçileri"
-#: part/templates/part/detail.html:305
+#: part/templates/part/detail.html:489
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:317
+#: part/templates/part/detail.html:505
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:502
+#: part/templates/part/detail.html:686
msgid "Delete selected BOM items?"
msgstr ""
-#: part/templates/part/detail.html:503
+#: part/templates/part/detail.html:687
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:554
+#: part/templates/part/detail.html:738
msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:699
+#: part/templates/part/detail.html:876
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:755
+#: part/templates/part/detail.html:933
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:907
+#: part/templates/part/detail.html:1085
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:919
+#: part/templates/part/detail.html:1097
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:931
+#: part/templates/part/detail.html:1109
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1020
+#: part/templates/part/detail.html:1198
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
#: part/templates/part/import_wizard/ajax_part_upload.html:29
-#: part/templates/part/import_wizard/part_upload.html:51
+#: part/templates/part/import_wizard/part_upload.html:52
msgid "Unsuffitient privileges."
msgstr ""
-#: part/templates/part/import_wizard/part_upload.html:14
+#: part/templates/part/import_wizard/part_upload.html:15
msgid "Import Parts from File"
msgstr ""
-#: part/templates/part/navbar.html:30
-msgid "Variants"
-msgstr "Çeşitler"
-
-#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/navbar.html:70
-msgid "Prices"
-msgstr "Fiyatlar"
-
-#: part/templates/part/navbar.html:102
-msgid "Test Templates"
-msgstr ""
-
#: part/templates/part/part_app_base.html:12
msgid "Part List"
msgstr ""
+#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31
+msgid "You are subscribed to notifications for this part"
+msgstr ""
+
#: part/templates/part/part_base.html:35
-msgid "Part is a template part (variants can be made from this part)"
-msgstr "Bu parça bir şablon parçadır (Bu parçanın çeşitleri yapılabilir)"
-
-#: part/templates/part/part_base.html:38
-msgid "Part can be assembled from other parts"
+msgid "Subscribe to notifications for this part"
msgstr ""
-#: part/templates/part/part_base.html:41
-msgid "Part can be used in assemblies"
-msgstr ""
-
-#: part/templates/part/part_base.html:44
-msgid "Part stock is tracked by serial number"
-msgstr "Parça stoku seri numarası ile takip edilebilir"
-
-#: part/templates/part/part_base.html:47
-msgid "Part can be purchased from external suppliers"
-msgstr "Bu parça harici tedarikçilerden satın alınabilir"
-
-#: part/templates/part/part_base.html:50
-msgid "Part can be sold to customers"
-msgstr ""
-
-#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504
-#: templates/js/translated/company.js:761 templates/js/translated/part.js:443
-#: templates/js/translated/part.js:520
-msgid "Inactive"
-msgstr "Pasif"
-
-#: part/templates/part/part_base.html:73
-msgid "Star this part"
-msgstr ""
-
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:75
-#: stock/templates/stock/location.html:51
+#: part/templates/part/part_base.html:43
+#: stock/templates/stock/item_base.html:28
+#: stock/templates/stock/location.html:29
msgid "Barcode actions"
msgstr "Barkod işlemleri"
-#: part/templates/part/part_base.html:82
-#: stock/templates/stock/item_base.html:77
-#: stock/templates/stock/location.html:53 templates/qr_button.html:1
+#: part/templates/part/part_base.html:45
+#: stock/templates/stock/item_base.html:32
+#: stock/templates/stock/location.html:31 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:83
-#: stock/templates/stock/item_base.html:93
-#: stock/templates/stock/location.html:54
+#: part/templates/part/part_base.html:46
+#: stock/templates/stock/item_base.html:48
+#: stock/templates/stock/location.html:32
msgid "Print Label"
msgstr "Etiket Yazdır"
-#: part/templates/part/part_base.html:89
+#: part/templates/part/part_base.html:51
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:95
-#: stock/templates/stock/item_base.html:142
-#: stock/templates/stock/location.html:62
+#: part/templates/part/part_base.html:56
+#: stock/templates/stock/item_base.html:103
+#: stock/templates/stock/location.html:40
msgid "Stock actions"
msgstr "Stok işlemleri"
-#: part/templates/part/part_base.html:102
+#: part/templates/part/part_base.html:63
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:108
+#: part/templates/part/part_base.html:69
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:125
+#: part/templates/part/part_base.html:84
msgid "Part actions"
msgstr "Parça işlemleri"
-#: part/templates/part/part_base.html:128
+#: part/templates/part/part_base.html:87
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:131
+#: part/templates/part/part_base.html:90
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:134
+#: part/templates/part/part_base.html:93
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:146
+#: part/templates/part/part_base.html:109
+msgid "Part is a template part (variants can be made from this part)"
+msgstr "Bu parça bir şablon parçadır (Bu parçanın çeşitleri yapılabilir)"
+
+#: part/templates/part/part_base.html:113
+msgid "Part can be assembled from other parts"
+msgstr ""
+
+#: part/templates/part/part_base.html:117
+msgid "Part can be used in assemblies"
+msgstr ""
+
+#: part/templates/part/part_base.html:121
+msgid "Part stock is tracked by serial number"
+msgstr "Parça stoku seri numarası ile takip edilebilir"
+
+#: part/templates/part/part_base.html:125
+msgid "Part can be purchased from external suppliers"
+msgstr "Bu parça harici tedarikçilerden satın alınabilir"
+
+#: part/templates/part/part_base.html:129
+msgid "Part can be sold to customers"
+msgstr ""
+
+#: part/templates/part/part_base.html:135
+#: part/templates/part/part_base.html:143
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:136
+#: templates/js/translated/company.js:504
+#: templates/js/translated/company.js:761
+#: templates/js/translated/model_renderers.js:175
+#: templates/js/translated/part.js:464 templates/js/translated/part.js:541
+msgid "Inactive"
+msgstr "Pasif"
+
+#: part/templates/part/part_base.html:155
#, python-format
msgid "This part is a variant of %(link)s"
msgstr "Bu parça %(link)s parçasının bir çeşididir"
-#: part/templates/part/part_base.html:161
-#: templates/js/translated/model_renderers.js:169
-#: templates/js/translated/order.js:1503
-#: templates/js/translated/table_filters.js:166
+#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524
+#: templates/js/translated/table_filters.js:182
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960
+#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961
msgid "On Order"
msgstr ""
-#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178
msgid "Required for Build Orders"
msgstr "Yapım İşi Emirleri için Gerekli"
-#: part/templates/part/part_base.html:181
+#: part/templates/part/part_base.html:199
msgid "Required for Sales Orders"
msgstr "Satış Emirleri için Gerekli"
-#: part/templates/part/part_base.html:188
+#: part/templates/part/part_base.html:206
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373
+#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776
-#: templates/js/translated/part.js:964
+#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793
+#: templates/js/translated/part.js:965
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:223
-#: part/templates/part/part_base.html:531
-#: part/templates/part/part_base.html:557
-msgid "Show Part Details"
-msgstr ""
-
-#: part/templates/part/part_base.html:283
-msgid "Latest Serial Number"
-msgstr "Son Seri Numarası"
-
-#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144
+#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144
msgid "Calculate"
msgstr "Hesapla"
-#: part/templates/part/part_base.html:445
+#: part/templates/part/part_base.html:363
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:526
-#: part/templates/part/part_base.html:551
-msgid "Hide Part Details"
-msgstr ""
-
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4877,7 +4781,7 @@ msgid "Total Cost"
msgstr "Toplam Maliyet"
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
-#: templates/js/translated/bom.js:327
+#: templates/js/translated/bom.js:518
msgid "No supplier pricing available"
msgstr ""
@@ -4911,13 +4815,14 @@ msgstr ""
msgid "No pricing information is available for this part."
msgstr ""
-#: part/templates/part/part_thumb.html:20
+#: part/templates/part/part_thumb.html:11
msgid "Select from existing images"
msgstr ""
#: part/templates/part/partial_delete.html:9
#, python-format
-msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
+msgid ""
+"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
"
Disable the \"Active\" part attribute and re-try.\n"
" "
msgstr ""
@@ -4980,7 +4885,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321
+#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512
msgid "Supplier Cost"
msgstr ""
@@ -5002,7 +4907,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:215 part/views.py:1801
+#: part/templates/part/prices.html:215 part/views.py:1853
msgid "Add Internal Price Break"
msgstr ""
@@ -5022,13 +4927,13 @@ msgstr ""
msgid "Set category for the following parts"
msgstr "Aşağıdaki parçalara kategori ayarla"
-#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297
-#: templates/js/translated/model_renderers.js:167
-#: templates/js/translated/part.js:766 templates/js/translated/part.js:968
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474
+#: templates/js/translated/part.js:428 templates/js/translated/part.js:783
+#: templates/js/translated/part.js:969
msgid "No Stock"
msgstr "Stok Yok"
-#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166
+#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158
msgid "Low Stock"
msgstr "Düşük Stok"
@@ -5041,135 +4946,140 @@ msgstr "Yeni parça çeşidi oluştur"
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:106
+#: part/templatetags/inventree_extras.py:113
msgid "Unknown database"
msgstr ""
-#: part/views.py:94
+#: part/views.py:95
msgid "Add Related Part"
msgstr ""
-#: part/views.py:149
+#: part/views.py:150
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:160
+#: part/views.py:161
msgid "Set Part Category"
msgstr ""
-#: part/views.py:210
+#: part/views.py:211
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:270
+#: part/views.py:283
msgid "Match References"
msgstr ""
-#: part/views.py:526
+#: part/views.py:567
msgid "None"
msgstr "Hiçbiri"
-#: part/views.py:585
+#: part/views.py:626
msgid "Part QR Code"
msgstr ""
-#: part/views.py:687
+#: part/views.py:728
msgid "Select Part Image"
msgstr ""
-#: part/views.py:713
+#: part/views.py:754
msgid "Updated part image"
msgstr ""
-#: part/views.py:716
+#: part/views.py:757
msgid "Part image not found"
msgstr ""
-#: part/views.py:728
+#: part/views.py:769
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:758
+#: part/views.py:799
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:779
-msgid "Validate BOM"
-msgstr ""
-
-#: part/views.py:800
+#: part/views.py:841
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:811
+#: part/views.py:852
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:884
+#: part/views.py:925
msgid "Match Parts"
msgstr ""
-#: part/views.py:1272
+#: part/views.py:1261
+msgid "Export Bill of Materials"
+msgstr ""
+
+#: part/views.py:1313
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1279
+#: part/views.py:1320
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1288
+#: part/views.py:1329
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1437
+#: part/views.py:1478
msgid "Create Part Parameter Template"
msgstr "Parça Parametre Şablonu Oluştur"
-#: part/views.py:1447
+#: part/views.py:1488
msgid "Edit Part Parameter Template"
msgstr "Parça Parametre Şablonu Düzenle"
-#: part/views.py:1454
+#: part/views.py:1495
msgid "Delete Part Parameter Template"
msgstr "Parça Parametre Şablonu Sil"
-#: part/views.py:1502 templates/js/translated/part.js:308
+#: part/views.py:1554 templates/js/translated/part.js:309
msgid "Edit Part Category"
msgstr ""
-#: part/views.py:1540
+#: part/views.py:1592
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1546
+#: part/views.py:1598
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1555
+#: part/views.py:1607
msgid "Create Category Parameter Template"
msgstr "Kategori Parametre Şablonu Oluştur"
-#: part/views.py:1656
+#: part/views.py:1708
msgid "Edit Category Parameter Template"
msgstr "Kategori Parametre Şablonu Düzenle"
-#: part/views.py:1712
+#: part/views.py:1764
msgid "Delete Category Parameter Template"
msgstr "Kategori Parametre Şablonu Sil"
-#: part/views.py:1734
+#: part/views.py:1786
msgid "Added new price break"
msgstr ""
-#: part/views.py:1810
+#: part/views.py:1862
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:1818
+#: part/views.py:1870
msgid "Delete Internal Price Break"
msgstr ""
+#: report/api.py:234 report/api.py:278
+#, python-brace-format
+msgid "Template file '{filename}' is missing or does not exist"
+msgstr ""
+
#: report/models.py:182
msgid "Template name"
msgstr "Şablon adı"
@@ -5206,51 +5116,51 @@ msgstr ""
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:380
+#: report/models.py:382
msgid "Build Filters"
msgstr ""
-#: report/models.py:381
+#: report/models.py:383
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:423
+#: report/models.py:425
msgid "Part Filters"
msgstr ""
-#: report/models.py:424
+#: report/models.py:426
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:458
+#: report/models.py:460
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:496
+#: report/models.py:498
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:546
+#: report/models.py:548
msgid "Snippet"
msgstr ""
-#: report/models.py:547
+#: report/models.py:549
msgid "Report snippet file"
msgstr ""
-#: report/models.py:551
+#: report/models.py:553
msgid "Snippet file description"
msgstr ""
-#: report/models.py:586
+#: report/models.py:588
msgid "Asset"
msgstr ""
-#: report/models.py:587
+#: report/models.py:589
msgid "Report asset file"
msgstr ""
-#: report/models.py:590
+#: report/models.py:592
msgid "Asset file description"
msgstr ""
@@ -5267,543 +5177,593 @@ msgstr ""
msgid "Stock Item Test Report"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:83
+#: report/templates/report/inventree_test_report_base.html:79
+#: stock/models.py:530 stock/templates/stock/item_base.html:238
+#: templates/js/translated/build.js:233 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1013
+#: templates/js/translated/model_renderers.js:95
+#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355
+msgid "Serial Number"
+msgstr "Seri Numara"
+
+#: report/templates/report/inventree_test_report_base.html:88
msgid "Test Results"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:1804
+#: report/templates/report/inventree_test_report_base.html:93
+#: stock/models.py:1855
msgid "Test"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:89
-#: stock/models.py:1810
+#: report/templates/report/inventree_test_report_base.html:94
+#: stock/models.py:1861
msgid "Result"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502
+#: report/templates/report/inventree_test_report_base.html:97
+#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887
msgid "Date"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:103
+#: report/templates/report/inventree_test_report_base.html:108
msgid "Pass"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:105
+#: report/templates/report/inventree_test_report_base.html:110
msgid "Fail"
msgstr ""
-#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556
-#: stock/templates/stock/item_base.html:395
-#: templates/js/translated/stock.js:946
+#: report/templates/report/inventree_test_report_base.html:123
+msgid "Installed Items"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:137
+#: templates/js/translated/stock.js:2147
+msgid "Serial"
+msgstr "Seri No"
+
+#: stock/api.py:422
+msgid "Quantity is required"
+msgstr ""
+
+#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587
+#: stock/templates/stock/item_base.html:382
+#: templates/js/translated/stock.js:1246
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:308
+#: stock/forms.py:92 stock/forms.py:266
msgid "Expiration date for this stock item"
msgstr "Bu stok kalemi için son kullanma tarihi"
-#: stock/forms.py:83
+#: stock/forms.py:95
msgid "Enter unique serial numbers (or leave blank)"
msgstr "Benzersiz seri numaraları giriniz (veya boş bırakınız)"
-#: stock/forms.py:134
+#: stock/forms.py:150
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr "Seri numaralandırılmış stok için hedef konum(varsayılan olarak, geçerli konumda kalacaktır)"
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Serial numbers"
msgstr "Seri numaraları"
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Unique serial numbers (must match quantity)"
msgstr "Benzersiz seri numaraları (miktar ile eşleşmeli)"
-#: stock/forms.py:138 stock/forms.py:282
+#: stock/forms.py:154 stock/forms.py:238
msgid "Add transaction note (optional)"
msgstr "İşlem notu ekle (isteğe bağlı)"
-#: stock/forms.py:168 stock/forms.py:224
-msgid "Select test report template"
-msgstr "Test raporu şablonu seç"
-
-#: stock/forms.py:240
+#: stock/forms.py:194
msgid "Stock item to install"
msgstr "Kurulacak stok kalemi"
-#: stock/forms.py:270
+#: stock/forms.py:224
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:280
+#: stock/forms.py:236
msgid "Destination location for uninstalled items"
msgstr "Sökülen ögeler için hedef konum"
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm removal of installed stock items"
msgstr "Kurulu stok kalemlerinin kaldırılmasını onayla"
-#: stock/models.py:57 stock/models.py:593
+#: stock/models.py:60 stock/models.py:624
+#: stock/templates/stock/item_base.html:422
msgid "Owner"
msgstr ""
-#: stock/models.py:58 stock/models.py:594
+#: stock/models.py:61 stock/models.py:625
msgid "Select Owner"
msgstr ""
-#: stock/models.py:322
+#: stock/models.py:352
msgid "StockItem with this serial number already exists"
msgstr "Bu seri numarasına sahip stok kalemi zaten var"
-#: stock/models.py:358
+#: stock/models.py:388
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:368 stock/models.py:377
+#: stock/models.py:398 stock/models.py:407
msgid "Quantity must be 1 for item with a serial number"
msgstr "Seri numarası olan ögenin miktarı bir olmalı"
-#: stock/models.py:369
+#: stock/models.py:399
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Miktar birden büyük ise seri numarası ayarlanamaz"
-#: stock/models.py:391
+#: stock/models.py:421
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:397
+#: stock/models.py:427
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:404
+#: stock/models.py:434
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:446
+#: stock/models.py:476
msgid "Parent Stock Item"
msgstr "Üst Stok Kalemi"
-#: stock/models.py:455
+#: stock/models.py:485
msgid "Base part"
msgstr ""
-#: stock/models.py:464
+#: stock/models.py:493
msgid "Select a matching supplier part for this stock item"
msgstr "Bu stok kalemi için tedarikçi parçası seçin"
-#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8
+#: stock/models.py:498 stock/templates/stock/location.html:12
+#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Stok Konumu"
-#: stock/models.py:472
+#: stock/models.py:501
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:479
+#: stock/models.py:508
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:484 stock/templates/stock/item_base.html:284
+#: stock/models.py:513 stock/templates/stock/item_base.html:271
msgid "Installed In"
msgstr ""
-#: stock/models.py:487
+#: stock/models.py:516
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:503
+#: stock/models.py:532
msgid "Serial number for this item"
msgstr "Bu öge için seri numarası"
-#: stock/models.py:515
+#: stock/models.py:546
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:519
+#: stock/models.py:550
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:528
+#: stock/models.py:559
msgid "Source Build"
msgstr ""
-#: stock/models.py:530
+#: stock/models.py:561
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:541
+#: stock/models.py:572
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:544
+#: stock/models.py:575
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:550
+#: stock/models.py:581
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:557
+#: stock/models.py:588
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:580 stock/templates/stock/item.html:99
-#: stock/templates/stock/navbar.html:54
+#: stock/models.py:611 stock/templates/stock/item.html:111
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:589
+#: stock/models.py:620
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:599
+#: stock/models.py:630
msgid "Scheduled for deletion"
msgstr ""
-#: stock/models.py:600
+#: stock/models.py:631
msgid "This StockItem will be deleted by the background worker"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1094
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1069
+#: stock/models.py:1100
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1075
+#: stock/models.py:1106
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1078
+#: stock/models.py:1109
msgid "Serial numbers must be a list of integers"
msgstr "Seri numaraları tam sayı listesi olmalı"
-#: stock/models.py:1081
+#: stock/models.py:1112
msgid "Quantity does not match serial numbers"
msgstr "Miktar seri numaları ile eşleşmiyor"
-#: stock/models.py:1088
+#: stock/models.py:1119
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr "Seri numaraları zaten mevcut: {exists}"
-#: stock/models.py:1246
+#: stock/models.py:1277
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Stok kalemi stokta olmadığı için taşınamaz"
-#: stock/models.py:1724
+#: stock/models.py:1775
msgid "Entry notes"
msgstr ""
-#: stock/models.py:1781
+#: stock/models.py:1832
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:1787
+#: stock/models.py:1838
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:1805
+#: stock/models.py:1856
msgid "Test name"
msgstr ""
-#: stock/models.py:1811 templates/js/translated/table_filters.js:244
+#: stock/models.py:1862 templates/js/translated/table_filters.js:260
msgid "Test result"
msgstr ""
-#: stock/models.py:1817
+#: stock/models.py:1868
msgid "Test output value"
msgstr ""
-#: stock/models.py:1824
+#: stock/models.py:1875
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:1830
+#: stock/models.py:1881
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:424
-msgid "StockItem primary key value"
-msgstr ""
+#: stock/serializers.py:166
+#, fuzzy
+#| msgid "Expiration date for this stock item"
+msgid "Purchase price of this stock item"
+msgstr "Bu stok kalemi için son kullanma tarihi"
-#: stock/serializers.py:452
-msgid "Stock transaction notes"
-msgstr ""
+#: stock/serializers.py:173
+#, fuzzy
+#| msgid "Expiration date for this stock item"
+msgid "Purchase currency of this stock item"
+msgstr "Bu stok kalemi için son kullanma tarihi"
-#: stock/serializers.py:462
-msgid "A list of stock items must be provided"
-msgstr ""
+#: stock/serializers.py:287
+#, fuzzy
+#| msgid "Number of stock items to build"
+msgid "Enter number of stock items to serialize"
+msgstr "Yapım işi stok kalemlerinin sayısı"
-#: stock/serializers.py:554
+#: stock/serializers.py:302
+#, fuzzy, python-brace-format
+#| msgid "Quantity to complete cannot exceed build output quantity"
+msgid "Quantity must not exceed available stock quantity ({q})"
+msgstr "Tamamlanacak miktar yapım işi çıktı miktarını aşamaz"
+
+#: stock/serializers.py:308
+#, fuzzy
+#| msgid "Enter serial numbers for build outputs"
+msgid "Enter serial numbers for new items"
+msgstr "Yapım işi çıktısı için seri numaraları girin"
+
+#: stock/serializers.py:319 stock/serializers.py:687
msgid "Destination stock location"
msgstr ""
-#: stock/templates/stock/item.html:17
+#: stock/serializers.py:326
+msgid "Optional note field"
+msgstr ""
+
+#: stock/serializers.py:339
+#, fuzzy
+#| msgid "Serial number cannot be set if quantity greater than 1"
+msgid "Serial numbers cannot be assigned to this part"
+msgstr "Miktar birden büyük ise seri numarası ayarlanamaz"
+
+#: stock/serializers.py:557
+msgid "StockItem primary key value"
+msgstr ""
+
+#: stock/serializers.py:585
+msgid "Stock transaction notes"
+msgstr ""
+
+#: stock/serializers.py:595
+msgid "A list of stock items must be provided"
+msgstr ""
+
+#: stock/templates/stock/item.html:18
msgid "Stock Tracking Information"
msgstr ""
-#: stock/templates/stock/item.html:30
+#: stock/templates/stock/item.html:29
msgid "New Entry"
msgstr ""
-#: stock/templates/stock/item.html:43
+#: stock/templates/stock/item.html:48
msgid "Child Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:50
+#: stock/templates/stock/item.html:55
msgid "This stock item does not have any child items"
msgstr ""
-#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19
-#: stock/templates/stock/navbar.html:22
+#: stock/templates/stock/item.html:64
msgid "Test Data"
msgstr ""
-#: stock/templates/stock/item.html:66
-msgid "Delete Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:70
-msgid "Add Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95
+#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50
msgid "Test Report"
msgstr ""
-#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27
+#: stock/templates/stock/item.html:72
+msgid "Delete Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:76
+msgid "Add Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:133
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:125 stock/views.py:511
+#: stock/templates/stock/item.html:137 stock/views.py:515
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326
+#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:346
+#: stock/templates/stock/item.html:363
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:360
+#: stock/templates/stock/item.html:377
msgid "Delete Test Result"
msgstr ""
-#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:399
-#: templates/js/translated/table_filters.js:225
-msgid "Expired"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:401
-#: templates/js/translated/table_filters.js:231
-msgid "Stale"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:80
-#: templates/js/translated/barcode.js:331
-#: templates/js/translated/barcode.js:336
+#: stock/templates/stock/item_base.html:35
+#: templates/js/translated/barcode.js:330
+#: templates/js/translated/barcode.js:335
msgid "Unlink Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/item_base.html:37
msgid "Link Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31
+#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24
msgid "Scan to Location"
msgstr "Konuma Tara"
-#: stock/templates/stock/item_base.html:91
+#: stock/templates/stock/item_base.html:46
msgid "Printing actions"
msgstr "Yazdırma işlemleri"
-#: stock/templates/stock/item_base.html:104
+#: stock/templates/stock/item_base.html:65
msgid "Stock adjustment actions"
msgstr "Stok ayarlama işlemleri"
-#: stock/templates/stock/item_base.html:108
-#: stock/templates/stock/location.html:69 templates/stock_table.html:57
+#: stock/templates/stock/item_base.html:69
+#: stock/templates/stock/location.html:47 templates/stock_table.html:50
msgid "Count stock"
msgstr ""
-#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55
+#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48
msgid "Add stock"
msgstr ""
-#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56
+#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49
msgid "Remove stock"
msgstr ""
-#: stock/templates/stock/item_base.html:117
+#: stock/templates/stock/item_base.html:78
msgid "Serialize stock"
msgstr "Stoku seri numarala"
-#: stock/templates/stock/item_base.html:121
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/location.html:53
msgid "Transfer stock"
msgstr ""
-#: stock/templates/stock/item_base.html:124
+#: stock/templates/stock/item_base.html:85
msgid "Assign to customer"
msgstr ""
-#: stock/templates/stock/item_base.html:127
+#: stock/templates/stock/item_base.html:88
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install"
msgstr ""
-#: stock/templates/stock/item_base.html:145
+#: stock/templates/stock/item_base.html:106
msgid "Convert to variant"
msgstr "Çeşide çevir"
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:109
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:150
+#: stock/templates/stock/item_base.html:111
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:153
+#: stock/templates/stock/item_base.html:114
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:173
+#: stock/templates/stock/item_base.html:136
+#: stock/templates/stock/item_base.html:386
+#: templates/js/translated/table_filters.js:241
+msgid "Expired"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/table_filters.js:247
+msgid "Stale"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:161
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:180
+#: stock/templates/stock/item_base.html:168
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:181
+#: stock/templates/stock/item_base.html:169
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:194
+#: stock/templates/stock/item_base.html:182
msgid "This stock item has not passed all required tests"
msgstr "Stok kalemi tüm gerekli testleri geçmedi"
-#: stock/templates/stock/item_base.html:202
+#: stock/templates/stock/item_base.html:190
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:210
+#: stock/templates/stock/item_base.html:198
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:216
+#: stock/templates/stock/item_base.html:204
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr "Bu stok kalemi seri numaları - Benzersiz bir seri numarasına sahip ve miktarı ayarlanamaz."
-#: stock/templates/stock/item_base.html:220
+#: stock/templates/stock/item_base.html:208
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:224
+#: stock/templates/stock/item_base.html:212
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:232
-msgid "Stock Item Details"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:241
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:260
+#: stock/templates/stock/item_base.html:247
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:303
-#: templates/js/translated/build.js:658
+#: stock/templates/stock/item_base.html:290
+#: templates/js/translated/build.js:1035
msgid "No location set"
msgstr "Konum ayarlanmadı"
-#: stock/templates/stock/item_base.html:310
+#: stock/templates/stock/item_base.html:297
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:352
+#: stock/templates/stock/item_base.html:339
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:370
+#: stock/templates/stock/item_base.html:357
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:399
+#: stock/templates/stock/item_base.html:386
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erdi"
-#: stock/templates/stock/item_base.html:401
+#: stock/templates/stock/item_base.html:388
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erecek"
-#: stock/templates/stock/item_base.html:408
-#: templates/js/translated/stock.js:959
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1259
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:413
+#: stock/templates/stock/item_base.html:400
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:417
+#: stock/templates/stock/item_base.html:404
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:428
+#: stock/templates/stock/item_base.html:415
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:516
-msgid "Save"
-msgstr "Kaydet"
-
-#: stock/templates/stock/item_base.html:528
+#: stock/templates/stock/item_base.html:504
msgid "Edit Stock Status"
msgstr ""
@@ -5857,106 +5817,70 @@ msgstr "Bu stok kalemi için seri numaralandırılmış ögeler oluştur."
msgid "Select quantity to serialize, and unique serial numbers."
msgstr "Seri numaralandırılacak miktarı ve benzersiz seri numaralarını seçin."
-#: stock/templates/stock/location.html:20
-msgid "You are not in the list of owners of this location. This stock location cannot be edited."
-msgstr "Bu konumun sahipleri listesinde değilsiniz. Bu stok konumu düzenlenemez."
-
-#: stock/templates/stock/location.html:37
-msgid "All stock items"
-msgstr ""
-
-#: stock/templates/stock/location.html:42
-msgid "Create new stock location"
-msgstr "Yeni stok konumu oluştur"
-
-#: stock/templates/stock/location.html:55
+#: stock/templates/stock/location.html:33
msgid "Check-in Items"
msgstr ""
-#: stock/templates/stock/location.html:83
+#: stock/templates/stock/location.html:61
msgid "Location actions"
msgstr "Konum işlemleri"
-#: stock/templates/stock/location.html:85
+#: stock/templates/stock/location.html:63
msgid "Edit location"
msgstr "Konumu düzenle"
-#: stock/templates/stock/location.html:87
+#: stock/templates/stock/location.html:65
msgid "Delete location"
msgstr "Konumu sil"
-#: stock/templates/stock/location.html:99
-msgid "Location Details"
-msgstr "Konum Detayları"
+#: stock/templates/stock/location.html:75
+msgid "Create new stock location"
+msgstr "Yeni stok konumu oluştur"
-#: stock/templates/stock/location.html:104
-msgid "Location Path"
-msgstr "Konum Yolu"
+#: stock/templates/stock/location.html:76
+msgid "New Location"
+msgstr "Yeni Konum"
-#: stock/templates/stock/location.html:109
-msgid "Location Description"
-msgstr "Konum Tanımı"
+#: stock/templates/stock/location.html:86
+#, fuzzy
+#| msgid "Delete stock allocation"
+msgid "Top level stock location"
+msgstr "Stok tahsisini sil"
-#: stock/templates/stock/location.html:114
-#: stock/templates/stock/location.html:155
-#: stock/templates/stock/location_navbar.html:11
-#: stock/templates/stock/location_navbar.html:14
+#: stock/templates/stock/location.html:95
+msgid "You are not in the list of owners of this location. This stock location cannot be edited."
+msgstr "Bu konumun sahipleri listesinde değilsiniz. Bu stok konumu düzenlenemez."
+
+#: stock/templates/stock/location.html:113
+#: stock/templates/stock/location.html:160
msgid "Sublocations"
msgstr "Alt konumlar"
-#: stock/templates/stock/location.html:124
-msgid "Stock Details"
-msgstr ""
+#: stock/templates/stock/location.html:118
+#: stock/templates/stock/location.html:132
+#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158
+#: templates/js/translated/stock.js:1871 templates/stats.html:93
+#: templates/stats.html:102 users/models.py:43
+msgid "Stock Items"
+msgstr "Stok Kalemleri"
-#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196
+#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170
#: templates/stats.html:97 users/models.py:42
msgid "Stock Locations"
msgstr "Stok Konumları"
-#: stock/templates/stock/location.html:162 templates/stock_table.html:37
+#: stock/templates/stock/location.html:167 templates/stock_table.html:30
msgid "Printing Actions"
msgstr "Yazdırma İşlemleri"
-#: stock/templates/stock/location.html:166 templates/stock_table.html:41
+#: stock/templates/stock/location.html:171 templates/stock_table.html:34
msgid "Print labels"
msgstr "Etiketleri yazdır"
-#: stock/templates/stock/location.html:250
-msgid "New Location"
-msgstr "Yeni Konum"
-
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
-msgstr "Yeni konum oluştur"
-
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr "Bu stok konumunu silmek istediğinizden emin misiniz?"
-#: stock/templates/stock/navbar.html:11
-msgid "Stock Item Tracking"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:14
-msgid "History"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:30
-msgid "Installed Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:38
-msgid "Child Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:41
-msgid "Children"
-msgstr ""
-
-#: stock/templates/stock/stock_adjust.html:43
-msgid "Remove item"
-msgstr ""
-
#: stock/templates/stock/stock_app_base.html:16
msgid "Loading..."
msgstr ""
@@ -5965,7 +5889,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912
msgid "Convert Stock Item"
msgstr "Stok Kalemine Dönüştür"
@@ -5986,104 +5910,100 @@ msgstr "Bu işlem kolayca geri alınamaz"
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:158
+#: stock/views.py:162
msgid "Edit Stock Location"
msgstr "Stok konumunu düzenle"
-#: stock/views.py:265 stock/views.py:888 stock/views.py:1010
-#: stock/views.py:1375
+#: stock/views.py:269 stock/views.py:891 stock/views.py:1017
+#: stock/views.py:1299
msgid "Owner is required (ownership control is enabled)"
msgstr "Sahip gerekli (sahip kontrolü etkinleştirildi)"
-#: stock/views.py:280
+#: stock/views.py:284
msgid "Stock Location QR code"
msgstr "Stok Konumu QR Kodu"
-#: stock/views.py:299
+#: stock/views.py:303
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:308
+#: stock/views.py:312
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:332
+#: stock/views.py:336
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:345
msgid "Specify a valid location"
msgstr "Geçerli bir konum belirtiniz"
-#: stock/views.py:352
+#: stock/views.py:356
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:363
+#: stock/views.py:367
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:380
+#: stock/views.py:384
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:485
+#: stock/views.py:489
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:660
+#: stock/views.py:663
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:757 templates/js/translated/stock.js:321
+#: stock/views.py:760 templates/js/translated/stock.js:618
msgid "Confirm stock adjustment"
msgstr "Stok ayarlamasını onayla"
-#: stock/views.py:768
+#: stock/views.py:771
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:790
+#: stock/views.py:793 templates/js/translated/stock.js:288
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:936
+#: stock/views.py:943
msgid "Create new Stock Location"
msgstr "Yeni Stok konumu oluştur"
-#: stock/views.py:1027
-msgid "Serialize Stock"
-msgstr "Stoku Seri Numarala"
-
-#: stock/views.py:1120
+#: stock/views.py:1044
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1262
+#: stock/views.py:1186 templates/js/translated/stock.js:268
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1344
+#: stock/views.py:1268
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1444
+#: stock/views.py:1368
msgid "Delete Stock Location"
msgstr "Stok Konumunu Sil"
-#: stock/views.py:1457
+#: stock/views.py:1381
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1468
+#: stock/views.py:1392
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1475
+#: stock/views.py:1399
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1484
+#: stock/views.py:1408
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6107,63 +6027,71 @@ msgstr ""
msgid "Index"
msgstr ""
-#: templates/InvenTree/index.html:105
-msgid "Starred Parts"
-msgstr ""
+#: templates/InvenTree/index.html:88
+#, fuzzy
+#| msgid "Supplier Parts"
+msgid "Subscribed Parts"
+msgstr "Tedarikçi Parçaları"
-#: templates/InvenTree/index.html:115
+#: templates/InvenTree/index.html:98
+#, fuzzy
+#| msgid "Subcategories"
+msgid "Subscribed Categories"
+msgstr "Alt kategoriler"
+
+#: templates/InvenTree/index.html:108
msgid "Latest Parts"
msgstr ""
-#: templates/InvenTree/index.html:126
+#: templates/InvenTree/index.html:119
msgid "BOM Waiting Validation"
msgstr ""
-#: templates/InvenTree/index.html:153
+#: templates/InvenTree/index.html:145
msgid "Recently Updated"
msgstr ""
-#: templates/InvenTree/index.html:176
+#: templates/InvenTree/index.html:168
msgid "Depleted Stock"
msgstr ""
-#: templates/InvenTree/index.html:199
+#: templates/InvenTree/index.html:191
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:202
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:232
+#: templates/InvenTree/index.html:224
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:243
+#: templates/InvenTree/index.html:235
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:263
+#: templates/InvenTree/index.html:255
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:274
+#: templates/InvenTree/index.html:266
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:294
+#: templates/InvenTree/index.html:286
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:305
+#: templates/InvenTree/index.html:297
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14
+#: templates/InvenTree/search.html:8
msgid "Search Results"
msgstr ""
-#: templates/InvenTree/search.html:24
+#: templates/InvenTree/search.html:22
msgid "Enter a search query"
msgstr ""
@@ -6183,23 +6111,23 @@ msgstr "Kategori Ayarları"
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:23
+#: templates/InvenTree/settings/currencies.html:19
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:27
+#: templates/InvenTree/settings/currencies.html:24
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:37
+#: templates/InvenTree/settings/currencies.html:38
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:43
+#: templates/InvenTree/settings/currencies.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:48
+#: templates/InvenTree/settings/currencies.html:49
msgid "Update Now"
msgstr ""
@@ -6207,147 +6135,78 @@ msgstr ""
msgid "Server Settings"
msgstr ""
-#: templates/InvenTree/settings/header.html:7
-msgid "Setting"
-msgstr ""
-
#: templates/InvenTree/settings/login.html:9
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:12
-#: templates/InvenTree/settings/user_settings.html:9
-msgid "User Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:15
-#: templates/InvenTree/settings/navbar.html:17
-msgid "Account"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:21
-#: templates/InvenTree/settings/navbar.html:23
-msgid "Home Page"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29
-#: templates/js/translated/tables.js:375 templates/search_form.html:6
-#: templates/search_form.html:8
-msgid "Search"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:33
-#: templates/InvenTree/settings/navbar.html:35
-msgid "Labels"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:39
-#: templates/InvenTree/settings/navbar.html:41
-msgid "Reports"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:45
-#: templates/InvenTree/settings/navbar.html:47
-msgid "Forms"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:52
-#: templates/InvenTree/settings/navbar.html:54
-#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90
-msgid "Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:62
-msgid "InvenTree Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:65
-#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87
-msgid "Login"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:77
-#: templates/InvenTree/settings/navbar.html:79
-msgid "Barcodes"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85
-msgid "Currencies"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91
-msgid "Reporting"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103
-msgid "Categories"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:7
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:12
-msgid "Part Options"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:43
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:47
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:59
+#: templates/InvenTree/settings/part.html:61
msgid "Part Parameter Templates"
msgstr "Parça Parametre Şablonu"
-#: templates/InvenTree/settings/po.html:9
+#: templates/InvenTree/settings/po.html:7
msgid "Purchase Order Settings"
msgstr ""
-#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:29
+#: templates/InvenTree/settings/setting.html:28
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:41
+#: templates/InvenTree/settings/setting.html:39
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:154
+#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93
+msgid "Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+#, fuzzy
+#| msgid "Edit location"
+msgid "Edit Global Setting"
+msgstr "Konumu düzenle"
+
+#: templates/InvenTree/settings/settings.html:65
+#, fuzzy
+#| msgid "Change User Setting"
+msgid "Edit User Setting"
+msgstr "Kullanıcı Ayarlarını Değiştir"
+
+#: templates/InvenTree/settings/settings.html:148
msgid "No category parameter templates found"
msgstr "Kategori parametre şablonu bulunamadı"
-#: templates/InvenTree/settings/settings.html:176
-#: templates/InvenTree/settings/settings.html:275
+#: templates/InvenTree/settings/settings.html:170
+#: templates/InvenTree/settings/settings.html:269
msgid "Edit Template"
msgstr "Şablonu Düzenle"
-#: templates/InvenTree/settings/settings.html:177
-#: templates/InvenTree/settings/settings.html:276
+#: templates/InvenTree/settings/settings.html:171
+#: templates/InvenTree/settings/settings.html:270
msgid "Delete Template"
msgstr "Şablonu Sil"
-#: templates/InvenTree/settings/settings.html:255
+#: templates/InvenTree/settings/settings.html:249
msgid "No part parameter templates found"
msgstr "Parça parametre şablonu bulunamadı"
@@ -6363,135 +6222,167 @@ msgstr ""
msgid "Account Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:19
+#: templates/InvenTree/settings/user.html:18
#: templates/js/translated/helpers.js:26
msgid "Edit"
msgstr ""
-#: templates/InvenTree/settings/user.html:21
+#: templates/InvenTree/settings/user.html:20
#: templates/account/password_reset_from_key.html:4
#: templates/account/password_reset_from_key.html:7
msgid "Change Password"
msgstr ""
-#: templates/InvenTree/settings/user.html:28
+#: templates/InvenTree/settings/user.html:31
msgid "Username"
msgstr ""
-#: templates/InvenTree/settings/user.html:32
+#: templates/InvenTree/settings/user.html:35
msgid "First Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:36
+#: templates/InvenTree/settings/user.html:39
msgid "Last Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:42
-msgid "E-Mail"
+#: templates/InvenTree/settings/user.html:54
+msgid "The following email addresses are associated with your account:"
msgstr ""
-#: templates/InvenTree/settings/user.html:47
-msgid "The following e-mail addresses are associated with your account:"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:61
+#: templates/InvenTree/settings/user.html:74
msgid "Verified"
msgstr ""
-#: templates/InvenTree/settings/user.html:63
+#: templates/InvenTree/settings/user.html:76
msgid "Unverified"
msgstr ""
-#: templates/InvenTree/settings/user.html:65
+#: templates/InvenTree/settings/user.html:78
msgid "Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:71
+#: templates/InvenTree/settings/user.html:84
msgid "Make Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:72
+#: templates/InvenTree/settings/user.html:85
msgid "Re-send Verification"
msgstr ""
-#: templates/InvenTree/settings/user.html:73
-#: templates/InvenTree/settings/user.html:130
+#: templates/InvenTree/settings/user.html:86
+#: templates/InvenTree/settings/user.html:153
msgid "Remove"
msgstr ""
-#: templates/InvenTree/settings/user.html:80
+#: templates/InvenTree/settings/user.html:93
msgid "Warning:"
msgstr ""
-#: templates/InvenTree/settings/user.html:81
-msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc."
+#: templates/InvenTree/settings/user.html:94
+msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc."
msgstr ""
-#: templates/InvenTree/settings/user.html:88
-msgid "Add E-mail Address"
-msgstr ""
+#: templates/InvenTree/settings/user.html:101
+#, fuzzy
+#| msgid "Contact email address"
+msgid "Add Email Address"
+msgstr "İletişim e-posta adresi"
-#: templates/InvenTree/settings/user.html:93
-msgid "Add E-mail"
-msgstr ""
+#: templates/InvenTree/settings/user.html:111
+#, fuzzy
+#| msgid "Contact email address"
+msgid "Enter e-mail address"
+msgstr "İletişim e-posta adresi"
-#: templates/InvenTree/settings/user.html:100
+#: templates/InvenTree/settings/user.html:113
+#, fuzzy
+#| msgid "Email"
+msgid "Add Email"
+msgstr "E-posta"
+
+#: templates/InvenTree/settings/user.html:123
msgid "Social Accounts"
msgstr ""
-#: templates/InvenTree/settings/user.html:105
+#: templates/InvenTree/settings/user.html:128
msgid "You can sign in to your account using any of the following third party accounts:"
msgstr ""
-#: templates/InvenTree/settings/user.html:138
-msgid "You currently have no social network accounts connected to this account."
+#: templates/InvenTree/settings/user.html:162
+msgid "There are no social network accounts connected to your InvenTree account"
msgstr ""
-#: templates/InvenTree/settings/user.html:142
+#: templates/InvenTree/settings/user.html:167
msgid "Add a 3rd Party Account"
msgstr ""
-#: templates/InvenTree/settings/user.html:153
-msgid "Theme Settings"
-msgstr "Tema Ayarları"
-
-#: templates/InvenTree/settings/user.html:174
-msgid "Set Theme"
-msgstr "Tema Seç"
-
-#: templates/InvenTree/settings/user.html:181
+#: templates/InvenTree/settings/user.html:177
msgid "Language Settings"
msgstr "Dil Ayarları"
-#: templates/InvenTree/settings/user.html:200
+#: templates/InvenTree/settings/user.html:186
+#, fuzzy
+#| msgid "Set Language"
+msgid "Select language"
+msgstr "Dili Ayarla"
+
+#: templates/InvenTree/settings/user.html:202
#, python-format
msgid "%(lang_translated)s%% translated"
msgstr ""
-#: templates/InvenTree/settings/user.html:202
+#: templates/InvenTree/settings/user.html:204
msgid "No translations available"
msgstr ""
-#: templates/InvenTree/settings/user.html:209
+#: templates/InvenTree/settings/user.html:211
msgid "Set Language"
msgstr "Dili Ayarla"
-#: templates/InvenTree/settings/user.html:214
-msgid "Help the translation efforts!"
+#: templates/InvenTree/settings/user.html:213
+msgid "Some languages are not complete"
msgstr ""
#: templates/InvenTree/settings/user.html:215
+msgid "Show only sufficent"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:217
+msgid "Show them too"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:224
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:225
#, python-format
msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
msgstr ""
-#: templates/InvenTree/settings/user.html:223
-msgid "Do you really want to remove the selected e-mail address?"
+#: templates/InvenTree/settings/user.html:233
+msgid "Do you really want to remove the selected email address?"
msgstr ""
-#: templates/InvenTree/settings/user_forms.html:9
-msgid "Form Settings"
-msgstr ""
+#: templates/InvenTree/settings/user_display.html:9
+#, fuzzy
+#| msgid "Category Settings"
+msgid "Display Settings"
+msgstr "Kategori Ayarları"
+
+#: templates/InvenTree/settings/user_display.html:25
+msgid "Theme Settings"
+msgstr "Tema Ayarları"
+
+#: templates/InvenTree/settings/user_display.html:35
+#, fuzzy
+#| msgid "Set Theme"
+msgid "Select theme"
+msgstr "Tema Seç"
+
+#: templates/InvenTree/settings/user_display.html:46
+msgid "Set Theme"
+msgstr "Tema Seç"
#: templates/InvenTree/settings/user_homepage.html:9
msgid "Home Page Settings"
@@ -6505,124 +6396,143 @@ msgstr ""
msgid "Search Settings"
msgstr "Arama Ayarları"
-#: templates/about.html:13
+#: templates/InvenTree/settings/user_settings.html:9
+msgid "User Settings"
+msgstr ""
+
+#: templates/about.html:10
msgid "InvenTree Version Information"
msgstr "InvenTree Sürüm Bilgisi"
-#: templates/about.html:22
-msgid "InvenTree Version"
-msgstr "InvenTree Sürümü"
-
-#: templates/about.html:27
-msgid "Development Version"
-msgstr ""
-
-#: templates/about.html:30
-msgid "Up to Date"
-msgstr "Güncel"
-
-#: templates/about.html:32
-msgid "Update Available"
-msgstr "Güncelleme Mevcut"
-
-#: templates/about.html:42
-msgid "Commit Hash"
-msgstr "Commit Hash Değeri"
-
-#: templates/about.html:49
-msgid "Commit Date"
-msgstr "Commit Tarihi"
-
-#: templates/about.html:55
-msgid "InvenTree Documentation"
-msgstr ""
-
-#: templates/about.html:60
-msgid "API Version"
-msgstr "API Sürümü"
-
-#: templates/about.html:65
-msgid "Python Version"
-msgstr "Python Sürümü"
-
-#: templates/about.html:70
-msgid "Django Version"
-msgstr "Django Sürümü"
-
-#: templates/about.html:75
-msgid "View Code on GitHub"
-msgstr ""
-
-#: templates/about.html:80
-msgid "Credits"
-msgstr "Katkıda Bulunanlar"
-
-#: templates/about.html:85
-msgid "Mobile App"
-msgstr "Mobil Uygulama"
-
-#: templates/about.html:90
-msgid "Submit Bug Report"
-msgstr "Hata Raporu Gönder"
-
-#: templates/about.html:97 templates/clip.html:4
-msgid "copy to clipboard"
-msgstr "panoya kopyala"
-
-#: templates/about.html:97
-msgid "copy version information"
-msgstr "sürüm bilgisini kopyala"
-
-#: templates/about.html:107 templates/js/translated/modals.js:50
-#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678
-#: templates/js/translated/modals.js:982 templates/modals.html:29
-#: templates/modals.html:54
+#: templates/about.html:11 templates/about.html:105
+#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:964 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr "Kapat"
+#: templates/about.html:20
+msgid "InvenTree Version"
+msgstr "InvenTree Sürümü"
+
+#: templates/about.html:25
+msgid "Development Version"
+msgstr ""
+
+#: templates/about.html:28
+msgid "Up to Date"
+msgstr "Güncel"
+
+#: templates/about.html:30
+msgid "Update Available"
+msgstr "Güncelleme Mevcut"
+
+#: templates/about.html:40
+msgid "Commit Hash"
+msgstr "Commit Hash Değeri"
+
+#: templates/about.html:47
+msgid "Commit Date"
+msgstr "Commit Tarihi"
+
+#: templates/about.html:53
+msgid "InvenTree Documentation"
+msgstr ""
+
+#: templates/about.html:58
+msgid "API Version"
+msgstr "API Sürümü"
+
+#: templates/about.html:63
+msgid "Python Version"
+msgstr "Python Sürümü"
+
+#: templates/about.html:68
+msgid "Django Version"
+msgstr "Django Sürümü"
+
+#: templates/about.html:73
+msgid "View Code on GitHub"
+msgstr ""
+
+#: templates/about.html:78
+msgid "Credits"
+msgstr "Katkıda Bulunanlar"
+
+#: templates/about.html:83
+msgid "Mobile App"
+msgstr "Mobil Uygulama"
+
+#: templates/about.html:88
+msgid "Submit Bug Report"
+msgstr "Hata Raporu Gönder"
+
+#: templates/about.html:95 templates/clip.html:4
+msgid "copy to clipboard"
+msgstr "panoya kopyala"
+
+#: templates/about.html:95
+msgid "copy version information"
+msgstr "sürüm bilgisini kopyala"
+
#: templates/account/email_confirm.html:6
#: templates/account/email_confirm.html:10
-msgid "Confirm E-mail Address"
-msgstr ""
+#, fuzzy
+#| msgid "Contact email address"
+msgid "Confirm Email Address"
+msgstr "İletişim e-posta adresi"
#: templates/account/email_confirm.html:16
#, python-format
-msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s."
+msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
#: templates/account/email_confirm.html:27
#, python-format
-msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request."
+msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:5 templates/account/login.html:14
-#: templates/account/login.html:36
+#: templates/account/login.html:6 templates/account/login.html:16
+#: templates/account/login.html:39
msgid "Sign In"
msgstr ""
-#: templates/account/login.html:19
+#: templates/account/login.html:21
#, python-format
-msgid "Please sign in with one\n"
+msgid ""
+"Please sign in with one\n"
"of your existing third party accounts or sign up\n"
"for a account and sign in below:"
msgstr ""
-#: templates/account/login.html:23
+#: templates/account/login.html:25
#, python-format
-msgid "If you have not created an account yet, then please\n"
+msgid ""
+"If you have not created an account yet, then please\n"
"sign up first."
msgstr ""
-#: templates/account/login.html:38
+#: templates/account/login.html:42
msgid "Forgot Password?"
msgstr ""
-#: templates/account/login.html:45
+#: templates/account/login.html:47
+#, fuzzy
+#| msgid "InvenTree Version"
+msgid "InvenTree demo instance"
+msgstr "InvenTree Sürümü"
+
+#: templates/account/login.html:47
+msgid "Click here for login details"
+msgstr ""
+
+#: templates/account/login.html:55
msgid "or use SSO"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
-#: templates/account/logout.html:17
+#: templates/account/logout.html:20
msgid "Sign Out"
msgstr ""
@@ -6630,13 +6540,17 @@ msgstr ""
msgid "Are you sure you want to sign out?"
msgstr ""
+#: templates/account/logout.html:19
+msgid "Back to Site"
+msgstr ""
+
#: templates/account/password_reset.html:5
#: templates/account/password_reset.html:12
msgid "Password Reset"
msgstr ""
#: templates/account/password_reset.html:18
-msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it."
+msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it."
msgstr ""
#: templates/account/password_reset.html:23
@@ -6656,11 +6570,13 @@ msgstr ""
msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
msgstr ""
-#: templates/account/password_reset_from_key.html:17
-msgid "change password"
-msgstr ""
+#: templates/account/password_reset_from_key.html:18
+#, fuzzy
+#| msgid "Enter password"
+msgid "Change password"
+msgstr "Şifrenizi girin"
-#: templates/account/password_reset_from_key.html:20
+#: templates/account/password_reset_from_key.html:22
msgid "Your password is now changed."
msgstr ""
@@ -6677,6 +6593,89 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/admin_button.html:2
+msgid "View in administration panel"
+msgstr ""
+
+#: templates/base.html:96
+msgid "Server Restart Required"
+msgstr ""
+
+#: templates/base.html:99
+msgid "A configuration option has been changed which requires a server restart"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Contact your system administrator for further information"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:7
+#, fuzzy
+#| msgid "User responsible for this build order"
+msgid "Stock is required for the following build order"
+msgstr "Bu yapım işi emrinden sorumlu kullanıcı"
+
+#: templates/email/build_order_required_stock.html:8
+#, python-format
+msgid "Build order %(build)s - building %(quantity)s x %(part)s"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:10
+msgid "Click on the following link to view this build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:14
+#, fuzzy
+#| msgid "The following items will be created"
+msgid "The following parts are low on required stock"
+msgstr "Aşağıdaki ögeler oluşturulacak"
+
+#: templates/email/build_order_required_stock.html:18
+#: templates/js/translated/bom.js:989
+#, fuzzy
+#| msgid "Build Quantity"
+msgid "Required Quantity"
+msgstr "Yapım İşi Miktarı"
+
+#: templates/email/build_order_required_stock.html:19
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129
+#: templates/js/translated/build.js:1749
+msgid "Available"
+msgstr "Mevcut"
+
+#: templates/email/build_order_required_stock.html:38
+#: templates/email/low_stock_notification.html:31
+msgid "You are receiving this email because you are subscribed to notifications for this part "
+msgstr ""
+
+#: templates/email/email.html:35
+#, fuzzy
+#| msgid "InvenTree Version"
+msgid "InvenTree version"
+msgstr "InvenTree Sürümü"
+
+#: templates/email/low_stock_notification.html:7
+#, python-format
+msgid " The available stock for %(part)s has fallen below the configured minimum level"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:9
+msgid "Click on the following link to view this part"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:17
+#, fuzzy
+#| msgid "No Stock"
+msgid "Total Stock"
+msgstr "Stok Yok"
+
+#: templates/email/low_stock_notification.html:19
+#, fuzzy
+#| msgid "Build Quantity"
+msgid "Minimum Quantity"
+msgstr "Yapım İşi Miktarı"
+
#: templates/image_download.html:8
msgid "Specify URL for downloading image"
msgstr ""
@@ -6693,138 +6692,59 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/report.js:47 templates/js/translated/report.js:67
-msgid "items selected"
-msgstr ""
-
-#: templates/js/report.js:55 templates/js/translated/report.js:75
-msgid "Select Report Template"
-msgstr "Rapor Şablonu Seç"
-
-#: templates/js/report.js:70 templates/js/translated/report.js:90
-msgid "Select Test Report Template"
-msgstr "Test Raporu Şablonu Seç"
-
-#: templates/js/report.js:98 templates/js/translated/label.js:29
-#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/report.js:99 templates/js/translated/report.js:119
-msgid "Stock item(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:116 templates/js/report.js:169
-#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331 templates/js/translated/report.js:136
-#: templates/js/translated/report.js:189 templates/js/translated/report.js:243
-#: templates/js/translated/report.js:297 templates/js/translated/report.js:351
-msgid "No Reports Found"
-msgstr ""
-
-#: templates/js/report.js:117 templates/js/translated/report.js:137
-msgid "No report templates found which match selected stock item(s)"
-msgstr "Seçili stok kalemleri için rapor şablonu bulunamadı"
-
-#: templates/js/report.js:152 templates/js/translated/report.js:172
-msgid "Select Builds"
-msgstr ""
-
-#: templates/js/report.js:153 templates/js/translated/report.js:173
-msgid "Build(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:170 templates/js/translated/report.js:190
-msgid "No report templates found which match selected build(s)"
-msgstr "Seçili yapım işleri için rapor şablonu bulunamadı"
-
-#: templates/js/report.js:205 templates/js/translated/build.js:948
-#: templates/js/translated/label.js:134 templates/js/translated/report.js:225
-msgid "Select Parts"
-msgstr "Parçaları Seçin"
-
-#: templates/js/report.js:206 templates/js/translated/report.js:226
-msgid "Part(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:224 templates/js/translated/report.js:244
-msgid "No report templates found which match selected part(s)"
-msgstr "Seçili parçalar için rapor şablonu bulunamadı"
-
-#: templates/js/report.js:259 templates/js/translated/report.js:279
-msgid "Select Purchase Orders"
-msgstr ""
-
-#: templates/js/report.js:260 templates/js/translated/report.js:280
-msgid "Purchase Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/report.js:278 templates/js/report.js:332
-#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
-msgid "No report templates found which match selected orders"
-msgstr "Seçili emirler için rapor şablonu bulunamadı"
-
-#: templates/js/report.js:313 templates/js/translated/report.js:333
-msgid "Select Sales Orders"
-msgstr ""
-
-#: templates/js/report.js:314 templates/js/translated/report.js:334
-msgid "Sales Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034
msgid "No Response"
msgstr "Cevap Yok"
-#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053
+#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035
msgid "No response from the InvenTree server"
msgstr ""
-#: templates/js/translated/api.js:181
+#: templates/js/translated/api.js:191
msgid "Error 400: Bad request"
msgstr ""
-#: templates/js/translated/api.js:182
+#: templates/js/translated/api.js:192
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063
+#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050
msgid "You do not have the required permissions to access this function"
msgstr "Bu fonksiyona erişmek için gerekli izinlere sahip değilsiniz"
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055
msgid "The requested resource could not be located on the server"
msgstr ""
-#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060
msgid "Connection timeout while requesting data from server"
msgstr ""
-#: templates/js/translated/api.js:205
+#: templates/js/translated/api.js:215
msgid "Unhandled Error Code"
msgstr ""
-#: templates/js/translated/api.js:206
+#: templates/js/translated/api.js:216
msgid "Error code"
msgstr ""
@@ -6832,292 +6752,395 @@ msgstr ""
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:91
+#: templates/js/translated/attachment.js:95
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:104
+#: templates/js/translated/attachment.js:108
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:115
msgid "Delete attachment"
msgstr ""
-#: templates/js/translated/barcode.js:30
+#: templates/js/translated/barcode.js:29
msgid "Scan barcode data here using wedge scanner"
msgstr ""
-#: templates/js/translated/barcode.js:32
+#: templates/js/translated/barcode.js:31
msgid "Enter barcode data"
msgstr ""
-#: templates/js/translated/barcode.js:36
+#: templates/js/translated/barcode.js:35
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:54
+#: templates/js/translated/barcode.js:53
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:55
+#: templates/js/translated/barcode.js:54
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:93
+#: templates/js/translated/barcode.js:92
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:114
+#: templates/js/translated/barcode.js:113
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:141
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/barcode.js:140
+#: templates/js/translated/modals.js:1024
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:234
+#: templates/js/translated/barcode.js:233
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:281 templates/navbar.html:65
+#: templates/js/translated/barcode.js:280 templates/navbar.html:69
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:292
+#: templates/js/translated/barcode.js:291
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:310
+#: templates/js/translated/barcode.js:309
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:333
+#: templates/js/translated/barcode.js:332
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:339
+#: templates/js/translated/barcode.js:338
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273
+#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:440
+#: templates/js/translated/barcode.js:439
msgid "Check Stock Items into Location"
msgstr "Stok Kalemlerini bu konuma kaydet"
-#: templates/js/translated/barcode.js:444
-#: templates/js/translated/barcode.js:571
+#: templates/js/translated/barcode.js:443
+#: templates/js/translated/barcode.js:573
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:486
-#: templates/js/translated/barcode.js:610
+#: templates/js/translated/barcode.js:485
+#: templates/js/translated/barcode.js:612
msgid "Error transferring stock"
msgstr ""
-#: templates/js/translated/barcode.js:505
+#: templates/js/translated/barcode.js:507
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:509
+#: templates/js/translated/barcode.js:511
msgid "Stock Item already in this location"
msgstr "Stok kalemi zaten bu konumda"
-#: templates/js/translated/barcode.js:516
+#: templates/js/translated/barcode.js:518
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:523
+#: templates/js/translated/barcode.js:525
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:566
+#: templates/js/translated/barcode.js:568
msgid "Check Into Location"
msgstr "Konuma Kaydet"
-#: templates/js/translated/barcode.js:629
+#: templates/js/translated/barcode.js:633
msgid "Barcode does not match a valid location"
msgstr "Barkod geçerli bir konumla eşleşmiyor"
-#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495
+#: templates/js/translated/bom.js:184
+msgid "Remove substitute part"
+msgstr ""
+
+#: templates/js/translated/bom.js:226
+msgid "Select and add a new variant item using the input below"
+msgstr ""
+
+#: templates/js/translated/bom.js:237
+#, fuzzy
+#| msgid "Are you sure you want to delete this stock location?"
+msgid "Are you sure you wish to remove this substitute part link?"
+msgstr "Bu stok konumunu silmek istediğinizden emin misiniz?"
+
+#: templates/js/translated/bom.js:243
+msgid "Remove Substitute Part"
+msgstr ""
+
+#: templates/js/translated/bom.js:282
+msgid "Add Substitute"
+msgstr ""
+
+#: templates/js/translated/bom.js:283
+msgid "Edit BOM Item Substitutes"
+msgstr ""
+
+#: templates/js/translated/bom.js:402
+#, fuzzy
+#| msgid "Update Available"
+msgid "Substitutes Available"
+msgstr "Güncelleme Mevcut"
+
+#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111
+#, fuzzy
+#| msgid "Edit stock allocation"
+msgid "Variant stock allowed"
+msgstr "Stok tahsisini düzenle"
+
+#: templates/js/translated/bom.js:411
msgid "Open subassembly"
msgstr ""
-#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744
-#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522
-msgid "Available"
-msgstr "Mevcut"
+#: templates/js/translated/bom.js:483
+msgid "Substitutes"
+msgstr ""
-#: templates/js/translated/bom.js:307
+#: templates/js/translated/bom.js:498
msgid "Purchase Price Range"
msgstr ""
-#: templates/js/translated/bom.js:314
+#: templates/js/translated/bom.js:505
msgid "Purchase Price Average"
msgstr ""
-#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449
+#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798
-#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285
+#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183
+#: templates/js/translated/order.js:1298
msgid "Actions"
msgstr "İşlemler"
-#: templates/js/translated/bom.js:423
+#: templates/js/translated/bom.js:614
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:425
+#: templates/js/translated/bom.js:616
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590
+#: templates/js/translated/bom.js:618
+#, fuzzy
+#| msgid "Edit supplier part"
+msgid "Edit substitute parts"
+msgstr "Tedarikçi parçasını düzenle"
+
+#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575
+#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:1593
+#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/build.js:71
-msgid "Edit Build Order"
-msgstr ""
+#: templates/js/translated/bom.js:772
+#, fuzzy
+#| msgid "Are you sure you want to delete this stock location?"
+msgid "Are you sure you want to delete this BOM item?"
+msgstr "Bu stok konumunu silmek istediğinizden emin misiniz?"
-#: templates/js/translated/build.js:105
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/translated/build.js:138
-msgid "Allocate stock items to this build output"
-msgstr ""
-
-#: templates/js/translated/build.js:146
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/translated/build.js:155
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:164
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:265
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356
-#: templates/js/translated/order.js:1292
-msgid "Edit stock allocation"
-msgstr "Stok tahsisini düzenle"
-
-#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357
-#: templates/js/translated/order.js:1293
-msgid "Delete stock allocation"
-msgstr "Stok tahsisini sil"
-
-#: templates/js/translated/build.js:695
-msgid "Edit Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:705
-msgid "Remove Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:718
+#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095
msgid "Required Part"
msgstr "Gerekli Parça"
-#: templates/js/translated/build.js:739
+#: templates/js/translated/bom.js:994
+#, fuzzy
+#| msgid "Split from parent item"
+msgid "Inherited from parent BOM"
+msgstr "Üst ögeden ayır"
+
+#: templates/js/translated/build.js:78
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:112
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:133
+msgid "Allocate stock items to this build output"
+msgstr ""
+
+#: templates/js/translated/build.js:144
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:153
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:161
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:184
+#, fuzzy
+#| msgid "Are you sure you wish to unallocate all stock for this build?"
+msgid "Are you sure you wish to unallocate stock items from this build?"
+msgstr "Bu yapım işi için tahsis edilen tüm stokları kaldırmak istediğinizden emin misiniz?"
+
+#: templates/js/translated/build.js:202
+#, fuzzy
+#| msgid "Unallocate Stock"
+msgid "Unallocate Stock Items"
+msgstr "Stok Tahsisini Kaldır"
+
+#: templates/js/translated/build.js:220
+#, fuzzy
+#| msgid "Delete Build Output"
+msgid "Select Build Outputs"
+msgstr "Yapım İşi Çıktısı Sil"
+
+#: templates/js/translated/build.js:221
+#, fuzzy
+#| msgid "Build output must be specified"
+msgid "At least one build output must be selected"
+msgstr "Yapım işi çıktısı belirtilmeli"
+
+#: templates/js/translated/build.js:275
+#, fuzzy
+#| msgid "Build Outputs"
+msgid "Output"
+msgstr "Yapım İşi Çıktıları"
+
+#: templates/js/translated/build.js:291
+#, fuzzy
+#| msgid "Completed Build Outputs"
+msgid "Complete Build Outputs"
+msgstr "Tamamlanmış Yapım İşi Çıktıları"
+
+#: templates/js/translated/build.js:386
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:603
+#, fuzzy
+#| msgid "No incomplete build outputs remain."
+msgid "No active build outputs found"
+msgstr "Tamamlanmamış yapım işi çıktısı kalmadı."
+
+#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760
+#: templates/js/translated/order.js:1305
+msgid "Edit stock allocation"
+msgstr "Stok tahsisini düzenle"
+
+#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761
+#: templates/js/translated/order.js:1306
+msgid "Delete stock allocation"
+msgstr "Stok tahsisini sil"
+
+#: templates/js/translated/build.js:1072
+msgid "Edit Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1082
+msgid "Remove Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1107
+msgid "Substitute parts available"
+msgstr ""
+
+#: templates/js/translated/build.js:1124
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:749 templates/js/translated/build.js:975
-#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514
+#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360
+#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553
-#: templates/js/translated/order.js:1567
+#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557
-#: templates/stock_table.html:59
+#: templates/js/translated/build.js:1194 templates/stock_table.html:52
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560
+#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:880
+#: templates/js/translated/build.js:1262
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:949
+#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134
+#: templates/js/translated/report.js:225
+msgid "Select Parts"
+msgstr "Parçaları Seçin"
+
+#: templates/js/translated/build.js:1334
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:963
+#: templates/js/translated/build.js:1348
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:992
+#: templates/js/translated/build.js:1377
msgid "Confirm stock allocation"
msgstr "Stok tahsisini onayla"
-#: templates/js/translated/build.js:993
+#: templates/js/translated/build.js:1378
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:1004
+#: templates/js/translated/build.js:1389
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:1048
+#: templates/js/translated/build.js:1451
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:1172
+#: templates/js/translated/build.js:1576
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856
-#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762
-#: templates/js/translated/stock.js:1456
+#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873
+#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064
+#: templates/js/translated/stock.js:1841
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:1209
+#: templates/js/translated/build.js:1613
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675
+#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:1282
+#: templates/js/translated/build.js:1686
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:1333
+#: templates/js/translated/build.js:1737
msgid "No parts allocated for"
msgstr ""
@@ -7137,7 +7160,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:164 templates/js/translated/order.js:89
+#: templates/js/translated/company.js:164 templates/js/translated/order.js:90
msgid "Add Supplier"
msgstr ""
@@ -7186,34 +7209,34 @@ msgid "No manufacturer parts found"
msgstr ""
#: templates/js/translated/company.js:496
-#: templates/js/translated/company.js:753 templates/js/translated/part.js:427
-#: templates/js/translated/part.js:512
+#: templates/js/translated/company.js:753 templates/js/translated/part.js:448
+#: templates/js/translated/part.js:533
msgid "Template part"
msgstr "Şablon Parça"
#: templates/js/translated/company.js:500
-#: templates/js/translated/company.js:757 templates/js/translated/part.js:431
-#: templates/js/translated/part.js:516
+#: templates/js/translated/company.js:757 templates/js/translated/part.js:452
+#: templates/js/translated/part.js:537
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:627 templates/js/translated/part.js:604
+#: templates/js/translated/company.js:627 templates/js/translated/part.js:625
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:664 templates/js/translated/part.js:646
+#: templates/js/translated/company.js:664 templates/js/translated/part.js:667
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:665 templates/js/translated/part.js:647
+#: templates/js/translated/company.js:665 templates/js/translated/part.js:668
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:684 templates/js/translated/part.js:664
+#: templates/js/translated/company.js:684 templates/js/translated/part.js:685
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:695 templates/js/translated/part.js:676
+#: templates/js/translated/company.js:695 templates/js/translated/part.js:697
msgid "Delete Parameter"
msgstr ""
@@ -7222,12 +7245,12 @@ msgid "No supplier parts found"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:407
+#: templates/js/translated/filters.js:420
msgid "true"
msgstr "doğru"
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:408
+#: templates/js/translated/filters.js:421
msgid "false"
msgstr "yanlış"
@@ -7235,57 +7258,63 @@ msgstr "yanlış"
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:284
+#: templates/js/translated/filters.js:286
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:286
+#: templates/js/translated/filters.js:290
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:289
+#: templates/js/translated/filters.js:293
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:317
+#: templates/js/translated/filters.js:329
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336
-#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360
+#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364
+#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:324
+#: templates/js/translated/forms.js:351
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:337
+#: templates/js/translated/forms.js:366
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:349
+#: templates/js/translated/forms.js:380
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:361
+#: templates/js/translated/forms.js:394
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:968 templates/modals.html:21
-#: templates/modals.html:47
+#: templates/js/translated/forms.js:679
+#, fuzzy
+#| msgid "Must be a valid number"
+msgid "Enter a valid number"
+msgstr "Geçerli bir numara olmalı"
+
+#: templates/js/translated/forms.js:1071 templates/modals.html:19
+#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1323
+#: templates/js/translated/forms.js:1457
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1525
+#: templates/js/translated/forms.js:1661
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:1742
+#: templates/js/translated/forms.js:1878
msgid "Clear input"
msgstr ""
@@ -7297,6 +7326,11 @@ msgstr ""
msgid "NO"
msgstr ""
+#: templates/js/translated/label.js:29 templates/js/translated/report.js:118
+#: templates/js/translated/stock.js:594
+msgid "Select Stock Items"
+msgstr ""
+
#: templates/js/translated/label.js:30
msgid "Stock item(s) must be selected before printing labels"
msgstr "Etiket yazdırılmadan önce stok kalemleri seçilmeli"
@@ -7342,62 +7376,62 @@ msgstr "Etiket Seç"
msgid "Select Label Template"
msgstr "Etiket Şablonu Seç"
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119
+#: templates/js/translated/modals.js:593
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981
-#: templates/modals.html:30 templates/modals.html:55
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963
+#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:117
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:397
+#: templates/js/translated/modals.js:380
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:556
+#: templates/js/translated/modals.js:539
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:592
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:649
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:945
+#: templates/js/translated/modals.js:927
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/modals.js:1024
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1057
+#: templates/js/translated/modals.js:1039
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1058
+#: templates/js/translated/modals.js:1040
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1081
+#: templates/js/translated/modals.js:1063
msgid "Error requesting form data"
msgstr ""
@@ -7405,35 +7439,35 @@ msgstr ""
msgid "Company ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:90
+#: templates/js/translated/model_renderers.js:77
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:125
+#: templates/js/translated/model_renderers.js:130
msgid "Location ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:142
+#: templates/js/translated/model_renderers.js:147
msgid "Build ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:177
+#: templates/js/translated/model_renderers.js:182
msgid "Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:231
+#: templates/js/translated/model_renderers.js:236
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:251
+#: templates/js/translated/model_renderers.js:256
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:288
+#: templates/js/translated/model_renderers.js:293
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:317
+#: templates/js/translated/model_renderers.js:322
msgid "Supplier Part ID"
msgstr ""
@@ -7445,565 +7479,712 @@ msgstr ""
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:207
+#: templates/js/translated/order.js:208
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96
+#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393
msgid "Format"
msgstr ""
-#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97
+#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394
msgid "Select file format"
msgstr ""
-#: templates/js/translated/order.js:299
+#: templates/js/translated/order.js:300
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:300
+#: templates/js/translated/order.js:301
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:325
+#: templates/js/translated/order.js:326
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343
+#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:426
+#: templates/js/translated/order.js:427
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:428
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:429
+#: templates/js/translated/order.js:430
msgid "Receive"
msgstr ""
-#: templates/js/translated/order.js:448
+#: templates/js/translated/order.js:449
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:449
+#: templates/js/translated/order.js:450
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:626
+#: templates/js/translated/order.js:627
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028
+#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602
+#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613
+#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:800
+#: templates/js/translated/order.js:801
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432
+#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457
-#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554
+#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470
+#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464
-msgid "Total price"
+#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486
+#, fuzzy
+#| msgid "Total price"
+msgid "Total Price"
msgstr "Toplam fiyat"
-#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573
+#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:963
+#: templates/js/translated/order.js:976
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:967
+#: templates/js/translated/order.js:980
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1004
+#: templates/js/translated/order.js:1017
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1055
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1120
+#: templates/js/translated/order.js:1133
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:1213
+#: templates/js/translated/order.js:1226
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1231
+#: templates/js/translated/order.js:1244
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1273
+#: templates/js/translated/order.js:1286
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:1514
+#: templates/js/translated/order.js:1535
msgid "Fulfilled"
msgstr ""
-#: templates/js/translated/order.js:1557
+#: templates/js/translated/order.js:1579
msgid "Allocate serial numbers"
msgstr "Seri numaralarını tahsis et"
-#: templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1585
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725
+#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1596
msgid "Delete line item "
msgstr ""
-#: templates/js/translated/order.js:1673
+#: templates/js/translated/order.js:1719
msgid "Allocate Stock Item"
msgstr ""
-#: templates/js/translated/order.js:1733
+#: templates/js/translated/order.js:1779
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1747
+#: templates/js/translated/order.js:1793
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/part.js:49
+#: templates/js/translated/part.js:50
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:53
+#: templates/js/translated/part.js:54
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:57
+#: templates/js/translated/part.js:58
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:61
+#: templates/js/translated/part.js:62
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:75
+#: templates/js/translated/part.js:76
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:164
+#: templates/js/translated/part.js:165
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:165
+#: templates/js/translated/part.js:166
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:172
+#: templates/js/translated/part.js:173
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:173
+#: templates/js/translated/part.js:174
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:180
+#: templates/js/translated/part.js:181
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:191
+#: templates/js/translated/part.js:192
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:192
+#: templates/js/translated/part.js:193
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:201
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:202
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:257
+#: templates/js/translated/part.js:258
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:258
+#: templates/js/translated/part.js:259
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:265
-msgid "Copy BOM"
-msgstr ""
-
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:267
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:273
+#: templates/js/translated/part.js:274
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:274
+#: templates/js/translated/part.js:275
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:287
+#: templates/js/translated/part.js:288
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:331
+#: templates/js/translated/part.js:332
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:419 templates/js/translated/part.js:504
+#: templates/js/translated/part.js:334
+#, fuzzy
+#| msgid "Part Categories"
+msgid "Part edited"
+msgstr "Parça Kategorileri"
+
+#: templates/js/translated/part.js:402
+msgid "You are subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:404
+msgid "You have subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:409
+msgid "Subscribe to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:411
+msgid "You have unsubscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:440 templates/js/translated/part.js:525
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:423 templates/js/translated/part.js:508
+#: templates/js/translated/part.js:444 templates/js/translated/part.js:529
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:435
-msgid "Starred part"
+#: templates/js/translated/part.js:456
+msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:439
+#: templates/js/translated/part.js:460
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:554
+#: templates/js/translated/part.js:575
msgid "No variants found"
msgstr "Çeşit bulunamadı"
-#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005
+#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:932
+#: templates/js/translated/part.js:933
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:955
-#: templates/js/translated/table_filters.js:359
+#: templates/js/translated/part.js:956
+#: templates/js/translated/table_filters.js:375
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480
+#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200
+#: templates/js/translated/stock.js:1802
+#, fuzzy
+#| msgid "Display list view"
+msgid "Display as list"
+msgstr "Liste görünümünü görüntüle"
+
+#: templates/js/translated/part.js:1044
+#, fuzzy
+#| msgid "Display list view"
+msgid "Display as grid"
+msgstr "Liste görünümünü görüntüle"
+
+#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821
+#, fuzzy
+#| msgid "Display list view"
+msgid "Display as tree"
+msgstr "Liste görünümünü görüntüle"
+
+#: templates/js/translated/part.js:1283
+#, fuzzy
+#| msgid "Set category"
+msgid "Subscribed category"
+msgstr "Kategori ayarla"
+
+#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1202
+#: templates/js/translated/part.js:1341
msgid "No test templates matching query"
msgstr "Sorgu ile eşleşen test şablonu bulunamadı"
-#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493
+#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494
+#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1260
+#: templates/js/translated/part.js:1399
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1282
+#: templates/js/translated/part.js:1421
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1296
+#: templates/js/translated/part.js:1435
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1321
+#: templates/js/translated/part.js:1460
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1376
+#: templates/js/translated/part.js:1515
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1377
+#: templates/js/translated/part.js:1516
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1478
+#: templates/js/translated/part.js:1617
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1497
+#: templates/js/translated/part.js:1636
msgid "Single Price Difference"
msgstr ""
-#: templates/js/translated/stock.js:63
+#: templates/js/translated/report.js:67
+msgid "items selected"
+msgstr ""
+
+#: templates/js/translated/report.js:75
+msgid "Select Report Template"
+msgstr "Rapor Şablonu Seç"
+
+#: templates/js/translated/report.js:90
+msgid "Select Test Report Template"
+msgstr "Test Raporu Şablonu Seç"
+
+#: templates/js/translated/report.js:119
+msgid "Stock item(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:136 templates/js/translated/report.js:189
+#: templates/js/translated/report.js:243 templates/js/translated/report.js:297
+#: templates/js/translated/report.js:351
+msgid "No Reports Found"
+msgstr ""
+
+#: templates/js/translated/report.js:137
+msgid "No report templates found which match selected stock item(s)"
+msgstr "Seçili stok kalemleri için rapor şablonu bulunamadı"
+
+#: templates/js/translated/report.js:172
+msgid "Select Builds"
+msgstr ""
+
+#: templates/js/translated/report.js:173
+msgid "Build(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:190
+msgid "No report templates found which match selected build(s)"
+msgstr "Seçili yapım işleri için rapor şablonu bulunamadı"
+
+#: templates/js/translated/report.js:226
+msgid "Part(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:244
+msgid "No report templates found which match selected part(s)"
+msgstr "Seçili parçalar için rapor şablonu bulunamadı"
+
+#: templates/js/translated/report.js:279
+msgid "Select Purchase Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:280
+msgid "Purchase Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
+msgid "No report templates found which match selected orders"
+msgstr "Seçili emirler için rapor şablonu bulunamadı"
+
+#: templates/js/translated/report.js:333
+msgid "Select Sales Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:334
+msgid "Sales Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/stock.js:70
+#, fuzzy
+#| msgid "Serialize Stock"
+msgid "Serialize Stock Item"
+msgstr "Stoku Seri Numarala"
+
+#: templates/js/translated/stock.js:90
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:126
+#, fuzzy
+#| msgid "Stock Location"
+msgid "New Stock Location"
+msgstr "Stok Konumu"
+
+#: templates/js/translated/stock.js:189
+#, fuzzy
+#| msgid "Expiration date for this stock item"
+msgid "Enter initial quantity for this stock item"
+msgstr "Bu stok kalemi için son kullanma tarihi"
+
+#: templates/js/translated/stock.js:195
+#, fuzzy
+#| msgid "Enter unique serial numbers (or leave blank)"
+msgid "Enter serial numbers for new stock (or leave blank)"
+msgstr "Benzersiz seri numaraları giriniz (veya boş bırakınız)"
+
+#: templates/js/translated/stock.js:338
+#, fuzzy
+#| msgid "Create new stock location"
+msgid "Created new stock item"
+msgstr "Yeni stok konumu oluştur"
+
+#: templates/js/translated/stock.js:351
+#, fuzzy
+#| msgid "Edited stock item"
+msgid "Created multiple stock items"
+msgstr "Düzenlenen stok kalemi"
+
+#: templates/js/translated/stock.js:390
msgid "Export Stock"
msgstr ""
-#: templates/js/translated/stock.js:104
+#: templates/js/translated/stock.js:401
msgid "Include Sublocations"
msgstr ""
-#: templates/js/translated/stock.js:105
+#: templates/js/translated/stock.js:402
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:444
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:148
+#: templates/js/translated/stock.js:445
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:154
+#: templates/js/translated/stock.js:451
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:155
+#: templates/js/translated/stock.js:452
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:159
+#: templates/js/translated/stock.js:456
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:160
+#: templates/js/translated/stock.js:457
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:164
+#: templates/js/translated/stock.js:461
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:165 users/models.py:195
+#: templates/js/translated/stock.js:462 users/models.py:200
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:169 templates/stock_table.html:63
+#: templates/js/translated/stock.js:466 templates/stock_table.html:56
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:298
+#: templates/js/translated/stock.js:595
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:456
+#: templates/js/translated/stock.js:753
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:458
+#: templates/js/translated/stock.js:755
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:463
+#: templates/js/translated/stock.js:760
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:489
+#: templates/js/translated/stock.js:782
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:515
+#: templates/js/translated/stock.js:808
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:563
+#: templates/js/translated/stock.js:865
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:670
+#: templates/js/translated/stock.js:972
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:674
+#: templates/js/translated/stock.js:976
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:678
+#: templates/js/translated/stock.js:980
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:984
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:688
+#: templates/js/translated/stock.js:990
msgid "No stock location set"
msgstr "Stok konumu ayarlanmadı"
-#: templates/js/translated/stock.js:844
+#: templates/js/translated/stock.js:1148
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:849
+#: templates/js/translated/stock.js:1153
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:852
+#: templates/js/translated/stock.js:1156
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:856
+#: templates/js/translated/stock.js:1160
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:858
+#: templates/js/translated/stock.js:1162
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:1166
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:866
+#: templates/js/translated/stock.js:1170
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:873
+#: templates/js/translated/stock.js:1177
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:1179
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:877
+#: templates/js/translated/stock.js:1181
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:881
-#: templates/js/translated/table_filters.js:161
+#: templates/js/translated/stock.js:1185
+#: templates/js/translated/table_filters.js:177
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:935
+#: templates/js/translated/stock.js:1235
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1308
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1046
+#: templates/js/translated/stock.js:1346
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115
+#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415
msgid "items"
msgstr ""
-#: templates/js/translated/stock.js:1155
+#: templates/js/translated/stock.js:1455
msgid "batches"
msgstr ""
-#: templates/js/translated/stock.js:1182
+#: templates/js/translated/stock.js:1482
msgid "locations"
msgstr "konumlar"
-#: templates/js/translated/stock.js:1184
+#: templates/js/translated/stock.js:1484
msgid "Undefined location"
msgstr "Tanımsız konum"
-#: templates/js/translated/stock.js:1358
+#: templates/js/translated/stock.js:1658
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:1372
+#: templates/js/translated/stock.js:1672
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:1373
+#: templates/js/translated/stock.js:1673
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:1512
+#: templates/js/translated/stock.js:1897
msgid "Invalid date"
msgstr ""
-#: templates/js/translated/stock.js:1559
+#: templates/js/translated/stock.js:1919
+msgid "Details"
+msgstr "Detaylar"
+
+#: templates/js/translated/stock.js:1944
msgid "Location no longer exists"
msgstr "Konum artık yok"
-#: templates/js/translated/stock.js:1578
+#: templates/js/translated/stock.js:1963
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1597
+#: templates/js/translated/stock.js:1982
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1615
+#: templates/js/translated/stock.js:2000
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1638
+#: templates/js/translated/stock.js:2023
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:1646
+#: templates/js/translated/stock.js:2031
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:1687
+#: templates/js/translated/stock.js:2072
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1688
+#: templates/js/translated/stock.js:2073
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:2124
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:1835
-msgid "Serial"
-msgstr "Seri No"
-
-#: templates/js/translated/stock.js:1863
+#: templates/js/translated/stock.js:2175
msgid "Uninstall Stock Item"
msgstr ""
@@ -8023,254 +8204,266 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr "Çeşit Stokuna İzin Ver"
-#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:156
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:172
msgid "Include sublocations"
msgstr "Alt konumları dahil et"
-#: templates/js/translated/table_filters.js:93
+#: templates/js/translated/table_filters.js:105
msgid "Include locations"
msgstr "Konumları dahil et"
-#: templates/js/translated/table_filters.js:103
-#: templates/js/translated/table_filters.js:104
-#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:115
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:352
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:114
-#: templates/js/translated/table_filters.js:191
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:387
+msgid "Subscribed"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:130
+#: templates/js/translated/table_filters.js:207
msgid "Is Serialized"
msgstr "Seri Numaralı"
-#: templates/js/translated/table_filters.js:117
-#: templates/js/translated/table_filters.js:198
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:214
msgid "Serial number GTE"
msgstr "Seri numarası BvE"
-#: templates/js/translated/table_filters.js:118
-#: templates/js/translated/table_filters.js:199
+#: templates/js/translated/table_filters.js:134
+#: templates/js/translated/table_filters.js:215
msgid "Serial number greater than or equal to"
msgstr "Seri numarası büyük veya eşit"
-#: templates/js/translated/table_filters.js:121
-#: templates/js/translated/table_filters.js:202
+#: templates/js/translated/table_filters.js:137
+#: templates/js/translated/table_filters.js:218
msgid "Serial number LTE"
msgstr "Seri numarası KvE"
-#: templates/js/translated/table_filters.js:122
-#: templates/js/translated/table_filters.js:203
+#: templates/js/translated/table_filters.js:138
+#: templates/js/translated/table_filters.js:219
msgid "Serial number less than or equal to"
msgstr "Seri numarası küçük veya eşit"
-#: templates/js/translated/table_filters.js:125
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:141
+#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:211
msgid "Serial number"
msgstr "Seri numarası"
-#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:212
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:228
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:141
-#: templates/js/translated/table_filters.js:326
+#: templates/js/translated/table_filters.js:157
+#: templates/js/translated/table_filters.js:342
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:158
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:147
+#: templates/js/translated/table_filters.js:163
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:151
+#: templates/js/translated/table_filters.js:167
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:152
+#: templates/js/translated/table_filters.js:168
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:157
+#: templates/js/translated/table_filters.js:173
msgid "Include stock in sublocations"
msgstr "Alt konumlardaki stoku dahil et"
-#: templates/js/translated/table_filters.js:162
+#: templates/js/translated/table_filters.js:178
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:167
+#: templates/js/translated/table_filters.js:183
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:187
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:188
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:176
+#: templates/js/translated/table_filters.js:192
msgid "Include Variants"
msgstr "Çeşitleri Dahil Et"
-#: templates/js/translated/table_filters.js:177
+#: templates/js/translated/table_filters.js:193
msgid "Include stock items for variant parts"
msgstr "Çeşit parçaların stok kalemlerini dahil et"
-#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:197
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:182
+#: templates/js/translated/table_filters.js:198
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:187
+#: templates/js/translated/table_filters.js:203
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:207
-#: templates/js/translated/table_filters.js:208
+#: templates/js/translated/table_filters.js:223
+#: templates/js/translated/table_filters.js:224
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/table_filters.js:232
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:233
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:242
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:248
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:279
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:291
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:307
+#: templates/js/translated/table_filters.js:324
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:296
-#: templates/js/translated/table_filters.js:313
+#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:329
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:337
+#: templates/js/translated/table_filters.js:353
msgid "Include parts in subcategories"
msgstr "Alt kategorilerdeki parçaları dahil et"
-#: templates/js/translated/table_filters.js:341
+#: templates/js/translated/table_filters.js:357
msgid "Has IPN"
msgstr "DPN Var"
-#: templates/js/translated/table_filters.js:342
+#: templates/js/translated/table_filters.js:358
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:347
+#: templates/js/translated/table_filters.js:363
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:355
+#: templates/js/translated/table_filters.js:371
msgid "Stock available"
msgstr ""
-#: templates/js/translated/table_filters.js:371
-msgid "Starred"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:383
+#: templates/js/translated/table_filters.js:399
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/tables.js:366
+#: templates/js/translated/tables.js:368
msgid "Loading data"
msgstr ""
-#: templates/js/translated/tables.js:369
+#: templates/js/translated/tables.js:371
msgid "rows per page"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "Showing"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "to"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "of"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "rows"
msgstr ""
-#: templates/js/translated/tables.js:378
+#: templates/js/translated/tables.js:377 templates/search_form.html:6
+#: templates/search_form.html:7
+msgid "Search"
+msgstr ""
+
+#: templates/js/translated/tables.js:380
msgid "No matching results"
msgstr ""
-#: templates/js/translated/tables.js:381
+#: templates/js/translated/tables.js:383
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/translated/tables.js:384
+#: templates/js/translated/tables.js:386
msgid "Refresh"
msgstr ""
-#: templates/js/translated/tables.js:387
+#: templates/js/translated/tables.js:389
msgid "Toggle"
msgstr ""
-#: templates/js/translated/tables.js:390
+#: templates/js/translated/tables.js:392
msgid "Columns"
msgstr ""
-#: templates/js/translated/tables.js:393
+#: templates/js/translated/tables.js:395
msgid "All"
msgstr ""
-#: templates/navbar.html:19
-msgid "Toggle navigation"
-msgstr ""
-
-#: templates/navbar.html:39
+#: templates/navbar.html:40
msgid "Buy"
msgstr ""
-#: templates/navbar.html:51
+#: templates/navbar.html:52
msgid "Sell"
msgstr ""
-#: templates/navbar.html:83 users/models.py:39
+#: templates/navbar.html:86 users/models.py:39
msgid "Admin"
msgstr ""
-#: templates/navbar.html:85
+#: templates/navbar.html:88
msgid "Logout"
msgstr ""
-#: templates/navbar.html:106
+#: templates/navbar.html:90
+msgid "Login"
+msgstr ""
+
+#: templates/navbar.html:111
msgid "About InvenTree"
msgstr ""
+#: templates/navbar_demo.html:5
+#, fuzzy
+#| msgid "InvenTree Version"
+msgid "InvenTree demo mode"
+msgstr "InvenTree Sürümü"
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -8283,6 +8476,10 @@ msgstr ""
msgid "Log in again"
msgstr ""
+#: templates/stats.html:9
+msgid "Server"
+msgstr ""
+
#: templates/stats.html:13
msgid "Instance Name"
msgstr ""
@@ -8336,54 +8533,50 @@ msgid "Export Stock Information"
msgstr ""
#: templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/stock_table.html:27
msgid "Barcode Actions"
msgstr "Barkod İşlemleri"
-#: templates/stock_table.html:43
+#: templates/stock_table.html:36
msgid "Print test reports"
msgstr ""
-#: templates/stock_table.html:50
+#: templates/stock_table.html:43
msgid "Stock Options"
msgstr ""
-#: templates/stock_table.html:55
+#: templates/stock_table.html:48
msgid "Add to selected stock items"
msgstr ""
-#: templates/stock_table.html:56
+#: templates/stock_table.html:49
msgid "Remove from selected stock items"
msgstr ""
-#: templates/stock_table.html:57
+#: templates/stock_table.html:50
msgid "Stocktake selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move stock"
msgstr ""
-#: templates/stock_table.html:59
+#: templates/stock_table.html:52
msgid "Order selected items"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change status"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change stock status"
msgstr ""
-#: templates/stock_table.html:63
+#: templates/stock_table.html:56
msgid "Delete selected items"
msgstr ""
@@ -8419,35 +8612,154 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:182
+#: users/models.py:187
msgid "Permission set"
msgstr ""
-#: users/models.py:190
+#: users/models.py:195
msgid "Group"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "View"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "Permission to view items"
msgstr ""
-#: users/models.py:195
+#: users/models.py:200
msgid "Permission to add items"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Change"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:199
+#: users/models.py:204
msgid "Permission to delete items"
msgstr ""
+#~ msgid "Build Order reference"
+#~ msgstr "Yapım İşi Emri referansı"
+
+#~ msgid "Order target date"
+#~ msgstr "Emir hedef tarihi"
+
+#~ msgid "Number of items to build"
+#~ msgstr "Yapılacak öge sayısı"
+
+#~ msgid "Confirm unallocation of stock"
+#~ msgstr "Stok tahsisinin iptalini onayla"
+
+#~ msgid "Build output stock status"
+#~ msgstr "Yapım işi çıktısı stok durumu"
+
+#~ msgid "Confirm incomplete"
+#~ msgstr "Eksik olarak onayla"
+
+#~ msgid "Confirm completion with incomplete stock allocation"
+#~ msgstr "Eksik parça tahsisi ile tamamlamayı onayla"
+
+#~ msgid "Confirm build completion"
+#~ msgstr "Yapım işinin tamamlandığını onaylayın"
+
+#~ msgid "Admin view"
+#~ msgstr "Yönetici görünümü"
+
+#~ msgid "Progress"
+#~ msgstr "İlerleme"
+
+#~ msgid "Stock allocation is complete for this output"
+#~ msgstr "Bu çıktı için stok tahsisi tamamlandı"
+
+#~ msgid "Stock allocation is incomplete"
+#~ msgstr "Stok tahsisi tamamlanmamış"
+
+#~ msgid "tracked parts have not been fully allocated"
+#~ msgstr "takip edilebilir parçalar tamamen tahsis edilemedi"
+
+#~ msgid "Create New Output"
+#~ msgstr "Yeni Çıktı Oluştur"
+
+#~ msgid "Create a new build output"
+#~ msgstr "Yeni bir yapım işi çıktısı oluştur"
+
+#~ msgid "Create a new build output using the button above"
+#~ msgstr "Yukarıdaki düğmeyi kullanarak yeni bir yapım işi çıktısı oluştur"
+
+#~ msgid "Alter the quantity of stock allocated to the build output"
+#~ msgstr "Yapım işi çıktısına tahsis edilen stok miktarını değiştir"
+
+#~ msgid "Build Order Details"
+#~ msgstr "Yapım İşi Emri Detayları"
+
+#~ msgid "Child Builds"
+#~ msgstr "Alt Yapım İşleri"
+
+#~ msgid "Build Order Notes"
+#~ msgstr "Yapım İşi Emri Notları"
+
+#~ msgid "All incomplete stock allocations will be removed from the build"
+#~ msgstr "Tüm eksik stok tahsisleri yapım işinden kaldırılacak"
+
+#~ msgid "Complete Build Output"
+#~ msgstr "Tamamlanmış Yapım İşi Çıktısı"
+
+#~ msgid "Invalid stock status value selected"
+#~ msgstr "Geçersiz stok durum değeri seçildi"
+
+#~ msgid "Confirm completion of incomplete build"
+#~ msgstr "Eksik yapım işinin tamamlandığını onaylayın"
+
+#~ msgid "Build output completed"
+#~ msgstr "Yapım işi çıktısı tamamlandı"
+
+#~ msgid "Default"
+#~ msgstr "Varsayılan"
+
+#~ msgid "Current value"
+#~ msgstr "Mevcut değer"
+
+#~ msgid "Change Setting"
+#~ msgstr "Ayarları Değiştir"
+
+#~ msgid "Supplier Part Details"
+#~ msgstr "Tedarikçi Parçası Detayları"
+
+#~ msgid "Print"
+#~ msgstr "Yazdır"
+
+#~ msgid "Category Details"
+#~ msgstr "Kategori Detayları"
+
+#~ msgid "New Order"
+#~ msgstr "Yeni Sipariş"
+
+#~ msgid "Variants"
+#~ msgstr "Çeşitler"
+
+#~ msgid "Prices"
+#~ msgstr "Fiyatlar"
+
+#~ msgid "Select test report template"
+#~ msgstr "Test raporu şablonu seç"
+
+#~ msgid "Save"
+#~ msgstr "Kaydet"
+
+#~ msgid "Location Details"
+#~ msgstr "Konum Detayları"
+
+#~ msgid "Location Path"
+#~ msgstr "Konum Yolu"
+
+#~ msgid "Location Description"
+#~ msgstr "Konum Tanımı"
+
+#~ msgid "Create new location"
+#~ msgstr "Yeni konum oluştur"
diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.mo b/InvenTree/locale/vi/LC_MESSAGES/django.mo
new file mode 100644
index 0000000000..5123025e2e
Binary files /dev/null and b/InvenTree/locale/vi/LC_MESSAGES/django.mo differ
diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po
index c8e6c91052..b16aaef183 100644
--- a/InvenTree/locale/vi/LC_MESSAGES/django.po
+++ b/InvenTree/locale/vi/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-11 06:21+0000\n"
+"POT-Creation-Date: 2021-11-22 22:08+0000\n"
"PO-Revision-Date: 2021-10-11 06:28\n"
"Last-Translator: \n"
"Language-Team: Vietnamese\n"
@@ -33,260 +33,266 @@ msgstr ""
msgid "Enter date"
msgstr ""
-#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123
-#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27
-#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71
-#: part/forms.py:108 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:564
+#: InvenTree/forms.py:120 build/forms.py:48 build/forms.py:69 build/forms.py:93
+#: order/forms.py:26 order/forms.py:37 order/forms.py:48 order/forms.py:59
+#: order/forms.py:70 part/forms.py:108 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:594
msgid "Confirm"
msgstr ""
-#: InvenTree/forms.py:132
+#: InvenTree/forms.py:136
msgid "Confirm delete"
msgstr ""
-#: InvenTree/forms.py:133
+#: InvenTree/forms.py:137
msgid "Confirm item deletion"
msgstr ""
-#: InvenTree/forms.py:164
+#: InvenTree/forms.py:168
msgid "Enter password"
msgstr ""
-#: InvenTree/forms.py:165
+#: InvenTree/forms.py:169
msgid "Enter new password"
msgstr ""
-#: InvenTree/forms.py:172
+#: InvenTree/forms.py:176
msgid "Confirm password"
msgstr ""
-#: InvenTree/forms.py:173
+#: InvenTree/forms.py:177
msgid "Confirm new password"
msgstr ""
-#: InvenTree/forms.py:205
+#: InvenTree/forms.py:209
msgid "Select Category"
msgstr ""
-#: InvenTree/forms.py:226
-msgid "E-mail (again)"
-msgstr ""
-
#: InvenTree/forms.py:230
-msgid "E-mail address confirmation"
+msgid "Email (again)"
msgstr ""
-#: InvenTree/forms.py:250
+#: InvenTree/forms.py:234
+msgid "Email address confirmation"
+msgstr ""
+
+#: InvenTree/forms.py:254
msgid "You must type the same email each time."
msgstr ""
-#: InvenTree/helpers.py:401
+#: InvenTree/helpers.py:430
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr ""
-#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437
-#: stock/views.py:1340
+#: InvenTree/helpers.py:437 order/models.py:318 order/models.py:440
+#: stock/views.py:1264
msgid "Invalid quantity provided"
msgstr ""
-#: InvenTree/helpers.py:411
+#: InvenTree/helpers.py:440
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:462 InvenTree/helpers.py:465 InvenTree/helpers.py:468
+#: InvenTree/helpers.py:493
#, python-brace-format
msgid "Invalid group: {g}"
msgstr ""
-#: InvenTree/helpers.py:469
+#: InvenTree/helpers.py:498
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr ""
-#: InvenTree/helpers.py:477
+#: InvenTree/helpers.py:506
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:481
+#: InvenTree/helpers.py:510
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/models.py:66 stock/models.py:1823
+#: InvenTree/models.py:109 stock/models.py:1874
msgid "Attachment"
msgstr ""
-#: InvenTree/models.py:67
+#: InvenTree/models.py:110
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:69 templates/js/translated/attachment.js:87
+#: InvenTree/models.py:112 templates/js/translated/attachment.js:91
msgid "Comment"
msgstr ""
-#: InvenTree/models.py:69
+#: InvenTree/models.py:112
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055
-#: common/models.py:1056 part/models.py:2055
-#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/translated/stock.js:1669
+#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185
+#: common/models.py:1186 part/models.py:2205 part/models.py:2225
+#: report/templates/report/inventree_test_report_base.html:96
+#: templates/js/translated/stock.js:2054
msgid "User"
msgstr ""
-#: InvenTree/models.py:79
+#: InvenTree/models.py:122
msgid "upload date"
msgstr ""
-#: InvenTree/models.py:99
+#: InvenTree/models.py:142
msgid "Filename must not be empty"
msgstr ""
-#: InvenTree/models.py:122
+#: InvenTree/models.py:165
msgid "Invalid attachment directory"
msgstr ""
-#: InvenTree/models.py:132
+#: InvenTree/models.py:175
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr ""
-#: InvenTree/models.py:135
+#: InvenTree/models.py:178
msgid "Filename missing extension"
msgstr ""
-#: InvenTree/models.py:142
+#: InvenTree/models.py:185
msgid "Attachment with this filename already exists"
msgstr ""
-#: InvenTree/models.py:149
+#: InvenTree/models.py:192
msgid "Error renaming file"
msgstr ""
-#: InvenTree/models.py:184
+#: InvenTree/models.py:227
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415
-#: label/models.py:112 part/models.py:659 part/models.py:2216
-#: part/templates/part/part_base.html:241 report/models.py:181
-#: templates/js/translated/company.js:637 templates/js/translated/part.js:477
-#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141
-#: templates/js/translated/stock.js:1462
+#: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415
+#: label/models.py:112 part/models.py:741 part/models.py:2389
+#: part/templates/part/detail.html:25 report/models.py:181
+#: templates/js/translated/company.js:637 templates/js/translated/part.js:498
+#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272
+#: templates/js/translated/stock.js:1847
msgid "Name"
msgstr ""
-#: InvenTree/models.py:207 build/models.py:189
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/manufacturer_part.html:76
-#: company/templates/company/supplier_part.html:75 label/models.py:119
-#: order/models.py:158 part/models.py:682
-#: part/templates/part/part_base.html:246
+#: InvenTree/models.py:250 build/models.py:207
+#: build/templates/build/detail.html:25 company/models.py:354
+#: company/models.py:570 company/templates/company/manufacturer_part.html:80
+#: company/templates/company/supplier_part.html:81 label/models.py:119
+#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30
#: part/templates/part/set_category.html:14 report/models.py:194
-#: report/models.py:551 report/models.py:590
+#: report/models.py:553 report/models.py:592
#: report/templates/report/inventree_build_order_base.html:118
-#: templates/InvenTree/settings/header.html:9
-#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217
-#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344
+#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214
+#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621
+#: templates/js/translated/company.js:344
#: templates/js/translated/company.js:547
-#: templates/js/translated/company.js:836 templates/js/translated/order.js:672
-#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056
-#: templates/js/translated/part.js:536 templates/js/translated/part.js:724
-#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153
-#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819
-#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519
+#: templates/js/translated/company.js:836 templates/js/translated/order.js:673
+#: templates/js/translated/order.js:833 templates/js/translated/order.js:1069
+#: templates/js/translated/part.js:557 templates/js/translated/part.js:745
+#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291
+#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121
+#: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904
msgid "Description"
msgstr ""
-#: InvenTree/models.py:208
+#: InvenTree/models.py:251
msgid "Description (optional)"
msgstr ""
-#: InvenTree/models.py:216
+#: InvenTree/models.py:259
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:55 part/models.py:2475
+#: InvenTree/serializers.py:62 part/models.py:2674
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:244
+#: InvenTree/serializers.py:251
msgid "Filename"
msgstr ""
-#: InvenTree/settings.py:529
+#: InvenTree/settings.py:663
msgid "German"
msgstr ""
-#: InvenTree/settings.py:530
+#: InvenTree/settings.py:664
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:531
+#: InvenTree/settings.py:665
msgid "English"
msgstr ""
-#: InvenTree/settings.py:532
+#: InvenTree/settings.py:666
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:533
+#: InvenTree/settings.py:667
+msgid "Spanish (Mexican)"
+msgstr ""
+
+#: InvenTree/settings.py:668
msgid "French"
msgstr ""
-#: InvenTree/settings.py:534
+#: InvenTree/settings.py:669
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:535
+#: InvenTree/settings.py:670
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:536
+#: InvenTree/settings.py:671
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:537
+#: InvenTree/settings.py:672
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:538
+#: InvenTree/settings.py:673
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:539
+#: InvenTree/settings.py:674
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:540
+#: InvenTree/settings.py:675
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:541
+#: InvenTree/settings.py:676
+msgid "Portugese"
+msgstr ""
+
+#: InvenTree/settings.py:677
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:542
+#: InvenTree/settings.py:678
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:543
+#: InvenTree/settings.py:679
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:544
+#: InvenTree/settings.py:680
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:545
+#: InvenTree/settings.py:681
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:546
+#: InvenTree/settings.py:682
msgid "Chinese"
msgstr ""
@@ -302,196 +308,196 @@ msgstr ""
msgid "InvenTree system health checks failed"
msgstr ""
-#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145
-#: InvenTree/status_codes.py:314
+#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142
+#: InvenTree/status_codes.py:311
msgid "Pending"
msgstr ""
-#: InvenTree/status_codes.py:105
+#: InvenTree/status_codes.py:102
msgid "Placed"
msgstr ""
-#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317
+#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:314
msgid "Complete"
msgstr ""
-#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147
-#: InvenTree/status_codes.py:316
+#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144
+#: InvenTree/status_codes.py:313
msgid "Cancelled"
msgstr ""
-#: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148
-#: InvenTree/status_codes.py:190
+#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145
+#: InvenTree/status_codes.py:187
msgid "Lost"
msgstr ""
-#: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149
-#: InvenTree/status_codes.py:192
+#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146
+#: InvenTree/status_codes.py:189
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:146
-#: order/templates/order/sales_order_base.html:131
+#: InvenTree/status_codes.py:143
+#: order/templates/order/sales_order_base.html:147
msgid "Shipped"
msgstr ""
-#: InvenTree/status_codes.py:186
+#: InvenTree/status_codes.py:183
msgid "OK"
msgstr ""
-#: InvenTree/status_codes.py:187
+#: InvenTree/status_codes.py:184
msgid "Attention needed"
msgstr ""
-#: InvenTree/status_codes.py:188
+#: InvenTree/status_codes.py:185
msgid "Damaged"
msgstr ""
-#: InvenTree/status_codes.py:189
+#: InvenTree/status_codes.py:186
msgid "Destroyed"
msgstr ""
-#: InvenTree/status_codes.py:191
+#: InvenTree/status_codes.py:188
msgid "Rejected"
msgstr ""
-#: InvenTree/status_codes.py:272
+#: InvenTree/status_codes.py:269
msgid "Legacy stock tracking entry"
msgstr ""
-#: InvenTree/status_codes.py:274
+#: InvenTree/status_codes.py:271
msgid "Stock item created"
msgstr ""
-#: InvenTree/status_codes.py:276
+#: InvenTree/status_codes.py:273
msgid "Edited stock item"
msgstr ""
-#: InvenTree/status_codes.py:277
+#: InvenTree/status_codes.py:274
msgid "Assigned serial number"
msgstr ""
-#: InvenTree/status_codes.py:279
+#: InvenTree/status_codes.py:276
msgid "Stock counted"
msgstr ""
-#: InvenTree/status_codes.py:280
+#: InvenTree/status_codes.py:277
msgid "Stock manually added"
msgstr ""
-#: InvenTree/status_codes.py:281
+#: InvenTree/status_codes.py:278
msgid "Stock manually removed"
msgstr ""
-#: InvenTree/status_codes.py:283
+#: InvenTree/status_codes.py:280
msgid "Location changed"
msgstr ""
-#: InvenTree/status_codes.py:285
+#: InvenTree/status_codes.py:282
msgid "Installed into assembly"
msgstr ""
-#: InvenTree/status_codes.py:286
+#: InvenTree/status_codes.py:283
msgid "Removed from assembly"
msgstr ""
-#: InvenTree/status_codes.py:288
+#: InvenTree/status_codes.py:285
msgid "Installed component item"
msgstr ""
-#: InvenTree/status_codes.py:289
+#: InvenTree/status_codes.py:286
msgid "Removed component item"
msgstr ""
-#: InvenTree/status_codes.py:291
+#: InvenTree/status_codes.py:288
msgid "Split from parent item"
msgstr ""
-#: InvenTree/status_codes.py:292
+#: InvenTree/status_codes.py:289
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186
+#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202
msgid "Sent to customer"
msgstr ""
-#: InvenTree/status_codes.py:295
+#: InvenTree/status_codes.py:292
msgid "Returned from customer"
msgstr ""
-#: InvenTree/status_codes.py:297
+#: InvenTree/status_codes.py:294
msgid "Build order output created"
msgstr ""
-#: InvenTree/status_codes.py:298
+#: InvenTree/status_codes.py:295
msgid "Build order output completed"
msgstr ""
-#: InvenTree/status_codes.py:300
+#: InvenTree/status_codes.py:297
msgid "Received against purchase order"
msgstr ""
-#: InvenTree/status_codes.py:315
+#: InvenTree/status_codes.py:312
msgid "Production"
msgstr ""
-#: InvenTree/validators.py:22
+#: InvenTree/validators.py:23
msgid "Not a valid currency code"
msgstr ""
-#: InvenTree/validators.py:50
+#: InvenTree/validators.py:51
msgid "Invalid character in part name"
msgstr ""
-#: InvenTree/validators.py:63
+#: InvenTree/validators.py:64
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr ""
-#: InvenTree/validators.py:77 InvenTree/validators.py:91
-#: InvenTree/validators.py:105
+#: InvenTree/validators.py:78 InvenTree/validators.py:92
+#: InvenTree/validators.py:106
#, python-brace-format
msgid "Reference must match pattern {pattern}"
msgstr ""
-#: InvenTree/validators.py:113
+#: InvenTree/validators.py:114
#, python-brace-format
msgid "Illegal character in name ({x})"
msgstr ""
-#: InvenTree/validators.py:132 InvenTree/validators.py:148
+#: InvenTree/validators.py:133 InvenTree/validators.py:149
msgid "Overage value must not be negative"
msgstr ""
-#: InvenTree/validators.py:150
+#: InvenTree/validators.py:151
msgid "Overage must not exceed 100%"
msgstr ""
-#: InvenTree/validators.py:157
+#: InvenTree/validators.py:158
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:616
+#: InvenTree/views.py:536
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:665
+#: InvenTree/views.py:585
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:710
+#: InvenTree/views.py:630
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:954 templates/navbar.html:97
+#: InvenTree/views.py:863 templates/navbar.html:101
msgid "System Information"
msgstr ""
@@ -535,599 +541,566 @@ msgstr ""
msgid "Barcode associated with StockItem"
msgstr ""
-#: build/api.py:213
-msgid "Matching build order does not exist"
-msgstr ""
-
-#: build/forms.py:37
-msgid "Build Order reference"
-msgstr ""
-
-#: build/forms.py:38
-msgid "Order target date"
-msgstr ""
-
-#: build/forms.py:42 build/templates/build/build_base.html:146
-#: build/templates/build/detail.html:124
-#: order/templates/order/order_base.html:124
-#: order/templates/order/sales_order_base.html:124
-#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689
-#: templates/js/translated/order.js:1074
-msgid "Target Date"
-msgstr ""
-
-#: build/forms.py:43 build/models.py:279
-msgid "Target date for build completion. Build will be overdue after this date."
-msgstr ""
-
-#: build/forms.py:48 build/forms.py:90 build/models.py:1281
-#: build/templates/build/allocation_card.html:23
-#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:1087
-#: company/forms.py:42 company/templates/company/supplier_part.html:226
-#: order/forms.py:101 order/forms.py:123 order/models.py:720
-#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249
-#: part/forms.py:265 part/forms.py:281 part/models.py:2377
+#: build/forms.py:36 build/models.py:1283
+#: build/templates/build/build_base.html:124
+#: build/templates/build/detail.html:35 common/models.py:1225
+#: company/forms.py:42 company/templates/company/supplier_part.html:251
+#: order/forms.py:102 order/models.py:729 order/models.py:991
+#: order/templates/order/order_wizard/match_parts.html:30
+#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237
+#: part/forms.py:253 part/forms.py:269 part/models.py:2576
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030
+#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
-#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:140 stock/templates/stock/item_base.html:269
-#: stock/templates/stock/stock_adjust.html:18
-#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264
-#: templates/js/translated/build.js:314 templates/js/translated/build.js:638
-#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515
-#: templates/js/translated/model_renderers.js:74
-#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170
-#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444
-#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487
-#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654
-#: templates/js/translated/stock.js:1829
+#: report/templates/report/inventree_test_report_base.html:81
+#: report/templates/report/inventree_test_report_base.html:139
+#: stock/forms.py:156 stock/serializers.py:286
+#: stock/templates/stock/item_base.html:256
+#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441
+#: templates/js/translated/build.js:235 templates/js/translated/build.js:435
+#: templates/js/translated/build.js:629 templates/js/translated/build.js:639
+#: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362
+#: templates/js/translated/model_renderers.js:99
+#: templates/js/translated/order.js:870 templates/js/translated/order.js:1183
+#: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268
+#: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457
+#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626
+#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347
+#: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141
msgid "Quantity"
msgstr ""
-#: build/forms.py:49
-msgid "Number of items to build"
-msgstr ""
-
-#: build/forms.py:91
+#: build/forms.py:37
msgid "Enter quantity for build output"
msgstr ""
-#: build/forms.py:95 order/forms.py:95 stock/forms.py:83
+#: build/forms.py:41 order/forms.py:96 stock/forms.py:95
+#: stock/serializers.py:307 templates/js/translated/stock.js:194
+#: templates/js/translated/stock.js:348
msgid "Serial Numbers"
msgstr ""
-#: build/forms.py:97
+#: build/forms.py:43
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/forms.py:103
+#: build/forms.py:49
msgid "Confirm creation of build output"
msgstr ""
-#: build/forms.py:124
+#: build/forms.py:70
msgid "Confirm deletion of build output"
msgstr ""
-#: build/forms.py:145
-msgid "Confirm unallocation of stock"
-msgstr ""
-
-#: build/forms.py:174
+#: build/forms.py:94
msgid "Mark build as complete"
msgstr ""
-#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284
-#: stock/forms.py:280 stock/serializers.py:553
-#: stock/templates/stock/item_base.html:299
-#: stock/templates/stock/stock_adjust.html:17
-#: templates/js/translated/barcode.js:385
-#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299
-#: templates/js/translated/build.js:650 templates/js/translated/order.js:347
-#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263
-#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179
-#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921
-#: templates/js/translated/stock.js:1546
-msgid "Location"
-msgstr ""
-
-#: build/forms.py:199
-msgid "Location of completed parts"
-msgstr ""
-
-#: build/forms.py:203 build/templates/build/build_base.html:138
-#: build/templates/build/detail.html:62 order/models.py:563
-#: order/serializers.py:238 stock/templates/stock/item_base.html:422
-#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251
-#: templates/js/translated/order.js:430 templates/js/translated/order.js:676
-#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896
-#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845
-msgid "Status"
-msgstr ""
-
-#: build/forms.py:204
-msgid "Build output stock status"
-msgstr ""
-
-#: build/forms.py:211
-msgid "Confirm incomplete"
-msgstr ""
-
-#: build/forms.py:212
-msgid "Confirm completion with incomplete stock allocation"
-msgstr ""
-
-#: build/forms.py:215
-msgid "Confirm build completion"
-msgstr ""
-
-#: build/forms.py:240
+#: build/forms.py:107
msgid "Confirm cancel"
msgstr ""
-#: build/forms.py:240 build/views.py:65
+#: build/forms.py:107 build/views.py:65
msgid "Confirm build cancellation"
msgstr ""
-#: build/models.py:115
+#: build/models.py:133
msgid "Invalid choice for parent build"
msgstr ""
-#: build/models.py:119 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:73
+#: build/models.py:137 build/templates/build/build_base.html:9
+#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:276
+#: templates/js/translated/build.js:397
msgid "Build Order"
msgstr ""
-#: build/models.py:120 build/templates/build/index.html:8
-#: build/templates/build/index.html:15
-#: order/templates/order/sales_order_detail.html:34
-#: order/templates/order/so_navbar.html:19
-#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50
-#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229
-#: templates/InvenTree/search.html:171
-#: templates/InvenTree/settings/navbar.html:113
-#: templates/InvenTree/settings/navbar.html:115 users/models.py:44
+#: build/models.py:138 build/templates/build/build_base.html:13
+#: build/templates/build/index.html:8 build/templates/build/index.html:12
+#: order/templates/order/sales_order_detail.html:42
+#: templates/InvenTree/index.html:221 templates/InvenTree/search.html:145
+#: users/models.py:44
msgid "Build Orders"
msgstr ""
-#: build/models.py:180
+#: build/models.py:198
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:181 order/models.py:246 order/models.py:547
-#: order/models.py:727 part/models.py:2386
+#: build/models.py:199 order/models.py:249 order/models.py:556
+#: order/models.py:736 part/models.py:2585
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734
-#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863
-#: templates/js/translated/order.js:1438
+#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119
+#: templates/js/translated/order.js:864 templates/js/translated/order.js:1451
msgid "Reference"
msgstr ""
-#: build/models.py:192
+#: build/models.py:210
msgid "Brief description of the build"
msgstr ""
-#: build/models.py:201 build/templates/build/build_base.html:163
-#: build/templates/build/detail.html:80
+#: build/models.py:219 build/templates/build/build_base.html:156
+#: build/templates/build/detail.html:88
msgid "Parent Build"
msgstr ""
-#: build/models.py:202
+#: build/models.py:220
msgid "BuildOrder to which this build is allocated"
msgstr ""
-#: build/models.py:207 build/templates/build/build_base.html:128
-#: build/templates/build/detail.html:29 company/models.py:705
-#: order/models.py:780 order/models.py:851
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298
-#: part/models.py:2000 part/models.py:2016 part/models.py:2035
-#: part/models.py:2053 part/models.py:2132 part/models.py:2254
-#: part/models.py:2361 part/templates/part/detail.html:199
+#: build/models.py:225 build/templates/build/build_base.html:119
+#: build/templates/build/detail.html:30 company/models.py:705
+#: order/models.py:789 order/models.py:860
+#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357
+#: part/models.py:2151 part/models.py:2167 part/models.py:2186
+#: part/models.py:2203 part/models.py:2305 part/models.py:2427
+#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
-#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384
-#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611
-#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222
-#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488
-#: templates/js/translated/company.js:745 templates/js/translated/order.js:425
-#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422
-#: templates/js/translated/part.js:705 templates/js/translated/part.js:875
-#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776
-#: templates/js/translated/stock.js:1817
+#: templates/InvenTree/search.html:86
+#: templates/email/build_order_required_stock.html:17
+#: templates/email/low_stock_notification.html:16
+#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213
+#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620
+#: templates/js/translated/build.js:988 templates/js/translated/build.js:1359
+#: templates/js/translated/build.js:1626 templates/js/translated/company.js:488
+#: templates/js/translated/company.js:745 templates/js/translated/order.js:426
+#: templates/js/translated/order.js:818 templates/js/translated/order.js:1435
+#: templates/js/translated/part.js:726 templates/js/translated/part.js:892
+#: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:2129
msgid "Part"
msgstr ""
-#: build/models.py:215
+#: build/models.py:233
msgid "Select part to build"
msgstr ""
-#: build/models.py:220
+#: build/models.py:238
msgid "Sales Order Reference"
msgstr ""
-#: build/models.py:224
+#: build/models.py:242
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:229 templates/js/translated/build.js:962
+#: build/models.py:247 templates/js/translated/build.js:1347
msgid "Source Location"
msgstr ""
-#: build/models.py:233
+#: build/models.py:251
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr ""
-#: build/models.py:238
+#: build/models.py:256
msgid "Destination Location"
msgstr ""
-#: build/models.py:242
+#: build/models.py:260
msgid "Select location where the completed items will be stored"
msgstr ""
-#: build/models.py:246
+#: build/models.py:264
msgid "Build Quantity"
msgstr ""
-#: build/models.py:249
+#: build/models.py:267
msgid "Number of stock items to build"
msgstr ""
-#: build/models.py:253
+#: build/models.py:271
msgid "Completed items"
msgstr ""
-#: build/models.py:255
+#: build/models.py:273
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:259 part/templates/part/part_base.html:198
+#: build/models.py:277 part/templates/part/part_base.html:216
msgid "Build Status"
msgstr ""
-#: build/models.py:263
+#: build/models.py:281
msgid "Build status code"
msgstr ""
-#: build/models.py:267 stock/models.py:513
+#: build/models.py:285 stock/models.py:544
msgid "Batch Code"
msgstr ""
-#: build/models.py:271
+#: build/models.py:289
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:274 order/models.py:162 part/models.py:854
-#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069
+#: build/models.py:292 order/models.py:165 part/models.py:936
+#: part/templates/part/detail.html:86 templates/js/translated/order.js:1082
msgid "Creation Date"
msgstr ""
-#: build/models.py:278 order/models.py:569
+#: build/models.py:296 order/models.py:578
msgid "Target completion date"
msgstr ""
-#: build/models.py:282 order/models.py:288
-#: templates/js/translated/build.js:1293
+#: build/models.py:297
+msgid "Target date for build completion. Build will be overdue after this date."
+msgstr ""
+
+#: build/models.py:300 order/models.py:291
+#: templates/js/translated/build.js:1697
msgid "Completion Date"
msgstr ""
-#: build/models.py:288
+#: build/models.py:306
msgid "completed by"
msgstr ""
-#: build/models.py:296 templates/js/translated/build.js:1264
+#: build/models.py:314 templates/js/translated/build.js:1668
msgid "Issued by"
msgstr ""
-#: build/models.py:297
+#: build/models.py:315
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:305 build/templates/build/build_base.html:184
-#: build/templates/build/detail.html:108 order/models.py:176
-#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:145 part/models.py:858
+#: build/models.py:323 build/templates/build/build_base.html:177
+#: build/templates/build/detail.html:116 order/models.py:179
+#: order/templates/order/order_base.html:154
+#: order/templates/order/sales_order_base.html:161 part/models.py:940
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1680
msgid "Responsible"
msgstr ""
-#: build/models.py:306
+#: build/models.py:324
msgid "User responsible for this build order"
msgstr ""
-#: build/models.py:311 build/templates/build/detail.html:94
-#: company/templates/company/manufacturer_part.html:83
-#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:266 stock/models.py:507
-#: stock/templates/stock/item_base.html:359
+#: build/models.py:329 build/templates/build/detail.html:102
+#: company/templates/company/manufacturer_part.html:87
+#: company/templates/company/supplier_part.html:88
+#: part/templates/part/detail.html:80 stock/models.py:538
+#: stock/templates/stock/item_base.html:346
msgid "External Link"
msgstr ""
-#: build/models.py:312 part/models.py:716 stock/models.py:509
+#: build/models.py:330 part/models.py:798 stock/models.py:540
msgid "Link to external URL"
msgstr ""
-#: build/models.py:316 build/templates/build/navbar.html:52
-#: company/models.py:142 company/models.py:577
-#: company/templates/company/navbar.html:69
-#: company/templates/company/navbar.html:72 order/models.py:180
-#: order/models.py:729 order/templates/order/po_navbar.html:38
-#: order/templates/order/po_navbar.html:41
-#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:843
-#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120
-#: part/templates/part/navbar.html:123
+#: build/models.py:334 build/serializers.py:201 company/models.py:142
+#: company/models.py:577 order/models.py:183 order/models.py:738
+#: part/models.py:925 part/templates/part/detail.html:223
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579
-#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451
-#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59
-#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841
-#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540
-#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040
+#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610
+#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325
+#: stock/serializers.py:584 templates/js/translated/barcode.js:58
+#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841
+#: templates/js/translated/order.js:963 templates/js/translated/order.js:1561
+#: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340
msgid "Notes"
msgstr ""
-#: build/models.py:317
+#: build/models.py:335
msgid "Extra build notes"
msgstr ""
-#: build/models.py:714
+#: build/models.py:710
msgid "No build output specified"
msgstr ""
-#: build/models.py:717
+#: build/models.py:713
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:720
+#: build/models.py:716
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1102
+#: build/models.py:1108
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1111
+#: build/models.py:1117
#, python-brace-format
msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1121
+#: build/models.py:1127
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1127 order/models.py:955
+#: build/models.py:1133 order/models.py:964
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1133
+#: build/models.py:1139
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1191
+#: build/models.py:1193
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1251 stock/templates/stock/item_base.html:331
-#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195
-#: templates/navbar.html:35
+#: build/models.py:1253 stock/templates/stock/item_base.html:318
+#: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599
+#: templates/navbar.html:33
msgid "Build"
msgstr ""
-#: build/models.py:1252
+#: build/models.py:1254
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1268 build/serializers.py:151
+#: build/models.py:1270 build/serializers.py:328
#: stock/templates/stock/item_base.html:8
-#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:353
-#: stock/templates/stock/stock_adjust.html:16
-#: templates/js/translated/build.js:287 templates/js/translated/build.js:292
-#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148
-#: templates/js/translated/stock.js:1605
+#: stock/templates/stock/item_base.html:16
+#: stock/templates/stock/item_base.html:340
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:413
+#: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742
+#: templates/js/translated/order.js:1156 templates/js/translated/order.js:1161
+#: templates/js/translated/stock.js:1990
msgid "Stock Item"
msgstr ""
-#: build/models.py:1269
+#: build/models.py:1271
msgid "Source stock item"
msgstr ""
-#: build/models.py:1282
+#: build/models.py:1284
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1290
+#: build/models.py:1292
msgid "Install into"
msgstr ""
-#: build/models.py:1291
+#: build/models.py:1293
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:133 part/models.py:2501
-msgid "BOM Item"
-msgstr ""
-
-#: build/serializers.py:142
-msgid "bom_item.part must point to the same part as the build order"
-msgstr ""
-
-#: build/serializers.py:157
-msgid "Item must be in stock"
-msgstr ""
-
-#: build/serializers.py:171 order/models.py:313 order/serializers.py:231
-#: stock/models.py:351 stock/models.py:1072
-msgid "Quantity must be greater than zero"
-msgstr ""
-
-#: build/serializers.py:180
+#: build/serializers.py:137 build/serializers.py:357
msgid "Build Output"
msgstr ""
+#: build/serializers.py:146
+msgid "Build output does not match the parent build"
+msgstr ""
+
+#: build/serializers.py:150
+msgid "Output part does not match BuildOrder part"
+msgstr ""
+
+#: build/serializers.py:154
+msgid "This build output has already been completed"
+msgstr ""
+
+#: build/serializers.py:158
+msgid "This build output is not fully allocated"
+msgstr ""
+
+#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285
+#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686
+#: stock/templates/stock/item_base.html:286
+#: templates/js/translated/barcode.js:384
+#: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420
+#: templates/js/translated/build.js:1027 templates/js/translated/order.js:348
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1276
+#: templates/js/translated/order.js:1282 templates/js/translated/part.js:180
+#: templates/js/translated/stock.js:480 templates/js/translated/stock.js:1221
+#: templates/js/translated/stock.js:1931
+msgid "Location"
+msgstr ""
+
+#: build/serializers.py:191
+msgid "Location for completed build outputs"
+msgstr ""
+
+#: build/serializers.py:197 build/templates/build/build_base.html:129
+#: build/templates/build/detail.html:63 order/models.py:572
+#: order/serializers.py:238 stock/templates/stock/item_base.html:409
+#: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655
+#: templates/js/translated/order.js:431 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196
+#: templates/js/translated/stock.js:2008 templates/js/translated/stock.js:2157
+msgid "Status"
+msgstr ""
+
#: build/serializers.py:213
+msgid "A list of build outputs must be provided"
+msgstr ""
+
+#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700
+#: part/models.py:2859
+msgid "BOM Item"
+msgstr ""
+
+#: build/serializers.py:269
+msgid "Build output"
+msgstr ""
+
+#: build/serializers.py:278
+msgid "Build output must point to the same build"
+msgstr ""
+
+#: build/serializers.py:319
+msgid "bom_item.part must point to the same part as the build order"
+msgstr ""
+
+#: build/serializers.py:334
+msgid "Item must be in stock"
+msgstr ""
+
+#: build/serializers.py:348 order/models.py:316 order/serializers.py:231
+#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298
+msgid "Quantity must be greater than zero"
+msgstr ""
+
+#: build/serializers.py:390
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:219
+#: build/serializers.py:396
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:226
+#: build/serializers.py:403
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:254
+#: build/serializers.py:431
msgid "Allocation items must be provided"
msgstr ""
-#: build/templates/build/allocation_card.html:21
-#: build/templates/build/complete_output.html:46
-#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:501 stock/templates/stock/item_base.html:251
-#: templates/js/translated/build.js:636
-#: templates/js/translated/model_renderers.js:72
-#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342
-msgid "Serial Number"
+#: build/tasks.py:92
+msgid "Stock required for build order"
msgstr ""
-#: build/templates/build/build_base.html:18
+#: build/templates/build/build_base.html:39
+#: order/templates/order/order_base.html:28
+#: order/templates/order/sales_order_base.html:38
+msgid "Print actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:43
+msgid "Print build order report"
+msgstr ""
+
+#: build/templates/build/build_base.html:50
+msgid "Build actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:54
+msgid "Edit Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:56
+#: build/templates/build/build_base.html:207 build/views.py:56
+msgid "Cancel Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:59
+msgid "Delete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:64
+#: build/templates/build/build_base.html:65
+#: build/templates/build/build_base.html:223
+msgid "Complete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:79
#, python-format
msgid "This Build Order is allocated to Sales Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:25
+#: build/templates/build/build_base.html:86
#, python-format
msgid "This Build Order is a child of Build Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:32
+#: build/templates/build/build_base.html:93
msgid "Build Order is ready to mark as completed"
msgstr ""
-#: build/templates/build/build_base.html:37
+#: build/templates/build/build_base.html:98
msgid "Build Order cannot be completed as outstanding outputs remain"
msgstr ""
-#: build/templates/build/build_base.html:42
+#: build/templates/build/build_base.html:103
msgid "Required build quantity has not yet been completed"
msgstr ""
-#: build/templates/build/build_base.html:47
+#: build/templates/build/build_base.html:108
msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
-#: build/templates/build/build_base.html:75
-#: company/templates/company/company_base.html:40
-#: company/templates/company/manufacturer_part.html:29
-#: company/templates/company/supplier_part.html:30
-#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:30
-#: stock/templates/stock/item_base.html:62
-#: stock/templates/stock/location.html:31
-msgid "Admin view"
+#: build/templates/build/build_base.html:138
+#: build/templates/build/detail.html:132
+#: order/templates/order/order_base.html:140
+#: order/templates/order/sales_order_base.html:140
+#: report/templates/report/inventree_build_order_base.html:126
+#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690
+#: templates/js/translated/order.js:1087
+msgid "Target Date"
msgstr ""
-#: build/templates/build/build_base.html:81
-#: build/templates/build/build_base.html:150
-#: order/templates/order/order_base.html:32
-#: order/templates/order/order_base.html:86
-#: order/templates/order/sales_order_base.html:43
-#: order/templates/order/sales_order_base.html:93
-#: templates/js/translated/table_filters.js:272
-#: templates/js/translated/table_filters.js:300
-#: templates/js/translated/table_filters.js:317
-msgid "Overdue"
-msgstr ""
-
-#: build/templates/build/build_base.html:90
-msgid "Print actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:94
-msgid "Print Build Order"
-msgstr ""
-
-#: build/templates/build/build_base.html:100
-#: build/templates/build/build_base.html:222
-msgid "Complete Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:105
-msgid "Build actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:109
-msgid "Edit Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:111
-#: build/templates/build/build_base.html:206 build/views.py:56
-msgid "Cancel Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:114
-msgid "Delete Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:124
-#: build/templates/build/detail.html:15
-msgid "Build Details"
-msgstr ""
-
-#: build/templates/build/build_base.html:150
+#: build/templates/build/build_base.html:143
#, python-format
msgid "This build was due on %(target)s"
msgstr ""
-#: build/templates/build/build_base.html:157
-#: build/templates/build/detail.html:67
-msgid "Progress"
+#: build/templates/build/build_base.html:143
+#: build/templates/build/build_base.html:188
+#: order/templates/order/order_base.html:81
+#: order/templates/order/order_base.html:102
+#: order/templates/order/sales_order_base.html:78
+#: order/templates/order/sales_order_base.html:107
+#: templates/js/translated/table_filters.js:288
+#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:333
+msgid "Overdue"
msgstr ""
-#: build/templates/build/build_base.html:170
-#: build/templates/build/detail.html:87 order/models.py:848
+#: build/templates/build/build_base.html:150
+#: build/templates/build/detail.html:68 build/templates/build/detail.html:143
+#: templates/js/translated/build.js:1641
+#: templates/js/translated/table_filters.js:298
+msgid "Completed"
+msgstr ""
+
+#: build/templates/build/build_base.html:163
+#: build/templates/build/detail.html:95 order/models.py:857
#: order/templates/order/sales_order_base.html:9
-#: order/templates/order/sales_order_base.html:35
+#: order/templates/order/sales_order_base.html:28
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:293
-#: templates/js/translated/order.js:1016
+#: stock/templates/stock/item_base.html:280
+#: templates/js/translated/order.js:1029
msgid "Sales Order"
msgstr ""
-#: build/templates/build/build_base.html:177
-#: build/templates/build/detail.html:101
+#: build/templates/build/build_base.html:170
+#: build/templates/build/detail.html:109
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:214
+#: build/templates/build/build_base.html:215
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:215
+#: build/templates/build/build_base.html:216
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
@@ -1175,220 +1148,195 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/templates/build/complete_output.html:10
-msgid "Stock allocation is complete for this output"
+#: build/templates/build/detail.html:16
+msgid "Build Details"
msgstr ""
-#: build/templates/build/complete_output.html:14
-msgid "Stock allocation is incomplete"
-msgstr ""
-
-#: build/templates/build/complete_output.html:20
-msgid "tracked parts have not been fully allocated"
-msgstr ""
-
-#: build/templates/build/complete_output.html:41
-msgid "The following items will be created"
-msgstr ""
-
-#: build/templates/build/detail.html:38
+#: build/templates/build/detail.html:39
msgid "Stock Source"
msgstr ""
-#: build/templates/build/detail.html:43
+#: build/templates/build/detail.html:44
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134
-#: templates/js/translated/order.js:431 templates/js/translated/order.js:939
+#: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150
+#: templates/js/translated/order.js:432 templates/js/translated/order.js:952
msgid "Destination"
msgstr ""
-#: build/templates/build/detail.html:56
+#: build/templates/build/detail.html:57
msgid "Destination location not specified"
msgstr ""
-#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:317
-#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852
-#: templates/js/translated/table_filters.js:129
-#: templates/js/translated/table_filters.js:211
+#: build/templates/build/detail.html:74 templates/js/translated/build.js:647
+msgid "Allocated Parts"
+msgstr ""
+
+#: build/templates/build/detail.html:81
+#: stock/templates/stock/item_base.html:304
+#: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164
+#: templates/js/translated/table_filters.js:145
+#: templates/js/translated/table_filters.js:227
msgid "Batch"
msgstr ""
-#: build/templates/build/detail.html:119
-#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:118
-#: templates/js/translated/build.js:1259
+#: build/templates/build/detail.html:127
+#: order/templates/order/order_base.html:127
+#: order/templates/order/sales_order_base.html:134
+#: templates/js/translated/build.js:1663
msgid "Created"
msgstr ""
-#: build/templates/build/detail.html:130
+#: build/templates/build/detail.html:138
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237
-#: templates/js/translated/table_filters.js:282
-msgid "Completed"
-msgstr ""
-
-#: build/templates/build/detail.html:139
+#: build/templates/build/detail.html:147
msgid "Build not complete"
msgstr ""
-#: build/templates/build/detail.html:150 build/templates/build/navbar.html:35
+#: build/templates/build/detail.html:158
msgid "Child Build Orders"
msgstr ""
-#: build/templates/build/detail.html:166
+#: build/templates/build/detail.html:173
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:172
-msgid "Allocate stock to build"
-msgstr ""
-
-#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20
-#: build/templates/build/navbar.html:23
-msgid "Allocate Stock"
-msgstr ""
-
-#: build/templates/build/detail.html:175 templates/js/translated/build.js:817
+#: build/templates/build/detail.html:177 templates/js/translated/build.js:1202
msgid "Unallocate stock"
msgstr ""
-#: build/templates/build/detail.html:176 build/views.py:257
+#: build/templates/build/detail.html:178
msgid "Unallocate Stock"
msgstr ""
-#: build/templates/build/detail.html:179
+#: build/templates/build/detail.html:180
+msgid "Allocate stock to build"
+msgstr ""
+
+#: build/templates/build/detail.html:181
+msgid "Allocate Stock"
+msgstr ""
+
+#: build/templates/build/detail.html:184
msgid "Order required parts"
msgstr ""
-#: build/templates/build/detail.html:180
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72 order/views.py:509
-#: part/templates/part/category.html:140
+#: build/templates/build/detail.html:185
+#: company/templates/company/detail.html:38
+#: company/templates/company/detail.html:85 order/views.py:509
+#: part/templates/part/category.html:166
msgid "Order Parts"
msgstr ""
-#: build/templates/build/detail.html:186
+#: build/templates/build/detail.html:197
msgid "Untracked stock has been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:190
+#: build/templates/build/detail.html:201
msgid "Untracked stock has not been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/detail.html:197
+#: build/templates/build/detail.html:208
msgid "Allocate selected items"
msgstr ""
-#: build/templates/build/detail.html:209
+#: build/templates/build/detail.html:218
msgid "This Build Order does not have any associated untracked BOM items"
msgstr ""
-#: build/templates/build/detail.html:218
+#: build/templates/build/detail.html:227
msgid "Incomplete Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:223
+#: build/templates/build/detail.html:231
msgid "Create new build output"
msgstr ""
-#: build/templates/build/detail.html:224
-msgid "Create New Output"
+#: build/templates/build/detail.html:232
+msgid "New Build Output"
msgstr ""
-#: build/templates/build/detail.html:237
-msgid "Create a new build output"
+#: build/templates/build/detail.html:246
+msgid "Output Actions"
msgstr ""
-#: build/templates/build/detail.html:238
-msgid "No incomplete build outputs remain."
+#: build/templates/build/detail.html:250
+msgid "Complete selected items"
msgstr ""
-#: build/templates/build/detail.html:239
-msgid "Create a new build output using the button above"
+#: build/templates/build/detail.html:251
+msgid "Complete outputs"
msgstr ""
-#: build/templates/build/detail.html:247
+#: build/templates/build/detail.html:266
msgid "Completed Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42
-#: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35
-#: order/templates/order/sales_order_detail.html:43
-#: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173
-#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117
-#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47
-#: stock/templates/stock/navbar.html:50
+#: build/templates/build/detail.html:278
+#: order/templates/order/purchase_order_detail.html:60
+#: order/templates/order/sales_order_detail.html:52
+#: part/templates/part/detail.html:300 stock/templates/stock/item.html:95
msgid "Attachments"
msgstr ""
-#: build/templates/build/detail.html:269
+#: build/templates/build/detail.html:294
msgid "Build Notes"
msgstr ""
-#: build/templates/build/detail.html:273 build/templates/build/detail.html:414
-#: company/templates/company/detail.html:169
-#: company/templates/company/detail.html:196
-#: order/templates/order/purchase_order_detail.html:71
-#: order/templates/order/purchase_order_detail.html:104
-#: order/templates/order/sales_order_detail.html:58
-#: order/templates/order/sales_order_detail.html:85
-#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103
-#: stock/templates/stock/item.html:188
+#: build/templates/build/detail.html:298 build/templates/build/detail.html:489
+#: company/templates/company/detail.html:188
+#: company/templates/company/detail.html:215
+#: order/templates/order/purchase_order_detail.html:80
+#: order/templates/order/purchase_order_detail.html:108
+#: order/templates/order/sales_order_detail.html:72
+#: order/templates/order/sales_order_detail.html:99
+#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115
+#: stock/templates/stock/item.html:205
msgid "Edit Notes"
msgstr ""
-#: build/templates/build/detail.html:373
-#: order/templates/order/po_attachments.html:79
-#: order/templates/order/purchase_order_detail.html:166
-#: order/templates/order/sales_order_detail.html:146
-#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253
-#: templates/attachment_table.html:6
+#: build/templates/build/detail.html:448
+#: order/templates/order/purchase_order_detail.html:170
+#: order/templates/order/sales_order_detail.html:160
+#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270
+#: templates/attachment_button.html:4
msgid "Add Attachment"
msgstr ""
-#: build/templates/build/detail.html:392
-#: order/templates/order/po_attachments.html:51
-#: order/templates/order/purchase_order_detail.html:138
-#: order/templates/order/sales_order_detail.html:119
-#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221
+#: build/templates/build/detail.html:467
+#: order/templates/order/purchase_order_detail.html:142
+#: order/templates/order/sales_order_detail.html:133
+#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238
msgid "Edit Attachment"
msgstr ""
-#: build/templates/build/detail.html:399
-#: order/templates/order/po_attachments.html:58
-#: order/templates/order/purchase_order_detail.html:145
-#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230
-#: templates/js/translated/order.js:1230
+#: build/templates/build/detail.html:474
+#: order/templates/order/purchase_order_detail.html:149
+#: order/templates/order/sales_order_detail.html:139
+#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247
+#: templates/js/translated/order.js:1243
msgid "Confirm Delete Operation"
msgstr ""
-#: build/templates/build/detail.html:400
-#: order/templates/order/po_attachments.html:59
-#: order/templates/order/purchase_order_detail.html:146
-#: order/templates/order/sales_order_detail.html:126
-#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231
+#: build/templates/build/detail.html:475
+#: order/templates/order/purchase_order_detail.html:150
+#: order/templates/order/sales_order_detail.html:140
+#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248
msgid "Delete Attachment"
msgstr ""
-#: build/templates/build/detail.html:443
+#: build/templates/build/detail.html:513
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:444
+#: build/templates/build/detail.html:514
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/edit_build_item.html:7
-msgid "Alter the quantity of stock allocated to the build output"
-msgstr ""
-
-#: build/templates/build/index.html:28
+#: build/templates/build/index.html:18 part/templates/part/detail.html:433
msgid "New Build Order"
msgstr ""
@@ -1396,47 +1344,18 @@ msgstr ""
msgid "Print Build Orders"
msgstr ""
-#: build/templates/build/index.html:43
-#: order/templates/order/purchase_orders.html:27
-#: order/templates/order/sales_orders.html:27
+#: build/templates/build/index.html:44
+#: order/templates/order/purchase_orders.html:34
+#: order/templates/order/sales_orders.html:37
msgid "Display calendar view"
msgstr ""
-#: build/templates/build/index.html:46
-#: order/templates/order/purchase_orders.html:30
-#: order/templates/order/sales_orders.html:30
+#: build/templates/build/index.html:47
+#: order/templates/order/purchase_orders.html:37
+#: order/templates/order/sales_orders.html:40
msgid "Display list view"
msgstr ""
-#: build/templates/build/navbar.html:12
-msgid "Build Order Details"
-msgstr ""
-
-#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/translated/stock.js:1534
-msgid "Details"
-msgstr ""
-
-#: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31
-msgid "Build Outputs"
-msgstr ""
-
-#: build/templates/build/navbar.html:38
-msgid "Child Builds"
-msgstr ""
-
-#: build/templates/build/navbar.html:49
-msgid "Build Order Notes"
-msgstr ""
-
-#: build/templates/build/unallocate.html:10
-msgid "Are you sure you wish to unallocate all stock for this build?"
-msgstr ""
-
-#: build/templates/build/unallocate.html:12
-msgid "All incomplete stock allocations will be removed from the build"
-msgstr ""
-
#: build/views.py:76
msgid "Build was cancelled"
msgstr ""
@@ -1449,7 +1368,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:122 stock/views.py:1366
+#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290
msgid "Serial numbers already exist"
msgstr ""
@@ -1461,11 +1380,11 @@ msgstr ""
msgid "Delete Build Output"
msgstr ""
-#: build/views.py:218 build/views.py:308
+#: build/views.py:218
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:219 build/views.py:309 stock/views.py:381
+#: build/views.py:219 stock/views.py:385
msgid "Check the confirmation box"
msgstr ""
@@ -1473,7 +1392,7 @@ msgstr ""
msgid "Build output does not match build"
msgstr ""
-#: build/views.py:233 build/views.py:434
+#: build/views.py:233
msgid "Build output must be specified"
msgstr ""
@@ -1481,39 +1400,19 @@ msgstr ""
msgid "Build output deleted"
msgstr ""
-#: build/views.py:343
+#: build/views.py:261
msgid "Complete Build Order"
msgstr ""
-#: build/views.py:349
+#: build/views.py:267
msgid "Build order cannot be completed - incomplete outputs remain"
msgstr ""
-#: build/views.py:360
+#: build/views.py:278
msgid "Completed build order"
msgstr ""
-#: build/views.py:376
-msgid "Complete Build Output"
-msgstr ""
-
-#: build/views.py:418
-msgid "Invalid stock status value selected"
-msgstr ""
-
-#: build/views.py:425
-msgid "Quantity to complete cannot exceed build output quantity"
-msgstr ""
-
-#: build/views.py:431
-msgid "Confirm completion of incomplete build"
-msgstr ""
-
-#: build/views.py:530
-msgid "Build output completed"
-msgstr ""
-
-#: build/views.py:567
+#: build/views.py:319
msgid "Delete Build Order"
msgstr ""
@@ -1554,728 +1453,728 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:308 common/models.py:887 common/models.py:1048
+#: common/models.py:340 common/models.py:970 common/models.py:1178
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:310
+#: common/models.py:342
msgid "Settings value"
msgstr ""
-#: common/models.py:345
+#: common/models.py:377
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:368
+#: common/models.py:382
+msgid "Chosen value is not a valid option"
+msgstr ""
+
+#: common/models.py:405
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:379
+#: common/models.py:416
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:402
+#: common/models.py:439
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:509
+#: common/models.py:559
+msgid "No group"
+msgstr ""
+
+#: common/models.py:601
+msgid "Restart required"
+msgstr ""
+
+#: common/models.py:602
+msgid "A setting has been changed which requires a server restart"
+msgstr ""
+
+#: common/models.py:609
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:511
+#: common/models.py:611
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:515
+#: common/models.py:615
msgid "Use instance name"
msgstr ""
-#: common/models.py:516
+#: common/models.py:616
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:522 company/models.py:100 company/models.py:101
+#: common/models.py:622 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr ""
-#: common/models.py:523
+#: common/models.py:623
msgid "Internal company name"
msgstr ""
-#: common/models.py:528
+#: common/models.py:628
msgid "Base URL"
msgstr ""
-#: common/models.py:529
+#: common/models.py:629
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:535
+#: common/models.py:635
msgid "Default Currency"
msgstr ""
-#: common/models.py:536
+#: common/models.py:636
msgid "Default currency"
msgstr ""
-#: common/models.py:542
+#: common/models.py:642
msgid "Download from URL"
msgstr ""
-#: common/models.py:543
+#: common/models.py:643
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:549
+#: common/models.py:649
msgid "Barcode Support"
msgstr ""
-#: common/models.py:550
+#: common/models.py:650
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:556
+#: common/models.py:656
msgid "IPN Regex"
msgstr ""
-#: common/models.py:557
+#: common/models.py:657
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:561
+#: common/models.py:661
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:562
+#: common/models.py:662
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:568
+#: common/models.py:668
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:569
+#: common/models.py:669
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:575
+#: common/models.py:675
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:576
+#: common/models.py:676
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:582
+#: common/models.py:682
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:583
+#: common/models.py:683
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:589
+#: common/models.py:689
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:590
+#: common/models.py:690
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:596
+#: common/models.py:696
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:597
+#: common/models.py:697
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:603 part/models.py:2256 report/models.py:187
-#: stock/forms.py:224 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:351
+#: common/models.py:703 part/models.py:2429 report/models.py:187
+#: templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:367
msgid "Template"
msgstr ""
-#: common/models.py:604
+#: common/models.py:704
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:610 part/models.py:806
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:363
+#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954
+#: templates/js/translated/table_filters.js:162
+#: templates/js/translated/table_filters.js:379
msgid "Assembly"
msgstr ""
-#: common/models.py:611
+#: common/models.py:711
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:617 part/models.py:812
-#: templates/js/translated/table_filters.js:367
+#: common/models.py:717 part/models.py:894
+#: templates/js/translated/table_filters.js:383
msgid "Component"
msgstr ""
-#: common/models.py:618
+#: common/models.py:718
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:624 part/models.py:823
+#: common/models.py:724 part/models.py:905
msgid "Purchaseable"
msgstr ""
-#: common/models.py:625
+#: common/models.py:725
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:631 part/models.py:828
-#: templates/js/translated/table_filters.js:375
+#: common/models.py:731 part/models.py:910
+#: templates/js/translated/table_filters.js:391
msgid "Salable"
msgstr ""
-#: common/models.py:632
+#: common/models.py:732
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:638 part/models.py:818
+#: common/models.py:738 part/models.py:900
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:379
+#: templates/js/translated/table_filters.js:94
+#: templates/js/translated/table_filters.js:395
msgid "Trackable"
msgstr ""
-#: common/models.py:639
+#: common/models.py:739
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:645 part/models.py:838
-#: part/templates/part/part_base.html:66
+#: common/models.py:745 part/models.py:920
+#: part/templates/part/part_base.html:144
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:646
+#: common/models.py:746
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:652
+#: common/models.py:752
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:653
+#: common/models.py:753
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:659
+#: common/models.py:759
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:660
+#: common/models.py:760
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:671
+#: common/models.py:771
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:672
+#: common/models.py:772
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:678
+#: common/models.py:778
msgid "Show related parts"
msgstr ""
-#: common/models.py:679
+#: common/models.py:779
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:685
+#: common/models.py:785
msgid "Create initial stock"
msgstr ""
-#: common/models.py:686
+#: common/models.py:786
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:692
+#: common/models.py:792
msgid "Internal Prices"
msgstr ""
-#: common/models.py:693
+#: common/models.py:793
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:699
+#: common/models.py:799
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:700
+#: common/models.py:800
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:706 templates/stats.html:25
+#: common/models.py:806
+msgid "Part Name Display Format"
+msgstr ""
+
+#: common/models.py:807
+msgid "Format to display the part name"
+msgstr ""
+
+#: common/models.py:814
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:815
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:821 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:707
+#: common/models.py:822
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:713
+#: common/models.py:828
msgid "Page Size"
msgstr ""
-#: common/models.py:714
+#: common/models.py:829
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:724
+#: common/models.py:839
msgid "Test Reports"
msgstr ""
-#: common/models.py:725
+#: common/models.py:840
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:731
+#: common/models.py:846
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:732
+#: common/models.py:847
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:738
+#: common/models.py:853
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:739
+#: common/models.py:854
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:745
+#: common/models.py:860
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:746
+#: common/models.py:861
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:748
+#: common/models.py:863
msgid "days"
msgstr ""
-#: common/models.py:753
+#: common/models.py:868
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:754
+#: common/models.py:869
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:760
+#: common/models.py:875
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:761
+#: common/models.py:876
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:767
+#: common/models.py:882
msgid "Group by Part"
msgstr ""
-#: common/models.py:768
+#: common/models.py:883
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:774
+#: common/models.py:889
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:775
+#: common/models.py:890
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:780
+#: common/models.py:895
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:781
+#: common/models.py:896
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:785
+#: common/models.py:900
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:786
+#: common/models.py:901
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:791
+#: common/models.py:906
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:792
+#: common/models.py:907
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:798
-msgid "Enable build"
-msgstr ""
-
-#: common/models.py:799
-msgid "Enable build functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:804
-msgid "Enable buy"
-msgstr ""
-
-#: common/models.py:805
-msgid "Enable buy functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:810
-msgid "Enable sell"
-msgstr ""
-
-#: common/models.py:811
-msgid "Enable sell functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:816
-msgid "Enable stock"
-msgstr ""
-
-#: common/models.py:817
-msgid "Enable stock functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:822
-msgid "Enable SO"
-msgstr ""
-
-#: common/models.py:823
-msgid "Enable SO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:828
-msgid "Enable PO"
-msgstr ""
-
-#: common/models.py:829
-msgid "Enable PO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:836
+#: common/models.py:913
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:837
-msgid "Enable password forgot function on the login-pages"
+#: common/models.py:914
+msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:842
+#: common/models.py:919
msgid "Enable registration"
msgstr ""
-#: common/models.py:843
-msgid "Enable self-registration for users on the login-pages"
+#: common/models.py:920
+msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:848
+#: common/models.py:925
msgid "Enable SSO"
msgstr ""
-#: common/models.py:849
-msgid "Enable SSO on the login-pages"
+#: common/models.py:926
+msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:854
-msgid "E-Mail required"
+#: common/models.py:931
+msgid "Email required"
msgstr ""
-#: common/models.py:855
+#: common/models.py:932
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:860
+#: common/models.py:937
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:861
+#: common/models.py:938
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:943
msgid "Mail twice"
msgstr ""
-#: common/models.py:867
+#: common/models.py:944
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:872
+#: common/models.py:949
msgid "Password twice"
msgstr ""
-#: common/models.py:873
+#: common/models.py:950
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:898
-msgid "Show starred parts"
+#: common/models.py:955
+msgid "Group on signup"
msgstr ""
-#: common/models.py:899
-msgid "Show starred parts on the homepage"
+#: common/models.py:956
+msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:904
-msgid "Show latest parts"
-msgstr ""
-
-#: common/models.py:905
-msgid "Show latest parts on the homepage"
-msgstr ""
-
-#: common/models.py:910
-msgid "Recent Part Count"
-msgstr ""
-
-#: common/models.py:911
-msgid "Number of recent parts to display on index page"
-msgstr ""
-
-#: common/models.py:917
-msgid "Show unvalidated BOMs"
-msgstr ""
-
-#: common/models.py:918
-msgid "Show BOMs that await validation on the homepage"
-msgstr ""
-
-#: common/models.py:923
-msgid "Show recent stock changes"
-msgstr ""
-
-#: common/models.py:924
-msgid "Show recently changed stock items on the homepage"
-msgstr ""
-
-#: common/models.py:929
-msgid "Recent Stock Count"
-msgstr ""
-
-#: common/models.py:930
-msgid "Number of recent stock items to display on index page"
-msgstr ""
-
-#: common/models.py:935
-msgid "Show low stock"
-msgstr ""
-
-#: common/models.py:936
-msgid "Show low stock items on the homepage"
-msgstr ""
-
-#: common/models.py:941
-msgid "Show depleted stock"
-msgstr ""
-
-#: common/models.py:942
-msgid "Show depleted stock items on the homepage"
-msgstr ""
-
-#: common/models.py:947
-msgid "Show needed stock"
-msgstr ""
-
-#: common/models.py:948
-msgid "Show stock items needed for builds on the homepage"
-msgstr ""
-
-#: common/models.py:953
-msgid "Show expired stock"
-msgstr ""
-
-#: common/models.py:954
-msgid "Show expired stock items on the homepage"
-msgstr ""
-
-#: common/models.py:959
-msgid "Show stale stock"
-msgstr ""
-
-#: common/models.py:960
-msgid "Show stale stock items on the homepage"
-msgstr ""
-
-#: common/models.py:965
-msgid "Show pending builds"
-msgstr ""
-
-#: common/models.py:966
-msgid "Show pending builds on the homepage"
-msgstr ""
-
-#: common/models.py:971
-msgid "Show overdue builds"
-msgstr ""
-
-#: common/models.py:972
-msgid "Show overdue builds on the homepage"
-msgstr ""
-
-#: common/models.py:977
-msgid "Show outstanding POs"
-msgstr ""
-
-#: common/models.py:978
-msgid "Show outstanding POs on the homepage"
-msgstr ""
-
-#: common/models.py:983
-msgid "Show overdue POs"
-msgstr ""
-
-#: common/models.py:984
-msgid "Show overdue POs on the homepage"
-msgstr ""
-
-#: common/models.py:989
-msgid "Show outstanding SOs"
-msgstr ""
-
-#: common/models.py:990
-msgid "Show outstanding SOs on the homepage"
-msgstr ""
-
-#: common/models.py:995
-msgid "Show overdue SOs"
-msgstr ""
-
-#: common/models.py:996
-msgid "Show overdue SOs on the homepage"
+#: common/models.py:1001
+msgid "Show subscribed parts"
msgstr ""
#: common/models.py:1002
+msgid "Show subscribed parts on the homepage"
+msgstr ""
+
+#: common/models.py:1007
+msgid "Show subscribed categories"
+msgstr ""
+
+#: common/models.py:1008
+msgid "Show subscribed part categories on the homepage"
+msgstr ""
+
+#: common/models.py:1013
+msgid "Show latest parts"
+msgstr ""
+
+#: common/models.py:1014
+msgid "Show latest parts on the homepage"
+msgstr ""
+
+#: common/models.py:1019
+msgid "Recent Part Count"
+msgstr ""
+
+#: common/models.py:1020
+msgid "Number of recent parts to display on index page"
+msgstr ""
+
+#: common/models.py:1026
+msgid "Show unvalidated BOMs"
+msgstr ""
+
+#: common/models.py:1027
+msgid "Show BOMs that await validation on the homepage"
+msgstr ""
+
+#: common/models.py:1032
+msgid "Show recent stock changes"
+msgstr ""
+
+#: common/models.py:1033
+msgid "Show recently changed stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1038
+msgid "Recent Stock Count"
+msgstr ""
+
+#: common/models.py:1039
+msgid "Number of recent stock items to display on index page"
+msgstr ""
+
+#: common/models.py:1044
+msgid "Show low stock"
+msgstr ""
+
+#: common/models.py:1045
+msgid "Show low stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1050
+msgid "Show depleted stock"
+msgstr ""
+
+#: common/models.py:1051
+msgid "Show depleted stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1056
+msgid "Show needed stock"
+msgstr ""
+
+#: common/models.py:1057
+msgid "Show stock items needed for builds on the homepage"
+msgstr ""
+
+#: common/models.py:1062
+msgid "Show expired stock"
+msgstr ""
+
+#: common/models.py:1063
+msgid "Show expired stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1068
+msgid "Show stale stock"
+msgstr ""
+
+#: common/models.py:1069
+msgid "Show stale stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1074
+msgid "Show pending builds"
+msgstr ""
+
+#: common/models.py:1075
+msgid "Show pending builds on the homepage"
+msgstr ""
+
+#: common/models.py:1080
+msgid "Show overdue builds"
+msgstr ""
+
+#: common/models.py:1081
+msgid "Show overdue builds on the homepage"
+msgstr ""
+
+#: common/models.py:1086
+msgid "Show outstanding POs"
+msgstr ""
+
+#: common/models.py:1087
+msgid "Show outstanding POs on the homepage"
+msgstr ""
+
+#: common/models.py:1092
+msgid "Show overdue POs"
+msgstr ""
+
+#: common/models.py:1093
+msgid "Show overdue POs on the homepage"
+msgstr ""
+
+#: common/models.py:1098
+msgid "Show outstanding SOs"
+msgstr ""
+
+#: common/models.py:1099
+msgid "Show outstanding SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1104
+msgid "Show overdue SOs"
+msgstr ""
+
+#: common/models.py:1105
+msgid "Show overdue SOs on the homepage"
+msgstr ""
+
+#: common/models.py:1111
msgid "Inline label display"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1112
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1118
msgid "Inline report display"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1119
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1016
+#: common/models.py:1125
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1017
+#: common/models.py:1126
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:1023
+#: common/models.py:1132
+msgid "Search Show Stock"
+msgstr ""
+
+#: common/models.py:1133
+msgid "Display stock levels in search preview window"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Hide Inactive Parts"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Hide inactive parts in search preview window"
+msgstr ""
+
+#: common/models.py:1146
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1024
+#: common/models.py:1147
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1030
+#: common/models.py:1153
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1154
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1088 company/forms.py:43
+#: common/models.py:1160
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1161
+msgid "InvenTree navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1226 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1095 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1369
+#: common/models.py:1233 company/serializers.py:264
+#: company/templates/company/supplier_part.html:256
+#: templates/js/translated/part.js:1508
msgid "Price"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1234
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1189
-msgid "Default"
-msgstr ""
-
-#: common/templates/common/edit_setting.html:11
-msgid "Current value"
-msgstr ""
-
-#: common/views.py:33
-msgid "Change Setting"
-msgstr ""
-
-#: common/views.py:119
-msgid "Supplied value is not allowed"
-msgstr ""
-
-#: common/views.py:128
-msgid "Supplied value must be a boolean"
-msgstr ""
-
-#: common/views.py:138
-msgid "Change User Setting"
-msgstr ""
-
-#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42
-#: order/templates/order/po_navbar.html:19
-#: order/templates/order/po_navbar.html:22
-#: order/templates/order/purchase_order_detail.html:27 order/views.py:289
-#: part/templates/part/bom_upload/upload_file.html:65
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
-#: part/views.py:882
+#: common/views.py:93 order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:289
+#: part/templates/part/bom_upload/upload_file.html:51
+#: part/templates/part/import_wizard/part_upload.html:46 part/views.py:281
+#: part/views.py:923
msgid "Upload File"
msgstr ""
-#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
+#: common/views.py:94 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
-#: part/views.py:883
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:282
+#: part/views.py:924
msgid "Match Fields"
msgstr ""
-#: common/views.py:215
+#: common/views.py:95
msgid "Match Items"
msgstr ""
-#: common/views.py:560
+#: common/views.py:440
msgid "Fields matching failed"
msgstr ""
-#: common/views.py:615
+#: common/views.py:495
msgid "Parts imported"
msgstr ""
-#: common/views.py:637 order/templates/order/order_wizard/match_fields.html:27
+#: common/views.py:517 order/templates/order/order_wizard/match_fields.html:27
#: order/templates/order/order_wizard/match_parts.html:19
-#: order/templates/order/order_wizard/po_upload.html:40
+#: order/templates/order/order_wizard/po_upload.html:46
#: part/templates/part/bom_upload/match_fields.html:27
#: part/templates/part/bom_upload/match_parts.html:19
-#: part/templates/part/bom_upload/upload_file.html:63
+#: part/templates/part/bom_upload/upload_file.html:49
#: part/templates/part/import_wizard/match_fields.html:27
#: part/templates/part/import_wizard/match_references.html:19
-#: part/templates/part/import_wizard/part_upload.html:43
+#: part/templates/part/import_wizard/part_upload.html:44
msgid "Previous Step"
msgstr ""
@@ -2321,6 +2220,7 @@ msgid "Contact phone number"
msgstr ""
#: company/models.py:125 company/templates/company/company_base.html:102
+#: templates/InvenTree/settings/user.html:46
msgid "Email"
msgstr ""
@@ -2337,10 +2237,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:131 company/models.py:348 company/models.py:564
-#: order/models.py:160 part/models.py:715
+#: order/models.py:163 part/models.py:797
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:536
-#: templates/js/translated/company.js:825 templates/js/translated/part.js:983
+#: templates/js/translated/company.js:825 templates/js/translated/part.js:984
msgid "Link"
msgstr ""
@@ -2348,7 +2248,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:725
+#: company/models.py:139 part/models.py:807
msgid "Image"
msgstr ""
@@ -2376,8 +2276,8 @@ msgstr ""
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:152 company/serializers.py:264
-#: company/templates/company/company_base.html:76 stock/serializers.py:158
+#: company/models.py:152 company/serializers.py:270
+#: company/templates/company/company_base.html:76 stock/serializers.py:172
msgid "Currency"
msgstr ""
@@ -2385,8 +2285,8 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:454
-#: stock/templates/stock/item_base.html:237
+#: company/models.py:320 company/models.py:535 stock/models.py:484
+#: stock/templates/stock/item_base.html:224
msgid "Base Part"
msgstr ""
@@ -2395,28 +2295,28 @@ msgid "Select part"
msgstr ""
#: company/models.py:335 company/templates/company/company_base.html:116
-#: company/templates/company/manufacturer_part.html:89
-#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:247 stock/templates/stock/item_base.html:366
+#: company/templates/company/manufacturer_part.html:93
+#: company/templates/company/supplier_part.html:104
+#: stock/templates/stock/item_base.html:353
#: templates/js/translated/company.js:332
#: templates/js/translated/company.js:513
-#: templates/js/translated/company.js:796 templates/js/translated/part.js:227
+#: templates/js/translated/company.js:796 templates/js/translated/part.js:228
msgid "Manufacturer"
msgstr ""
-#: company/models.py:336 templates/js/translated/part.js:228
+#: company/models.py:336 templates/js/translated/part.js:229
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:342 company/templates/company/manufacturer_part.html:93
-#: company/templates/company/supplier_part.html:106 part/bom.py:171
-#: part/bom.py:248 templates/js/translated/company.js:529
-#: templates/js/translated/company.js:814 templates/js/translated/order.js:851
-#: templates/js/translated/part.js:238
+#: company/models.py:342 company/templates/company/manufacturer_part.html:97
+#: company/templates/company/supplier_part.html:112
+#: templates/js/translated/company.js:529
+#: templates/js/translated/company.js:814 templates/js/translated/order.js:852
+#: templates/js/translated/part.js:239
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:239
+#: company/models.py:343 templates/js/translated/part.js:240
msgid "Manufacturer Part Number"
msgstr ""
@@ -2431,7 +2331,7 @@ msgstr ""
#: company/models.py:409 company/models.py:558
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:376
+#: stock/templates/stock/item_base.html:363
msgid "Manufacturer Part"
msgstr ""
@@ -2440,10 +2340,9 @@ msgid "Parameter name"
msgstr ""
#: company/models.py:422
-#: report/templates/report/inventree_test_report_base.html:90
-#: stock/models.py:1816 templates/InvenTree/settings/header.html:8
-#: templates/js/translated/company.js:643 templates/js/translated/part.js:623
-#: templates/js/translated/stock.js:555
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:1867 templates/js/translated/company.js:643
+#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848
msgid "Value"
msgstr ""
@@ -2451,8 +2350,9 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:800 part/models.py:2224
-#: templates/js/translated/company.js:649 templates/js/translated/part.js:629
+#: company/models.py:429 part/models.py:882 part/models.py:2397
+#: part/templates/part/detail.html:59 templates/js/translated/company.js:649
+#: templates/js/translated/part.js:650
msgid "Units"
msgstr ""
@@ -2465,27 +2365,27 @@ msgid "Linked manufacturer part must reference the same base part"
msgstr ""
#: company/models.py:545 company/templates/company/company_base.html:121
-#: company/templates/company/supplier_part.html:88 order/models.py:260
-#: order/templates/order/order_base.html:92
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:292 stock/templates/stock/item_base.html:383
+#: company/templates/company/supplier_part.html:94 order/models.py:263
+#: order/templates/order/order_base.html:108
+#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219
+#: part/bom.py:247 stock/templates/stock/item_base.html:370
#: templates/js/translated/company.js:336
-#: templates/js/translated/company.js:770 templates/js/translated/order.js:659
-#: templates/js/translated/part.js:208
+#: templates/js/translated/company.js:770 templates/js/translated/order.js:660
+#: templates/js/translated/part.js:209
msgid "Supplier"
msgstr ""
-#: company/models.py:546 templates/js/translated/part.js:209
+#: company/models.py:546 templates/js/translated/part.js:210
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:92
-#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838
-#: templates/js/translated/part.js:219
+#: company/models.py:551 company/templates/company/supplier_part.html:98
+#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:839
+#: templates/js/translated/part.js:220
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:220
+#: company/models.py:552 templates/js/translated/part.js:221
msgid "Supplier stock keeping unit"
msgstr ""
@@ -2501,23 +2401,23 @@ msgstr ""
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:120
-#: part/models.py:2389 report/templates/report/inventree_po_report.html:93
+#: company/models.py:576 company/templates/company/supplier_part.html:126
+#: part/models.py:2588 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:113
-#: stock/models.py:478 stock/templates/stock/item_base.html:324
-#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036
+#: company/models.py:582 company/templates/company/supplier_part.html:119
+#: stock/models.py:507 stock/templates/stock/item_base.html:311
+#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336
msgid "Packaging"
msgstr ""
@@ -2525,7 +2425,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1605
+#: company/models.py:584 part/models.py:1750
msgid "multiple"
msgstr ""
@@ -2533,46 +2433,42 @@ msgstr ""
msgid "Order multiple"
msgstr ""
-#: company/serializers.py:68
+#: company/serializers.py:70
msgid "Default currency used for this supplier"
msgstr ""
-#: company/serializers.py:69
+#: company/serializers.py:71
msgid "Currency Code"
msgstr ""
-#: company/templates/company/company_base.html:9
-#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321
+#: company/templates/company/company_base.html:8
+#: company/templates/company/company_base.html:12
+#: templates/InvenTree/search.html:182 templates/js/translated/company.js:321
msgid "Company"
msgstr ""
-#: company/templates/company/company_base.html:25
-#: part/templates/part/part_thumb.html:21
-msgid "Upload new image"
-msgstr ""
-
-#: company/templates/company/company_base.html:27
-#: part/templates/part/part_thumb.html:23
-msgid "Download image from URL"
-msgstr ""
-
-#: company/templates/company/company_base.html:46
-#: templates/js/translated/order.js:120
+#: company/templates/company/company_base.html:22
+#: templates/js/translated/order.js:121
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:51
+#: company/templates/company/company_base.html:27
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:56
-#: company/templates/company/company_base.html:153
+#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:148
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:64
-msgid "Company Details"
+#: company/templates/company/company_base.html:48
+#: part/templates/part/part_thumb.html:12
+msgid "Upload new image"
+msgstr ""
+
+#: company/templates/company/company_base.html:51
+#: part/templates/part/part_thumb.html:14
+msgid "Download image from URL"
msgstr ""
#: company/templates/company/company_base.html:81
@@ -2583,145 +2479,133 @@ msgstr ""
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:126 order/models.py:558
-#: order/templates/order/sales_order_base.html:99 stock/models.py:496
-#: stock/models.py:497 stock/templates/stock/item_base.html:276
-#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038
-#: templates/js/translated/stock.js:1587
+#: company/templates/company/company_base.html:126 order/models.py:567
+#: order/templates/order/sales_order_base.html:114 stock/models.py:525
+#: stock/models.py:526 stock/templates/stock/item_base.html:263
+#: templates/js/translated/company.js:328 templates/js/translated/order.js:1051
+#: templates/js/translated/stock.js:1972
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:199
-#: part/templates/part/part_base.html:424
+#: company/templates/company/company_base.html:194
+#: part/templates/part/part_base.html:342
msgid "Upload Image"
msgstr ""
-#: company/templates/company/detail.html:14
-#: company/templates/company/manufacturer_part_navbar.html:18
-#: templates/InvenTree/search.html:150
+#: company/templates/company/detail.html:15 templates/InvenTree/search.html:124
msgid "Supplier Parts"
msgstr ""
-#: company/templates/company/detail.html:22
+#: company/templates/company/detail.html:19
#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr ""
-#: company/templates/company/detail.html:23
-#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289
+#: company/templates/company/detail.html:20
+#: company/templates/company/manufacturer_part.html:112
+#: part/templates/part/detail.html:466
msgid "New Supplier Part"
msgstr ""
-#: company/templates/company/detail.html:27
-#: company/templates/company/detail.html:67
-#: company/templates/company/manufacturer_part.html:112
-#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/category.html:135 part/templates/part/detail.html:292
-#: part/templates/part/detail.html:315
+#: company/templates/company/detail.html:32
+#: company/templates/company/detail.html:79
+#: company/templates/company/manufacturer_part.html:121
+#: company/templates/company/manufacturer_part.html:150
+#: part/templates/part/category.html:160 part/templates/part/detail.html:475
+#: part/templates/part/detail.html:503
msgid "Options"
msgstr ""
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72
-#: part/templates/part/category.html:140
+#: company/templates/company/detail.html:37
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:166
msgid "Order parts"
msgstr ""
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:42
+#: company/templates/company/detail.html:89
msgid "Delete parts"
msgstr ""
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:43
+#: company/templates/company/detail.html:90
msgid "Delete Parts"
msgstr ""
-#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135
+#: company/templates/company/detail.html:62 templates/InvenTree/search.html:109
msgid "Manufacturer Parts"
msgstr ""
-#: company/templates/company/detail.html:62
+#: company/templates/company/detail.html:66
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:63 part/templates/part/detail.html:312
+#: company/templates/company/detail.html:67 part/templates/part/detail.html:493
msgid "New Manufacturer Part"
msgstr ""
-#: company/templates/company/detail.html:93
+#: company/templates/company/detail.html:107
msgid "Supplier Stock"
msgstr ""
-#: company/templates/company/detail.html:102
-#: company/templates/company/navbar.html:46
-#: company/templates/company/navbar.html:49
+#: company/templates/company/detail.html:117
+#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
-#: order/templates/order/purchase_orders.html:13
-#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82
-#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260
-#: templates/InvenTree/search.html:229
-#: templates/InvenTree/settings/navbar.html:119
-#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44
+#: order/templates/order/purchase_orders.html:12
+#: part/templates/part/detail.html:171 templates/InvenTree/index.html:252
+#: templates/InvenTree/search.html:203 templates/navbar.html:45
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
-#: company/templates/company/detail.html:108
-#: order/templates/order/purchase_orders.html:20
+#: company/templates/company/detail.html:121
+#: order/templates/order/purchase_orders.html:17
msgid "Create new purchase order"
msgstr ""
-#: company/templates/company/detail.html:109
-#: order/templates/order/purchase_orders.html:21
+#: company/templates/company/detail.html:122
+#: order/templates/order/purchase_orders.html:18
msgid "New Purchase Order"
msgstr ""
-#: company/templates/company/detail.html:124
-#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58
+#: company/templates/company/detail.html:143
+#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
-#: order/templates/order/sales_orders.html:13
-#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91
-#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291
-#: templates/InvenTree/search.html:249
-#: templates/InvenTree/settings/navbar.html:125
-#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55
+#: order/templates/order/sales_orders.html:15
+#: part/templates/part/detail.html:194 templates/InvenTree/index.html:283
+#: templates/InvenTree/search.html:223 templates/navbar.html:56
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
-#: company/templates/company/detail.html:130
+#: company/templates/company/detail.html:147
#: order/templates/order/sales_orders.html:20
msgid "Create new sales order"
msgstr ""
-#: company/templates/company/detail.html:131
+#: company/templates/company/detail.html:148
#: order/templates/order/sales_orders.html:21
msgid "New Sales Order"
msgstr ""
-#: company/templates/company/detail.html:147
-#: company/templates/company/navbar.html:61
-#: company/templates/company/navbar.html:64
-#: templates/js/translated/build.js:622
+#: company/templates/company/detail.html:168
+#: templates/js/translated/build.js:999
msgid "Assigned Stock"
msgstr ""
-#: company/templates/company/detail.html:165
+#: company/templates/company/detail.html:184
msgid "Company Notes"
msgstr ""
-#: company/templates/company/detail.html:364
-#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:357
+#: company/templates/company/detail.html:383
+#: company/templates/company/manufacturer_part.html:209
+#: part/templates/part/detail.html:546
msgid "Delete Supplier Parts?"
msgstr ""
-#: company/templates/company/detail.html:365
-#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:358
+#: company/templates/company/detail.html:384
+#: company/templates/company/manufacturer_part.html:210
+#: part/templates/part/detail.html:547
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2729,204 +2613,172 @@ msgstr ""
msgid "Supplier List"
msgstr ""
-#: company/templates/company/manufacturer_part.html:40
-#: company/templates/company/supplier_part.html:40
-#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116
+#: company/templates/company/manufacturer_part.html:14 company/views.py:55
+#: part/templates/part/prices.html:167 templates/InvenTree/search.html:184
+#: templates/navbar.html:44
+msgid "Manufacturers"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:35
+#: company/templates/company/supplier_part.html:34
+#: company/templates/company/supplier_part.html:159
+#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:40
#: templates/js/translated/company.js:561
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:49
+#: company/templates/company/manufacturer_part.html:44
#: templates/js/translated/company.js:562
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:61
-msgid "Manufacturer Part Details"
-msgstr ""
-
-#: company/templates/company/manufacturer_part.html:66
-#: company/templates/company/supplier_part.html:65
+#: company/templates/company/manufacturer_part.html:70
+#: company/templates/company/supplier_part.html:71
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/manufacturer_part_navbar.html:21
-#: company/views.py:49 part/templates/part/navbar.html:75
-#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163
-#: templates/InvenTree/search.html:220 templates/navbar.html:41
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: part/templates/part/prices.html:163 templates/InvenTree/search.html:194
+#: templates/navbar.html:43
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: part/templates/part/detail.html:294
+#: company/templates/company/manufacturer_part.html:123
+#: part/templates/part/detail.html:477
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:114
-#: company/templates/company/manufacturer_part.html:138
-#: company/templates/company/manufacturer_part.html:239
-#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/translated/company.js:424
-#: templates/js/translated/helpers.js:31 users/models.py:199
+#: company/templates/company/manufacturer_part.html:123
+#: company/templates/company/manufacturer_part.html:152
+#: company/templates/company/manufacturer_part.html:248
+#: part/templates/part/detail.html:351 part/templates/part/detail.html:477
+#: part/templates/part/detail.html:505 templates/js/translated/company.js:424
+#: templates/js/translated/helpers.js:31 users/models.py:204
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:127
-#: company/templates/company/manufacturer_part_navbar.html:11
-#: company/templates/company/manufacturer_part_navbar.html:14
-#: part/templates/part/category_navbar.html:38
-#: part/templates/part/category_navbar.html:41
-#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20
-#: part/templates/part/navbar.html:23
+#: company/templates/company/manufacturer_part.html:137
+#: part/templates/part/detail.html:277
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:133
-#: part/templates/part/detail.html:162
-#: templates/InvenTree/settings/category.html:26
-#: templates/InvenTree/settings/part.html:63
+#: company/templates/company/manufacturer_part.html:141
+#: part/templates/part/detail.html:282
+#: templates/InvenTree/settings/category.html:12
+#: templates/InvenTree/settings/part.html:65
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:138
+#: company/templates/company/manufacturer_part.html:152
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:805
+#: company/templates/company/manufacturer_part.html:185
+#: part/templates/part/detail.html:983
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:224
+#: company/templates/company/manufacturer_part.html:233
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:236
+#: company/templates/company/manufacturer_part.html:245
msgid "Delete Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part_navbar.html:26
-msgid "Manufacturer Part Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:29
-#: company/templates/company/navbar.html:39
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/navbar.html:38 stock/api.py:52
-#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182
-#: templates/InvenTree/settings/navbar.html:107
-#: templates/InvenTree/settings/navbar.html:109
-#: templates/js/translated/part.js:540 templates/js/translated/part.js:769
-#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182
-#: templates/js/translated/stock.js:829 templates/navbar.html:32
-msgid "Stock"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:33
-msgid "Manufacturer Part Orders"
-msgstr ""
-
-#: company/templates/company/manufacturer_part_navbar.html:36
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr ""
-
-#: company/templates/company/navbar.html:17
-#: company/templates/company/navbar.html:20
-msgid "Manufactured Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:26
-#: company/templates/company/navbar.html:29
-msgid "Supplied Parts"
-msgstr ""
-
-#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35
-#: stock/templates/stock/location.html:119
-#: stock/templates/stock/location.html:134
-#: stock/templates/stock/location.html:148
-#: stock/templates/stock/location_navbar.html:18
-#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486
-#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
-msgid "Stock Items"
-msgstr ""
-
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:463
-#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993
+#: company/templates/company/supplier_part.html:24 stock/models.py:492
+#: stock/templates/stock/item_base.html:375
+#: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44
+#: company/templates/company/supplier_part.html:38
#: templates/js/translated/company.js:859
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48
+#: company/templates/company/supplier_part.html:42
#: templates/js/translated/company.js:860
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:60
-msgid "Supplier Part Details"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:131
+#: company/templates/company/supplier_part.html:138
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:140
+#: company/templates/company/supplier_part.html:141
+#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147
+msgid "Create new stock item"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:142
+#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148
+#: templates/js/translated/stock.js:324
+msgid "New Stock Item"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:155
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:147
-#: part/templates/part/detail.html:56
+#: company/templates/company/supplier_part.html:160
+#: part/templates/part/detail.html:175
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:158
-#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7
+#: company/templates/company/supplier_part.html:179
+#: part/templates/part/prices.html:7
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:164
-#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:271 part/views.py:1730
+#: company/templates/company/supplier_part.html:184
+#: company/templates/company/supplier_part.html:290
+#: part/templates/part/prices.html:271 part/views.py:1782
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:185
+#: company/templates/company/supplier_part.html:210
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:1792
+#: company/templates/company/supplier_part.html:224 part/views.py:1844
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:1778
+#: company/templates/company/supplier_part.html:238 part/views.py:1830
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
+#: company/templates/company/supplier_part.html:263
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:239
+#: company/templates/company/supplier_part.html:264
msgid "Delete price break"
msgstr ""
+#: company/templates/company/supplier_part_navbar.html:15
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426
+#: templates/js/translated/part.js:561 templates/js/translated/part.js:786
+#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479
+#: templates/js/translated/stock.js:1132 templates/navbar.html:26
+msgid "Stock"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:22
+msgid "Orders"
+msgstr ""
+
#: company/templates/company/supplier_part_navbar.html:26
msgid "Supplier Part Pricing"
msgstr ""
@@ -2939,17 +2791,12 @@ msgstr ""
msgid "New Supplier"
msgstr ""
-#: company/views.py:55 part/templates/part/prices.html:167
-#: templates/InvenTree/search.html:210 templates/navbar.html:42
-msgid "Manufacturers"
-msgstr ""
-
#: company/views.py:56
msgid "New Manufacturer"
msgstr ""
-#: company/views.py:61 templates/InvenTree/search.html:240
-#: templates/navbar.html:53
+#: company/views.py:61 templates/InvenTree/search.html:214
+#: templates/navbar.html:55
msgid "Customers"
msgstr ""
@@ -2965,24 +2812,24 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:608
+#: company/views.py:129 part/views.py:649
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:640
+#: company/views.py:158 part/views.py:681
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:647
+#: company/views.py:165 part/views.py:688
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:656
+#: company/views.py:174 part/views.py:697
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: label/api.py:57 report/api.py:201
+#: label/api.py:57 report/api.py:203
msgid "No valid objects provided to template"
msgstr ""
@@ -2994,7 +2841,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:167
+#: label/models.py:127
msgid "Label"
msgstr ""
@@ -3039,7 +2886,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
#: label/models.py:259 label/models.py:319 label/models.py:366
-#: report/models.py:322 report/models.py:457 report/models.py:495
+#: report/models.py:322 report/models.py:459 report/models.py:497
msgid "Filters"
msgstr ""
@@ -3051,240 +2898,236 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:250
-msgid "Matching purchase order does not exist"
-msgstr ""
-
-#: order/forms.py:27 order/templates/order/order_base.html:50
+#: order/forms.py:26 order/templates/order/order_base.html:52
msgid "Place order"
msgstr ""
-#: order/forms.py:38 order/templates/order/order_base.html:57
+#: order/forms.py:37 order/templates/order/order_base.html:59
msgid "Mark order as complete"
msgstr ""
-#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:64
+#: order/forms.py:48 order/forms.py:59 order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
msgid "Cancel order"
msgstr ""
-#: order/forms.py:71 order/templates/order/sales_order_base.html:61
+#: order/forms.py:70
msgid "Ship order"
msgstr ""
-#: order/forms.py:97
+#: order/forms.py:98
msgid "Enter stock item serial numbers"
msgstr ""
-#: order/forms.py:103
+#: order/forms.py:104
msgid "Enter quantity of stock items"
msgstr ""
-#: order/models.py:158
+#: order/models.py:161
msgid "Order description"
msgstr ""
-#: order/models.py:160
+#: order/models.py:163
msgid "Link to external page"
msgstr ""
-#: order/models.py:168
+#: order/models.py:171
msgid "Created By"
msgstr ""
-#: order/models.py:175
+#: order/models.py:178
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:180
+#: order/models.py:183
msgid "Order notes"
msgstr ""
-#: order/models.py:247 order/models.py:548
+#: order/models.py:250 order/models.py:557
msgid "Order reference"
msgstr ""
-#: order/models.py:252 order/models.py:563
+#: order/models.py:255 order/models.py:572
msgid "Purchase order status"
msgstr ""
-#: order/models.py:261
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/translated/order.js:668
+#: order/models.py:267 order/templates/order/order_base.html:114
+#: templates/js/translated/order.js:669
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:264
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:271
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:276
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:277
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:282
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:283
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:289
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:318
+#: order/models.py:321
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:428
+#: order/models.py:431
msgid "Quantity must be an integer"
msgstr ""
-#: order/models.py:432
+#: order/models.py:435
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:559
+#: order/models.py:568
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer Reference "
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:570
+#: order/models.py:579
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:573 templates/js/translated/order.js:1079
+#: order/models.py:582 templates/js/translated/order.js:1092
msgid "Shipment Date"
msgstr ""
-#: order/models.py:580
+#: order/models.py:589
msgid "shipped by"
msgstr ""
-#: order/models.py:624
+#: order/models.py:633
msgid "SalesOrder cannot be shipped as it is not currently pending"
msgstr ""
-#: order/models.py:721
+#: order/models.py:730
msgid "Item quantity"
msgstr ""
-#: order/models.py:727
+#: order/models.py:736
msgid "Line item reference"
msgstr ""
-#: order/models.py:729
+#: order/models.py:738
msgid "Line item notes"
msgstr ""
-#: order/models.py:759 order/models.py:847
-#: templates/js/translated/order.js:1131
+#: order/models.py:768 order/models.py:856
+#: templates/js/translated/order.js:1144
msgid "Order"
msgstr ""
-#: order/models.py:760 order/templates/order/order_base.html:9
-#: order/templates/order/order_base.html:24
+#: order/models.py:769 order/templates/order/order_base.html:9
+#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:338
-#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970
-#: templates/js/translated/stock.js:1568
+#: stock/templates/stock/item_base.html:325
+#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1270
+#: templates/js/translated/stock.js:1953
msgid "Purchase Order"
msgstr ""
-#: order/models.py:781
+#: order/models.py:790
msgid "Supplier part"
msgstr ""
-#: order/models.py:788 order/templates/order/order_base.html:131
-#: order/templates/order/sales_order_base.html:138
-#: templates/js/translated/order.js:428 templates/js/translated/order.js:919
+#: order/models.py:797 order/templates/order/order_base.html:147
+#: order/templates/order/sales_order_base.html:154
+#: templates/js/translated/order.js:429 templates/js/translated/order.js:932
msgid "Received"
msgstr ""
-#: order/models.py:789
+#: order/models.py:798
msgid "Number of items received"
msgstr ""
-#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588
-#: stock/serializers.py:150 stock/templates/stock/item_base.html:345
-#: templates/js/translated/stock.js:1024
+#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619
+#: stock/serializers.py:163 stock/templates/stock/item_base.html:332
+#: templates/js/translated/stock.js:1324
msgid "Purchase Price"
msgstr ""
-#: order/models.py:797
+#: order/models.py:806
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:805
+#: order/models.py:814
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:857 part/templates/part/part_pricing.html:112
+#: order/models.py:866 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:116 part/templates/part/prices.html:284
msgid "Sale Price"
msgstr ""
-#: order/models.py:858
+#: order/models.py:867
msgid "Unit sale price"
msgstr ""
-#: order/models.py:937 order/models.py:939
+#: order/models.py:946 order/models.py:948
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:943
+#: order/models.py:952
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:945
+#: order/models.py:954
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:948
+#: order/models.py:957
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:952
+#: order/models.py:961
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:958
+#: order/models.py:967
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:966
+#: order/models.py:975
msgid "Line"
msgstr ""
-#: order/models.py:978
+#: order/models.py:987
msgid "Item"
msgstr ""
-#: order/models.py:979
+#: order/models.py:988
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:982
+#: order/models.py:991
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3300,7 +3143,7 @@ msgstr ""
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:218 order/serializers.py:285
+#: order/serializers.py:218 order/serializers.py:286
msgid "Select destination location for received items"
msgstr ""
@@ -3312,72 +3155,70 @@ msgstr ""
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:259
+#: order/serializers.py:260
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:297
+#: order/serializers.py:298
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:314
+#: order/serializers.py:315
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:325
+#: order/serializers.py:326
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:569
+#: order/serializers.py:568
msgid "Sale price currency"
msgstr ""
#: order/templates/order/delete_attachment.html:5
#: stock/templates/stock/attachment_delete.html:5
-#: templates/attachment_delete.html:5
msgid "Are you sure you want to delete this attachment?"
msgstr ""
-#: order/templates/order/order_base.html:39
-#: order/templates/order/sales_order_base.html:50
-msgid "Print"
+#: order/templates/order/order_base.html:33
+msgid "Print purchase order report"
msgstr ""
-#: order/templates/order/order_base.html:42
-#: order/templates/order/sales_order_base.html:53
+#: order/templates/order/order_base.html:35
+#: order/templates/order/sales_order_base.html:45
msgid "Export order to file"
msgstr ""
-#: order/templates/order/order_base.html:46
-#: order/templates/order/sales_order_base.html:57
-msgid "Edit order information"
+#: order/templates/order/order_base.html:41
+#: order/templates/order/sales_order_base.html:54
+msgid "Order actions"
msgstr ""
-#: order/templates/order/order_base.html:54
+#: order/templates/order/order_base.html:45
+#: order/templates/order/sales_order_base.html:58
+msgid "Edit order"
+msgstr ""
+
+#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
-#: order/templates/order/order_base.html:72
-#: order/templates/order/po_navbar.html:12
-msgid "Purchase Order Details"
-msgstr ""
-
-#: order/templates/order/order_base.html:77
-#: order/templates/order/sales_order_base.html:84
+#: order/templates/order/order_base.html:93
+#: order/templates/order/sales_order_base.html:98
msgid "Order Reference"
msgstr ""
-#: order/templates/order/order_base.html:82
-#: order/templates/order/sales_order_base.html:89
+#: order/templates/order/order_base.html:98
+#: order/templates/order/sales_order_base.html:103
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:117
+#: order/templates/order/order_base.html:133
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:185
+#: order/templates/order/order_base.html:203
msgid "Edit Purchase Order"
msgstr ""
@@ -3453,7 +3294,8 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/build.js:869 templates/js/translated/order.js:376
+#: templates/js/translated/build.js:240 templates/js/translated/build.js:1251
+#: templates/js/translated/order.js:377
msgid "Remove row"
msgstr ""
@@ -3475,19 +3317,19 @@ msgstr ""
msgid "Select Supplier Part"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:11
+#: order/templates/order/order_wizard/po_upload.html:16
msgid "Upload File for Purchase Order"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:18
-#: part/templates/part/bom_upload/upload_file.html:34
+#: order/templates/order/order_wizard/po_upload.html:24
+#: part/templates/part/bom_upload/upload_file.html:20
#: part/templates/part/import_wizard/ajax_part_upload.html:10
-#: part/templates/part/import_wizard/part_upload.html:21
+#: part/templates/part/import_wizard/part_upload.html:22
#, python-format
msgid "Step %(step)s of %(count)s"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/order_wizard/po_upload.html:54
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
@@ -3530,7 +3372,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084
+#: templates/js/translated/order.js:695 templates/js/translated/order.js:1097
msgid "Items"
msgstr ""
@@ -3548,30 +3390,14 @@ msgstr ""
msgid "Select a purchase order for %(name)s"
msgstr ""
-#: order/templates/order/po_attachments.html:12
-#: order/templates/order/po_navbar.html:32
-#: order/templates/order/purchase_order_detail.html:56
-msgid "Purchase Order Attachments"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:26
-msgid "Received Stock Items"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:29
-#: order/templates/order/po_received_items.html:12
-#: order/templates/order/purchase_order_detail.html:47
-msgid "Received Items"
-msgstr ""
-
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:24
-#: order/templates/order/purchase_order_detail.html:212
+#: order/templates/order/purchase_order_detail.html:27
+#: order/templates/order/purchase_order_detail.html:216
#: order/templates/order/sales_order_detail.html:23
-#: order/templates/order/sales_order_detail.html:177
+#: order/templates/order/sales_order_detail.html:191
msgid "Add Line Item"
msgstr ""
@@ -3583,34 +3409,43 @@ msgstr ""
msgid "Receive Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
-#: order/templates/order/sales_order_detail.html:54
+#: order/templates/order/purchase_order_detail.html:50
+msgid "Received Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:76
+#: order/templates/order/sales_order_detail.html:68
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_orders.html:24
-#: order/templates/order/sales_orders.html:24
+#: order/templates/order/purchase_orders.html:30
+#: order/templates/order/sales_orders.html:33
msgid "Print Order Reports"
msgstr ""
-#: order/templates/order/sales_order_base.html:16
+#: order/templates/order/sales_order_base.html:43
+msgid "Print sales order report"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:47
+msgid "Print packing list"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:66
+#: order/templates/order/sales_order_base.html:67 order/views.py:222
+msgid "Ship Order"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:86
msgid "This Sales Order has not been fully allocated"
msgstr ""
-#: order/templates/order/sales_order_base.html:70
-msgid "Packing List"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:79
-msgid "Sales Order Details"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:105
-#: templates/js/translated/order.js:1051
+#: order/templates/order/sales_order_base.html:121
+#: templates/js/translated/order.js:1064
msgid "Customer Reference"
msgstr ""
-#: order/templates/order/sales_order_base.html:183
+#: order/templates/order/sales_order_base.html:194
msgid "Edit Sales Order"
msgstr ""
@@ -3625,7 +3460,7 @@ msgstr ""
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -3653,18 +3488,6 @@ msgstr ""
msgid "Allocate stock items by serial number"
msgstr ""
-#: order/templates/order/so_navbar.html:12
-msgid "Sales Order Line Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:15
-msgid "Order Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:26
-msgid "Sales Order Attachments"
-msgstr ""
-
#: order/views.py:103
msgid "Cancel Order"
msgstr ""
@@ -3705,10 +3528,6 @@ msgstr ""
msgid "Purchase order completed"
msgstr ""
-#: order/views.py:222
-msgid "Ship Order"
-msgstr ""
-
#: order/views.py:238
msgid "Confirm order shipment"
msgstr ""
@@ -3776,40 +3595,28 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7
-#: part/templates/part/category.html:108 part/templates/part/category.html:122
-#: part/templates/part/category_navbar.html:21
-#: part/templates/part/category_navbar.html:24
-#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97
-#: templates/js/translated/part.js:1165 templates/navbar.html:29
-#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
-msgid "Parts"
-msgstr ""
-
-#: part/api.py:700
+#: part/api.py:731
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:704
+#: part/api.py:735
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:719
+#: part/api.py:750
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773
+#: part/api.py:781 part/api.py:785 part/api.py:800 part/api.py:804
msgid "This field is required"
msgstr ""
-#: part/bom.py:133 part/models.py:76 part/models.py:734
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:290
+#: part/bom.py:125 part/models.py:81 part/models.py:816
+#: part/templates/part/category.html:90 part/templates/part/detail.html:104
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:156
+#: part/bom.py:126 part/templates/part/part_base.html:167
msgid "Available Stock"
msgstr ""
@@ -3869,7 +3676,7 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:96 part/models.py:2254
+#: part/forms.py:96 part/models.py:2427
msgid "Parent Part"
msgstr ""
@@ -3901,455 +3708,458 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:226
+#: part/forms.py:214
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:230
+#: part/forms.py:218
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:250
+#: part/forms.py:238
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:77
+#: part/models.py:82
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords"
msgstr ""
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:90 part/models.py:2300
+#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:91 part/templates/part/category.html:32
-#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
-#: templates/stats.html:84 users/models.py:40
+#: part/models.py:96 part/templates/part/category.html:117
+#: templates/InvenTree/search.html:101 templates/stats.html:84
+#: users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:384
+#: part/models.py:358 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:13 part/templates/part/category.html:122
+#: part/templates/part/category.html:142 templates/InvenTree/index.html:85
+#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304
+#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89
+#: users/models.py:41
+msgid "Parts"
+msgstr ""
+
+#: part/models.py:450
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:436 part/models.py:448
+#: part/models.py:502 part/models.py:514
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:545
+#: part/models.py:611
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:549
+#: part/models.py:615
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:554
+#: part/models.py:620
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:633
+#: part/models.py:715
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:658
+#: part/models.py:740
msgid "Part name"
msgstr ""
-#: part/models.py:665
+#: part/models.py:747
msgid "Is Template"
msgstr ""
-#: part/models.py:666
+#: part/models.py:748
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:676
+#: part/models.py:758
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:677
+#: part/models.py:759
msgid "Variant Of"
msgstr ""
-#: part/models.py:683
+#: part/models.py:765
msgid "Part description"
msgstr ""
-#: part/models.py:688 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:259
+#: part/models.py:770 part/templates/part/category.html:97
+#: part/templates/part/detail.html:73
msgid "Keywords"
msgstr ""
-#: part/models.py:689
+#: part/models.py:771
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:696 part/models.py:2299
-#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:169
-#: templates/js/translated/part.js:927
+#: part/models.py:778 part/models.py:2223 part/models.py:2472
+#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15
+#: templates/InvenTree/settings/settings.html:163
+#: templates/js/translated/part.js:928
msgid "Category"
msgstr ""
-#: part/models.py:697
+#: part/models.py:779
msgid "Part category"
msgstr ""
-#: part/models.py:702 part/templates/part/part_base.html:235
-#: templates/js/translated/part.js:528 templates/js/translated/part.js:760
+#: part/models.py:784 part/templates/part/detail.html:45
+#: templates/js/translated/part.js:549
msgid "IPN"
msgstr ""
-#: part/models.py:703
+#: part/models.py:785
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:709
+#: part/models.py:791
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:710 part/templates/part/part_base.html:252
-#: report/models.py:200 templates/js/translated/part.js:532
+#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200
+#: templates/js/translated/part.js:553
msgid "Revision"
msgstr ""
-#: part/models.py:732
+#: part/models.py:814
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:779 part/templates/part/part_base.html:297
+#: part/models.py:861 part/templates/part/detail.html:113
msgid "Default Supplier"
msgstr ""
-#: part/models.py:780
+#: part/models.py:862
msgid "Default supplier part"
msgstr ""
-#: part/models.py:787
+#: part/models.py:869
msgid "Default Expiry"
msgstr ""
-#: part/models.py:788
+#: part/models.py:870
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:793
+#: part/models.py:875 part/templates/part/part_base.html:178
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:794
+#: part/models.py:876
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:801
+#: part/models.py:883
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:807
+#: part/models.py:889
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:813
+#: part/models.py:895
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:819
+#: part/models.py:901
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:824
+#: part/models.py:906
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:911
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:833 templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:82
-#: templates/js/translated/table_filters.js:268
-#: templates/js/translated/table_filters.js:346
+#: part/models.py:915 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:362
msgid "Active"
msgstr ""
-#: part/models.py:834
+#: part/models.py:916
msgid "Is this part active?"
msgstr ""
-#: part/models.py:839
+#: part/models.py:921
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:844
+#: part/models.py:926
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "BOM checksum"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:850
+#: part/models.py:932
msgid "BOM checked by"
msgstr ""
-#: part/models.py:852
+#: part/models.py:934
msgid "BOM checked date"
msgstr ""
-#: part/models.py:856
+#: part/models.py:938
msgid "Creation User"
msgstr ""
-#: part/models.py:1605
+#: part/models.py:1750
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2100
+#: part/models.py:2273
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2117
+#: part/models.py:2290
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2137 templates/js/translated/part.js:1216
-#: templates/js/translated/stock.js:535
+#: part/models.py:2310 templates/js/translated/part.js:1355
+#: templates/js/translated/stock.js:828
msgid "Test Name"
msgstr ""
-#: part/models.py:2138
+#: part/models.py:2311
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2143
+#: part/models.py:2316
msgid "Test Description"
msgstr ""
-#: part/models.py:2144
+#: part/models.py:2317
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2149 templates/js/translated/part.js:1225
-#: templates/js/translated/table_filters.js:254
+#: part/models.py:2322 templates/js/translated/part.js:1364
+#: templates/js/translated/table_filters.js:270
msgid "Required"
msgstr ""
-#: part/models.py:2150
+#: part/models.py:2323
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2155 templates/js/translated/part.js:1233
+#: part/models.py:2328 templates/js/translated/part.js:1372
msgid "Requires Value"
msgstr ""
-#: part/models.py:2156
+#: part/models.py:2329
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2161 templates/js/translated/part.js:1240
+#: part/models.py:2334 templates/js/translated/part.js:1379
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2162
+#: part/models.py:2335
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2173
+#: part/models.py:2346
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2209
+#: part/models.py:2382
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2217
+#: part/models.py:2390
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2224
+#: part/models.py:2397
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2256 part/models.py:2305 part/models.py:2306
-#: templates/InvenTree/settings/settings.html:164
+#: part/models.py:2429 part/models.py:2478 part/models.py:2479
+#: templates/InvenTree/settings/settings.html:158
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Data"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2310 templates/InvenTree/settings/settings.html:173
+#: part/models.py:2483 templates/InvenTree/settings/settings.html:167
msgid "Default Value"
msgstr ""
-#: part/models.py:2311
+#: part/models.py:2484
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2561
msgid "Select parent part"
msgstr ""
-#: part/models.py:2370
+#: part/models.py:2569
msgid "Sub part"
msgstr ""
-#: part/models.py:2371
+#: part/models.py:2570
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2377
+#: part/models.py:2576
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2379 templates/js/translated/bom.js:275
-#: templates/js/translated/bom.js:335
+#: part/models.py:2578 templates/js/translated/bom.js:452
+#: templates/js/translated/bom.js:526
+#: templates/js/translated/table_filters.js:86
msgid "Optional"
msgstr ""
-#: part/models.py:2379
+#: part/models.py:2578
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2382
+#: part/models.py:2581
msgid "Overage"
msgstr ""
-#: part/models.py:2383
+#: part/models.py:2582
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2585
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2588
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "Checksum"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2395 templates/js/translated/bom.js:352
-#: templates/js/translated/bom.js:359
+#: part/models.py:2594 templates/js/translated/bom.js:543
+#: templates/js/translated/bom.js:550
#: templates/js/translated/table_filters.js:68
+#: templates/js/translated/table_filters.js:82
msgid "Inherited"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2595
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2401 templates/js/translated/bom.js:344
+#: part/models.py:2600 templates/js/translated/bom.js:535
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2402
+#: part/models.py:2601
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2487 stock/models.py:341
+#: part/models.py:2686 stock/models.py:371
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2496 part/models.py:2498
+#: part/models.py:2695 part/models.py:2697
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2620
+#: part/models.py:2826
+msgid "BOM Item Substitute"
+msgstr ""
+
+#: part/models.py:2848
+msgid "Substitute part cannot be the same as the master part"
+msgstr ""
+
+#: part/models.py:2860
+msgid "Parent BOM item"
+msgstr ""
+
+#: part/models.py:2868
+msgid "Substitute part"
+msgstr ""
+
+#: part/models.py:2879
msgid "Part 1"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Part 2"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2656
+#: part/models.py:2915
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
+#: part/tasks.py:53
+msgid "Low stock notification"
+msgstr ""
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
-#: part/templates/part/bom.html:14
+#: part/templates/part/bom.html:15
#, python-format
msgid "The BOM for %(part)s has changed, and must be validated.
"
msgstr ""
-#: part/templates/part/bom.html:16
+#: part/templates/part/bom.html:17
#, python-format
msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s"
msgstr ""
-#: part/templates/part/bom.html:20
+#: part/templates/part/bom.html:21
#, python-format
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:27
-msgid "Remove selected BOM items"
-msgstr ""
-
-#: part/templates/part/bom.html:30
-msgid "Import BOM data"
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:383
+msgid "BOM actions"
msgstr ""
#: part/templates/part/bom.html:34
-msgid "Copy BOM from parent part"
-msgstr ""
-
-#: part/templates/part/bom.html:38
-msgid "New BOM Item"
-msgstr ""
-
-#: part/templates/part/bom.html:41
-msgid "Finish Editing"
-msgstr ""
-
-#: part/templates/part/bom.html:46
-msgid "Edit BOM"
-msgstr ""
-
-#: part/templates/part/bom.html:50
-msgid "Validate Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:56 part/views.py:1220
-msgid "Export Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:59
-msgid "Print BOM Report"
+msgid "Delete Items"
msgstr ""
#: part/templates/part/bom_duplicate.html:13
@@ -4360,28 +4170,23 @@ msgstr ""
msgid "Select Part"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:13
-#: part/templates/part/bom_upload/upload_file.html:16
-msgid "Return To BOM"
-msgstr ""
-
-#: part/templates/part/bom_upload/upload_file.html:27
+#: part/templates/part/bom_upload/upload_file.html:12
msgid "Upload Bill of Materials"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:46
+#: part/templates/part/bom_upload/upload_file.html:32
msgid "Requirements for BOM upload"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "The BOM file must contain the required named columns as provided in the "
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "BOM Upload Template"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:49
+#: part/templates/part/bom_upload/upload_file.html:35
msgid "Each part must already exist in the database"
msgstr ""
@@ -4394,93 +4199,103 @@ msgstr ""
msgid "This will validate each line in the BOM."
msgstr ""
-#: part/templates/part/category.html:33
-msgid "All parts"
+#: part/templates/part/category.html:24 part/templates/part/category.html:28
+msgid "You are subscribed to notifications for this category"
+msgstr ""
+
+#: part/templates/part/category.html:32
+msgid "Subscribe to notifications for this category"
msgstr ""
#: part/templates/part/category.html:38
-msgid "Create new part category"
+msgid "Category Actions"
+msgstr ""
+
+#: part/templates/part/category.html:43
+msgid "Edit category"
msgstr ""
#: part/templates/part/category.html:44
-msgid "Edit part category"
+msgid "Edit Category"
+msgstr ""
+
+#: part/templates/part/category.html:48
+msgid "Delete category"
msgstr ""
#: part/templates/part/category.html:49
-msgid "Delete part category"
+msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:59 part/templates/part/category.html:98
-msgid "Category Details"
+#: part/templates/part/category.html:57
+msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:64
+#: part/templates/part/category.html:58
+msgid "New Category"
+msgstr ""
+
+#: part/templates/part/category.html:67
+msgid "Top level part category"
+msgstr ""
+
+#: part/templates/part/category.html:79
msgid "Category Path"
msgstr ""
-#: part/templates/part/category.html:69
+#: part/templates/part/category.html:84
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:175
-#: part/templates/part/category_navbar.html:14
-#: part/templates/part/category_navbar.html:17
+#: part/templates/part/category.html:103 part/templates/part/category.html:194
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:93
+#: part/templates/part/category.html:108
msgid "Parts (Including subcategories)"
msgstr ""
-#: part/templates/part/category.html:126
+#: part/templates/part/category.html:145
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:142
+#: part/templates/part/category.html:146 part/templates/part/category.html:170
msgid "Export"
msgstr ""
-#: part/templates/part/category.html:130
+#: part/templates/part/category.html:149
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 templates/js/translated/bom.js:39
+#: part/templates/part/category.html:150 templates/js/translated/bom.js:40
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:141
+#: part/templates/part/category.html:168
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:142
+#: part/templates/part/category.html:170
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:146
-msgid "View list display"
-msgstr ""
-
-#: part/templates/part/category.html:149
-msgid "View grid display"
-msgstr ""
-
-#: part/templates/part/category.html:165
+#: part/templates/part/category.html:184
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:254
+#: part/templates/part/category.html:261
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:281
+#: part/templates/part/category.html:288
msgid "Create Part"
msgstr ""
@@ -4519,12 +4334,7 @@ msgstr ""
msgid "If this category is deleted, these parts will be moved to the top-level category Teile"
msgstr ""
-#: part/templates/part/category_navbar.html:29
-#: part/templates/part/category_navbar.html:32
-msgid "Import Parts"
-msgstr ""
-
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365
msgid "Duplicate Part"
msgstr ""
@@ -4549,311 +4359,315 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)"
msgstr ""
#: part/templates/part/detail.html:16
+msgid "Part Details"
+msgstr ""
+
+#: part/templates/part/detail.html:66
+msgid "Minimum stock level"
+msgstr ""
+
+#: part/templates/part/detail.html:97
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/detail.html:124
msgid "Part Stock"
msgstr ""
-#: part/templates/part/detail.html:21
+#: part/templates/part/detail.html:136
#, python-format
msgid "Showing stock for all variants of %(full_name)s"
msgstr ""
-#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99
+#: part/templates/part/detail.html:146
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:36
+#: part/templates/part/detail.html:151
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:77
-msgid "New sales order"
-msgstr ""
-
-#: part/templates/part/detail.html:77
-msgid "New Order"
-msgstr ""
-
-#: part/templates/part/detail.html:90
+#: part/templates/part/detail.html:208
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27
+#: part/templates/part/detail.html:249
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:137
+#: part/templates/part/detail.html:253
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:138
+#: part/templates/part/detail.html:254
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:161
+#: part/templates/part/detail.html:281
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107
-#: part/templates/part/navbar.html:110
+#: part/templates/part/detail.html:315
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:188
+#: part/templates/part/detail.html:319 part/templates/part/detail.html:320
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43
-#: part/templates/part/navbar.html:46
+#: part/templates/part/detail.html:366
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:237
+#: part/templates/part/detail.html:371
+msgid "Export actions"
+msgstr ""
+
+#: part/templates/part/detail.html:375
+msgid "Export BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:377
+msgid "Print BOM Report"
+msgstr ""
+
+#: part/templates/part/detail.html:387
+msgid "Upload BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:389 templates/js/translated/part.js:266
+msgid "Copy BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:391 part/views.py:820
+msgid "Validate BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:396
+msgid "New BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:397
+msgid "Add BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:410
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:253
+#: part/templates/part/detail.html:427
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:260
-msgid "Start New Build"
-msgstr ""
-
-#: part/templates/part/detail.html:274
+#: part/templates/part/detail.html:452
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:283
+#: part/templates/part/detail.html:462
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:305
+#: part/templates/part/detail.html:489
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:317
+#: part/templates/part/detail.html:505
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:502
+#: part/templates/part/detail.html:686
msgid "Delete selected BOM items?"
msgstr ""
-#: part/templates/part/detail.html:503
+#: part/templates/part/detail.html:687
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:554
+#: part/templates/part/detail.html:738
msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:699
+#: part/templates/part/detail.html:876
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:755
+#: part/templates/part/detail.html:933
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:907
+#: part/templates/part/detail.html:1085
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:919
+#: part/templates/part/detail.html:1097
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:931
+#: part/templates/part/detail.html:1109
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1020
+#: part/templates/part/detail.html:1198
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
#: part/templates/part/import_wizard/ajax_part_upload.html:29
-#: part/templates/part/import_wizard/part_upload.html:51
+#: part/templates/part/import_wizard/part_upload.html:52
msgid "Unsuffitient privileges."
msgstr ""
-#: part/templates/part/import_wizard/part_upload.html:14
+#: part/templates/part/import_wizard/part_upload.html:15
msgid "Import Parts from File"
msgstr ""
-#: part/templates/part/navbar.html:30
-msgid "Variants"
-msgstr ""
-
-#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/navbar.html:70
-msgid "Prices"
-msgstr ""
-
-#: part/templates/part/navbar.html:102
-msgid "Test Templates"
-msgstr ""
-
#: part/templates/part/part_app_base.html:12
msgid "Part List"
msgstr ""
+#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31
+msgid "You are subscribed to notifications for this part"
+msgstr ""
+
#: part/templates/part/part_base.html:35
-msgid "Part is a template part (variants can be made from this part)"
+msgid "Subscribe to notifications for this part"
msgstr ""
-#: part/templates/part/part_base.html:38
-msgid "Part can be assembled from other parts"
-msgstr ""
-
-#: part/templates/part/part_base.html:41
-msgid "Part can be used in assemblies"
-msgstr ""
-
-#: part/templates/part/part_base.html:44
-msgid "Part stock is tracked by serial number"
-msgstr ""
-
-#: part/templates/part/part_base.html:47
-msgid "Part can be purchased from external suppliers"
-msgstr ""
-
-#: part/templates/part/part_base.html:50
-msgid "Part can be sold to customers"
-msgstr ""
-
-#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504
-#: templates/js/translated/company.js:761 templates/js/translated/part.js:443
-#: templates/js/translated/part.js:520
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:73
-msgid "Star this part"
-msgstr ""
-
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:75
-#: stock/templates/stock/location.html:51
+#: part/templates/part/part_base.html:43
+#: stock/templates/stock/item_base.html:28
+#: stock/templates/stock/location.html:29
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:82
-#: stock/templates/stock/item_base.html:77
-#: stock/templates/stock/location.html:53 templates/qr_button.html:1
+#: part/templates/part/part_base.html:45
+#: stock/templates/stock/item_base.html:32
+#: stock/templates/stock/location.html:31 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:83
-#: stock/templates/stock/item_base.html:93
-#: stock/templates/stock/location.html:54
+#: part/templates/part/part_base.html:46
+#: stock/templates/stock/item_base.html:48
+#: stock/templates/stock/location.html:32
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:89
+#: part/templates/part/part_base.html:51
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:95
-#: stock/templates/stock/item_base.html:142
-#: stock/templates/stock/location.html:62
+#: part/templates/part/part_base.html:56
+#: stock/templates/stock/item_base.html:103
+#: stock/templates/stock/location.html:40
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:102
+#: part/templates/part/part_base.html:63
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:108
+#: part/templates/part/part_base.html:69
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:125
+#: part/templates/part/part_base.html:84
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:128
+#: part/templates/part/part_base.html:87
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:131
+#: part/templates/part/part_base.html:90
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:134
+#: part/templates/part/part_base.html:93
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:146
+#: part/templates/part/part_base.html:109
+msgid "Part is a template part (variants can be made from this part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:113
+msgid "Part can be assembled from other parts"
+msgstr ""
+
+#: part/templates/part/part_base.html:117
+msgid "Part can be used in assemblies"
+msgstr ""
+
+#: part/templates/part/part_base.html:121
+msgid "Part stock is tracked by serial number"
+msgstr ""
+
+#: part/templates/part/part_base.html:125
+msgid "Part can be purchased from external suppliers"
+msgstr ""
+
+#: part/templates/part/part_base.html:129
+msgid "Part can be sold to customers"
+msgstr ""
+
+#: part/templates/part/part_base.html:135
+#: part/templates/part/part_base.html:143
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:136
+#: templates/js/translated/company.js:504
+#: templates/js/translated/company.js:761
+#: templates/js/translated/model_renderers.js:175
+#: templates/js/translated/part.js:464 templates/js/translated/part.js:541
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:155
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:161
-#: templates/js/translated/model_renderers.js:169
-#: templates/js/translated/order.js:1503
-#: templates/js/translated/table_filters.js:166
+#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524
+#: templates/js/translated/table_filters.js:182
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960
+#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961
msgid "On Order"
msgstr ""
-#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:181
+#: part/templates/part/part_base.html:199
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:188
+#: part/templates/part/part_base.html:206
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373
+#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776
-#: templates/js/translated/part.js:964
+#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793
+#: templates/js/translated/part.js:965
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:223
-#: part/templates/part/part_base.html:531
-#: part/templates/part/part_base.html:557
-msgid "Show Part Details"
-msgstr ""
-
-#: part/templates/part/part_base.html:283
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144
+#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:445
+#: part/templates/part/part_base.html:363
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:526
-#: part/templates/part/part_base.html:551
-msgid "Hide Part Details"
-msgstr ""
-
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4877,7 +4691,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
-#: templates/js/translated/bom.js:327
+#: templates/js/translated/bom.js:518
msgid "No supplier pricing available"
msgstr ""
@@ -4911,13 +4725,14 @@ msgstr ""
msgid "No pricing information is available for this part."
msgstr ""
-#: part/templates/part/part_thumb.html:20
+#: part/templates/part/part_thumb.html:11
msgid "Select from existing images"
msgstr ""
#: part/templates/part/partial_delete.html:9
#, python-format
-msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
+msgid ""
+"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
"
Disable the \"Active\" part attribute and re-try.\n"
" "
msgstr ""
@@ -4980,7 +4795,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321
+#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512
msgid "Supplier Cost"
msgstr ""
@@ -5002,7 +4817,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:215 part/views.py:1801
+#: part/templates/part/prices.html:215 part/views.py:1853
msgid "Add Internal Price Break"
msgstr ""
@@ -5022,13 +4837,13 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297
-#: templates/js/translated/model_renderers.js:167
-#: templates/js/translated/part.js:766 templates/js/translated/part.js:968
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474
+#: templates/js/translated/part.js:428 templates/js/translated/part.js:783
+#: templates/js/translated/part.js:969
msgid "No Stock"
msgstr ""
-#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166
+#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158
msgid "Low Stock"
msgstr ""
@@ -5041,135 +4856,140 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:106
+#: part/templatetags/inventree_extras.py:113
msgid "Unknown database"
msgstr ""
-#: part/views.py:94
+#: part/views.py:95
msgid "Add Related Part"
msgstr ""
-#: part/views.py:149
+#: part/views.py:150
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:160
+#: part/views.py:161
msgid "Set Part Category"
msgstr ""
-#: part/views.py:210
+#: part/views.py:211
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:270
+#: part/views.py:283
msgid "Match References"
msgstr ""
-#: part/views.py:526
+#: part/views.py:567
msgid "None"
msgstr ""
-#: part/views.py:585
+#: part/views.py:626
msgid "Part QR Code"
msgstr ""
-#: part/views.py:687
+#: part/views.py:728
msgid "Select Part Image"
msgstr ""
-#: part/views.py:713
+#: part/views.py:754
msgid "Updated part image"
msgstr ""
-#: part/views.py:716
+#: part/views.py:757
msgid "Part image not found"
msgstr ""
-#: part/views.py:728
+#: part/views.py:769
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:758
+#: part/views.py:799
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:779
-msgid "Validate BOM"
-msgstr ""
-
-#: part/views.py:800
+#: part/views.py:841
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:811
+#: part/views.py:852
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:884
+#: part/views.py:925
msgid "Match Parts"
msgstr ""
-#: part/views.py:1272
+#: part/views.py:1261
+msgid "Export Bill of Materials"
+msgstr ""
+
+#: part/views.py:1313
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1279
+#: part/views.py:1320
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1288
+#: part/views.py:1329
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1437
+#: part/views.py:1478
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1447
+#: part/views.py:1488
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1454
+#: part/views.py:1495
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1502 templates/js/translated/part.js:308
+#: part/views.py:1554 templates/js/translated/part.js:309
msgid "Edit Part Category"
msgstr ""
-#: part/views.py:1540
+#: part/views.py:1592
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1546
+#: part/views.py:1598
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1555
+#: part/views.py:1607
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1656
+#: part/views.py:1708
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1712
+#: part/views.py:1764
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:1734
+#: part/views.py:1786
msgid "Added new price break"
msgstr ""
-#: part/views.py:1810
+#: part/views.py:1862
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:1818
+#: part/views.py:1870
msgid "Delete Internal Price Break"
msgstr ""
+#: report/api.py:234 report/api.py:278
+#, python-brace-format
+msgid "Template file '{filename}' is missing or does not exist"
+msgstr ""
+
#: report/models.py:182
msgid "Template name"
msgstr ""
@@ -5206,51 +5026,51 @@ msgstr ""
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:380
+#: report/models.py:382
msgid "Build Filters"
msgstr ""
-#: report/models.py:381
+#: report/models.py:383
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:423
+#: report/models.py:425
msgid "Part Filters"
msgstr ""
-#: report/models.py:424
+#: report/models.py:426
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:458
+#: report/models.py:460
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:496
+#: report/models.py:498
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:546
+#: report/models.py:548
msgid "Snippet"
msgstr ""
-#: report/models.py:547
+#: report/models.py:549
msgid "Report snippet file"
msgstr ""
-#: report/models.py:551
+#: report/models.py:553
msgid "Snippet file description"
msgstr ""
-#: report/models.py:586
+#: report/models.py:588
msgid "Asset"
msgstr ""
-#: report/models.py:587
+#: report/models.py:589
msgid "Report asset file"
msgstr ""
-#: report/models.py:590
+#: report/models.py:592
msgid "Asset file description"
msgstr ""
@@ -5267,543 +5087,582 @@ msgstr ""
msgid "Stock Item Test Report"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:83
-msgid "Test Results"
+#: report/templates/report/inventree_test_report_base.html:79
+#: stock/models.py:530 stock/templates/stock/item_base.html:238
+#: templates/js/translated/build.js:233 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1013
+#: templates/js/translated/model_renderers.js:95
+#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355
+msgid "Serial Number"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:1804
+msgid "Test Results"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:93
+#: stock/models.py:1855
msgid "Test"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:89
-#: stock/models.py:1810
+#: report/templates/report/inventree_test_report_base.html:94
+#: stock/models.py:1861
msgid "Result"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502
+#: report/templates/report/inventree_test_report_base.html:97
+#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887
msgid "Date"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:103
+#: report/templates/report/inventree_test_report_base.html:108
msgid "Pass"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:105
+#: report/templates/report/inventree_test_report_base.html:110
msgid "Fail"
msgstr ""
-#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556
-#: stock/templates/stock/item_base.html:395
-#: templates/js/translated/stock.js:946
+#: report/templates/report/inventree_test_report_base.html:123
+msgid "Installed Items"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:137
+#: templates/js/translated/stock.js:2147
+msgid "Serial"
+msgstr ""
+
+#: stock/api.py:422
+msgid "Quantity is required"
+msgstr ""
+
+#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587
+#: stock/templates/stock/item_base.html:382
+#: templates/js/translated/stock.js:1246
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:308
+#: stock/forms.py:92 stock/forms.py:266
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:83
+#: stock/forms.py:95
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:134
+#: stock/forms.py:150
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:138 stock/forms.py:282
+#: stock/forms.py:154 stock/forms.py:238
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:168 stock/forms.py:224
-msgid "Select test report template"
-msgstr ""
-
-#: stock/forms.py:240
+#: stock/forms.py:194
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:270
+#: stock/forms.py:224
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:280
+#: stock/forms.py:236
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm removal of installed stock items"
msgstr ""
-#: stock/models.py:57 stock/models.py:593
+#: stock/models.py:60 stock/models.py:624
+#: stock/templates/stock/item_base.html:422
msgid "Owner"
msgstr ""
-#: stock/models.py:58 stock/models.py:594
+#: stock/models.py:61 stock/models.py:625
msgid "Select Owner"
msgstr ""
-#: stock/models.py:322
+#: stock/models.py:352
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:358
+#: stock/models.py:388
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:368 stock/models.py:377
+#: stock/models.py:398 stock/models.py:407
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:369
+#: stock/models.py:399
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:391
+#: stock/models.py:421
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:397
+#: stock/models.py:427
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:404
+#: stock/models.py:434
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:446
+#: stock/models.py:476
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:455
+#: stock/models.py:485
msgid "Base part"
msgstr ""
-#: stock/models.py:464
+#: stock/models.py:493
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8
+#: stock/models.py:498 stock/templates/stock/location.html:12
+#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:472
+#: stock/models.py:501
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:479
+#: stock/models.py:508
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:484 stock/templates/stock/item_base.html:284
+#: stock/models.py:513 stock/templates/stock/item_base.html:271
msgid "Installed In"
msgstr ""
-#: stock/models.py:487
+#: stock/models.py:516
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:503
+#: stock/models.py:532
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:515
+#: stock/models.py:546
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:519
+#: stock/models.py:550
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:528
+#: stock/models.py:559
msgid "Source Build"
msgstr ""
-#: stock/models.py:530
+#: stock/models.py:561
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:541
+#: stock/models.py:572
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:544
+#: stock/models.py:575
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:550
+#: stock/models.py:581
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:557
+#: stock/models.py:588
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:580 stock/templates/stock/item.html:99
-#: stock/templates/stock/navbar.html:54
+#: stock/models.py:611 stock/templates/stock/item.html:111
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:589
+#: stock/models.py:620
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:599
+#: stock/models.py:630
msgid "Scheduled for deletion"
msgstr ""
-#: stock/models.py:600
+#: stock/models.py:631
msgid "This StockItem will be deleted by the background worker"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1094
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1069
+#: stock/models.py:1100
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1075
+#: stock/models.py:1106
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1078
+#: stock/models.py:1109
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1081
+#: stock/models.py:1112
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1088
+#: stock/models.py:1119
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1246
+#: stock/models.py:1277
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:1724
+#: stock/models.py:1775
msgid "Entry notes"
msgstr ""
-#: stock/models.py:1781
+#: stock/models.py:1832
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:1787
+#: stock/models.py:1838
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:1805
+#: stock/models.py:1856
msgid "Test name"
msgstr ""
-#: stock/models.py:1811 templates/js/translated/table_filters.js:244
+#: stock/models.py:1862 templates/js/translated/table_filters.js:260
msgid "Test result"
msgstr ""
-#: stock/models.py:1817
+#: stock/models.py:1868
msgid "Test output value"
msgstr ""
-#: stock/models.py:1824
+#: stock/models.py:1875
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:1830
+#: stock/models.py:1881
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:424
-msgid "StockItem primary key value"
+#: stock/serializers.py:166
+msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:452
-msgid "Stock transaction notes"
+#: stock/serializers.py:173
+msgid "Purchase currency of this stock item"
msgstr ""
-#: stock/serializers.py:462
-msgid "A list of stock items must be provided"
+#: stock/serializers.py:287
+msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:554
+#: stock/serializers.py:302
+#, python-brace-format
+msgid "Quantity must not exceed available stock quantity ({q})"
+msgstr ""
+
+#: stock/serializers.py:308
+msgid "Enter serial numbers for new items"
+msgstr ""
+
+#: stock/serializers.py:319 stock/serializers.py:687
msgid "Destination stock location"
msgstr ""
-#: stock/templates/stock/item.html:17
+#: stock/serializers.py:326
+msgid "Optional note field"
+msgstr ""
+
+#: stock/serializers.py:339
+msgid "Serial numbers cannot be assigned to this part"
+msgstr ""
+
+#: stock/serializers.py:557
+msgid "StockItem primary key value"
+msgstr ""
+
+#: stock/serializers.py:585
+msgid "Stock transaction notes"
+msgstr ""
+
+#: stock/serializers.py:595
+msgid "A list of stock items must be provided"
+msgstr ""
+
+#: stock/templates/stock/item.html:18
msgid "Stock Tracking Information"
msgstr ""
-#: stock/templates/stock/item.html:30
+#: stock/templates/stock/item.html:29
msgid "New Entry"
msgstr ""
-#: stock/templates/stock/item.html:43
+#: stock/templates/stock/item.html:48
msgid "Child Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:50
+#: stock/templates/stock/item.html:55
msgid "This stock item does not have any child items"
msgstr ""
-#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19
-#: stock/templates/stock/navbar.html:22
+#: stock/templates/stock/item.html:64
msgid "Test Data"
msgstr ""
-#: stock/templates/stock/item.html:66
-msgid "Delete Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:70
-msgid "Add Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95
+#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50
msgid "Test Report"
msgstr ""
-#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27
+#: stock/templates/stock/item.html:72
+msgid "Delete Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:76
+msgid "Add Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:133
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:125 stock/views.py:511
+#: stock/templates/stock/item.html:137 stock/views.py:515
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326
+#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:346
+#: stock/templates/stock/item.html:363
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:360
+#: stock/templates/stock/item.html:377
msgid "Delete Test Result"
msgstr ""
-#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:399
-#: templates/js/translated/table_filters.js:225
-msgid "Expired"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:401
-#: templates/js/translated/table_filters.js:231
-msgid "Stale"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:80
-#: templates/js/translated/barcode.js:331
-#: templates/js/translated/barcode.js:336
+#: stock/templates/stock/item_base.html:35
+#: templates/js/translated/barcode.js:330
+#: templates/js/translated/barcode.js:335
msgid "Unlink Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/item_base.html:37
msgid "Link Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31
+#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24
msgid "Scan to Location"
msgstr ""
-#: stock/templates/stock/item_base.html:91
+#: stock/templates/stock/item_base.html:46
msgid "Printing actions"
msgstr ""
-#: stock/templates/stock/item_base.html:104
+#: stock/templates/stock/item_base.html:65
msgid "Stock adjustment actions"
msgstr ""
-#: stock/templates/stock/item_base.html:108
-#: stock/templates/stock/location.html:69 templates/stock_table.html:57
+#: stock/templates/stock/item_base.html:69
+#: stock/templates/stock/location.html:47 templates/stock_table.html:50
msgid "Count stock"
msgstr ""
-#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55
+#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48
msgid "Add stock"
msgstr ""
-#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56
+#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49
msgid "Remove stock"
msgstr ""
-#: stock/templates/stock/item_base.html:117
+#: stock/templates/stock/item_base.html:78
msgid "Serialize stock"
msgstr ""
-#: stock/templates/stock/item_base.html:121
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/location.html:53
msgid "Transfer stock"
msgstr ""
-#: stock/templates/stock/item_base.html:124
+#: stock/templates/stock/item_base.html:85
msgid "Assign to customer"
msgstr ""
-#: stock/templates/stock/item_base.html:127
+#: stock/templates/stock/item_base.html:88
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install"
msgstr ""
-#: stock/templates/stock/item_base.html:145
+#: stock/templates/stock/item_base.html:106
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:109
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:150
+#: stock/templates/stock/item_base.html:111
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:153
+#: stock/templates/stock/item_base.html:114
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:173
+#: stock/templates/stock/item_base.html:136
+#: stock/templates/stock/item_base.html:386
+#: templates/js/translated/table_filters.js:241
+msgid "Expired"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/table_filters.js:247
+msgid "Stale"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:161
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:180
+#: stock/templates/stock/item_base.html:168
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:181
+#: stock/templates/stock/item_base.html:169
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:194
+#: stock/templates/stock/item_base.html:182
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:202
+#: stock/templates/stock/item_base.html:190
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:210
+#: stock/templates/stock/item_base.html:198
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:216
+#: stock/templates/stock/item_base.html:204
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:220
+#: stock/templates/stock/item_base.html:208
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:224
+#: stock/templates/stock/item_base.html:212
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:232
-msgid "Stock Item Details"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:241
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:260
+#: stock/templates/stock/item_base.html:247
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:303
-#: templates/js/translated/build.js:658
+#: stock/templates/stock/item_base.html:290
+#: templates/js/translated/build.js:1035
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:310
+#: stock/templates/stock/item_base.html:297
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:352
+#: stock/templates/stock/item_base.html:339
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:370
+#: stock/templates/stock/item_base.html:357
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:399
+#: stock/templates/stock/item_base.html:386
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:401
+#: stock/templates/stock/item_base.html:388
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:408
-#: templates/js/translated/stock.js:959
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1259
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:413
+#: stock/templates/stock/item_base.html:400
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:417
+#: stock/templates/stock/item_base.html:404
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:428
+#: stock/templates/stock/item_base.html:415
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:516
-msgid "Save"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:528
+#: stock/templates/stock/item_base.html:504
msgid "Edit Stock Status"
msgstr ""
@@ -5857,106 +5716,68 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:20
-msgid "You are not in the list of owners of this location. This stock location cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/location.html:37
-msgid "All stock items"
-msgstr ""
-
-#: stock/templates/stock/location.html:42
-msgid "Create new stock location"
-msgstr ""
-
-#: stock/templates/stock/location.html:55
+#: stock/templates/stock/location.html:33
msgid "Check-in Items"
msgstr ""
-#: stock/templates/stock/location.html:83
+#: stock/templates/stock/location.html:61
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:85
+#: stock/templates/stock/location.html:63
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:87
+#: stock/templates/stock/location.html:65
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:99
-msgid "Location Details"
+#: stock/templates/stock/location.html:75
+msgid "Create new stock location"
msgstr ""
-#: stock/templates/stock/location.html:104
-msgid "Location Path"
+#: stock/templates/stock/location.html:76
+msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:109
-msgid "Location Description"
+#: stock/templates/stock/location.html:86
+msgid "Top level stock location"
msgstr ""
-#: stock/templates/stock/location.html:114
-#: stock/templates/stock/location.html:155
-#: stock/templates/stock/location_navbar.html:11
-#: stock/templates/stock/location_navbar.html:14
+#: stock/templates/stock/location.html:95
+msgid "You are not in the list of owners of this location. This stock location cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/location.html:113
+#: stock/templates/stock/location.html:160
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:124
-msgid "Stock Details"
+#: stock/templates/stock/location.html:118
+#: stock/templates/stock/location.html:132
+#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158
+#: templates/js/translated/stock.js:1871 templates/stats.html:93
+#: templates/stats.html:102 users/models.py:43
+msgid "Stock Items"
msgstr ""
-#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196
+#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170
#: templates/stats.html:97 users/models.py:42
msgid "Stock Locations"
msgstr ""
-#: stock/templates/stock/location.html:162 templates/stock_table.html:37
+#: stock/templates/stock/location.html:167 templates/stock_table.html:30
msgid "Printing Actions"
msgstr ""
-#: stock/templates/stock/location.html:166 templates/stock_table.html:41
+#: stock/templates/stock/location.html:171 templates/stock_table.html:34
msgid "Print labels"
msgstr ""
-#: stock/templates/stock/location.html:250
-msgid "New Location"
-msgstr ""
-
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
-msgstr ""
-
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: stock/templates/stock/navbar.html:11
-msgid "Stock Item Tracking"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:14
-msgid "History"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:30
-msgid "Installed Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:38
-msgid "Child Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:41
-msgid "Children"
-msgstr ""
-
-#: stock/templates/stock/stock_adjust.html:43
-msgid "Remove item"
-msgstr ""
-
#: stock/templates/stock/stock_app_base.html:16
msgid "Loading..."
msgstr ""
@@ -5965,7 +5786,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912
msgid "Convert Stock Item"
msgstr ""
@@ -5986,104 +5807,100 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:158
+#: stock/views.py:162
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:265 stock/views.py:888 stock/views.py:1010
-#: stock/views.py:1375
+#: stock/views.py:269 stock/views.py:891 stock/views.py:1017
+#: stock/views.py:1299
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:280
+#: stock/views.py:284
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:299
+#: stock/views.py:303
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:308
+#: stock/views.py:312
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:332
+#: stock/views.py:336
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:345
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:352
+#: stock/views.py:356
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:363
+#: stock/views.py:367
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:380
+#: stock/views.py:384
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:485
+#: stock/views.py:489
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:660
+#: stock/views.py:663
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:757 templates/js/translated/stock.js:321
+#: stock/views.py:760 templates/js/translated/stock.js:618
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:768
+#: stock/views.py:771
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:790
+#: stock/views.py:793 templates/js/translated/stock.js:288
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:936
+#: stock/views.py:943
msgid "Create new Stock Location"
msgstr ""
-#: stock/views.py:1027
-msgid "Serialize Stock"
-msgstr ""
-
-#: stock/views.py:1120
+#: stock/views.py:1044
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1262
+#: stock/views.py:1186 templates/js/translated/stock.js:268
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1344
+#: stock/views.py:1268
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1444
+#: stock/views.py:1368
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1457
+#: stock/views.py:1381
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1468
+#: stock/views.py:1392
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1475
+#: stock/views.py:1399
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1484
+#: stock/views.py:1408
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6107,63 +5924,67 @@ msgstr ""
msgid "Index"
msgstr ""
-#: templates/InvenTree/index.html:105
-msgid "Starred Parts"
+#: templates/InvenTree/index.html:88
+msgid "Subscribed Parts"
msgstr ""
-#: templates/InvenTree/index.html:115
+#: templates/InvenTree/index.html:98
+msgid "Subscribed Categories"
+msgstr ""
+
+#: templates/InvenTree/index.html:108
msgid "Latest Parts"
msgstr ""
-#: templates/InvenTree/index.html:126
+#: templates/InvenTree/index.html:119
msgid "BOM Waiting Validation"
msgstr ""
-#: templates/InvenTree/index.html:153
+#: templates/InvenTree/index.html:145
msgid "Recently Updated"
msgstr ""
-#: templates/InvenTree/index.html:176
+#: templates/InvenTree/index.html:168
msgid "Depleted Stock"
msgstr ""
-#: templates/InvenTree/index.html:199
+#: templates/InvenTree/index.html:191
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:202
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:232
+#: templates/InvenTree/index.html:224
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:243
+#: templates/InvenTree/index.html:235
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:263
+#: templates/InvenTree/index.html:255
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:274
+#: templates/InvenTree/index.html:266
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:294
+#: templates/InvenTree/index.html:286
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:305
+#: templates/InvenTree/index.html:297
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14
+#: templates/InvenTree/search.html:8
msgid "Search Results"
msgstr ""
-#: templates/InvenTree/search.html:24
+#: templates/InvenTree/search.html:22
msgid "Enter a search query"
msgstr ""
@@ -6183,23 +6004,23 @@ msgstr ""
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:23
+#: templates/InvenTree/settings/currencies.html:19
msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:27
+#: templates/InvenTree/settings/currencies.html:24
msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:37
+#: templates/InvenTree/settings/currencies.html:38
msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:43
+#: templates/InvenTree/settings/currencies.html:44
msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:48
+#: templates/InvenTree/settings/currencies.html:49
msgid "Update Now"
msgstr ""
@@ -6207,147 +6028,74 @@ msgstr ""
msgid "Server Settings"
msgstr ""
-#: templates/InvenTree/settings/header.html:7
-msgid "Setting"
-msgstr ""
-
#: templates/InvenTree/settings/login.html:9
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:12
-#: templates/InvenTree/settings/user_settings.html:9
-msgid "User Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:15
-#: templates/InvenTree/settings/navbar.html:17
-msgid "Account"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:21
-#: templates/InvenTree/settings/navbar.html:23
-msgid "Home Page"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29
-#: templates/js/translated/tables.js:375 templates/search_form.html:6
-#: templates/search_form.html:8
-msgid "Search"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:33
-#: templates/InvenTree/settings/navbar.html:35
-msgid "Labels"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:39
-#: templates/InvenTree/settings/navbar.html:41
-msgid "Reports"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:45
-#: templates/InvenTree/settings/navbar.html:47
-msgid "Forms"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:52
-#: templates/InvenTree/settings/navbar.html:54
-#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90
-msgid "Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:62
-msgid "InvenTree Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:65
-#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87
-msgid "Login"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:77
-#: templates/InvenTree/settings/navbar.html:79
-msgid "Barcodes"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85
-msgid "Currencies"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91
-msgid "Reporting"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103
-msgid "Categories"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:7
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:12
-msgid "Part Options"
-msgstr ""
-
#: templates/InvenTree/settings/part.html:43
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:47
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:59
+#: templates/InvenTree/settings/part.html:61
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/po.html:9
+#: templates/InvenTree/settings/po.html:7
msgid "Purchase Order Settings"
msgstr ""
-#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:29
+#: templates/InvenTree/settings/setting.html:28
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:41
+#: templates/InvenTree/settings/setting.html:39
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:154
+#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93
+msgid "Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+msgid "Edit Global Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:65
+msgid "Edit User Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:148
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:176
-#: templates/InvenTree/settings/settings.html:275
+#: templates/InvenTree/settings/settings.html:170
+#: templates/InvenTree/settings/settings.html:269
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:177
-#: templates/InvenTree/settings/settings.html:276
+#: templates/InvenTree/settings/settings.html:171
+#: templates/InvenTree/settings/settings.html:270
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:255
+#: templates/InvenTree/settings/settings.html:249
msgid "No part parameter templates found"
msgstr ""
@@ -6363,134 +6111,154 @@ msgstr ""
msgid "Account Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:19
+#: templates/InvenTree/settings/user.html:18
#: templates/js/translated/helpers.js:26
msgid "Edit"
msgstr ""
-#: templates/InvenTree/settings/user.html:21
+#: templates/InvenTree/settings/user.html:20
#: templates/account/password_reset_from_key.html:4
#: templates/account/password_reset_from_key.html:7
msgid "Change Password"
msgstr ""
-#: templates/InvenTree/settings/user.html:28
+#: templates/InvenTree/settings/user.html:31
msgid "Username"
msgstr ""
-#: templates/InvenTree/settings/user.html:32
+#: templates/InvenTree/settings/user.html:35
msgid "First Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:36
+#: templates/InvenTree/settings/user.html:39
msgid "Last Name"
msgstr ""
-#: templates/InvenTree/settings/user.html:42
-msgid "E-Mail"
+#: templates/InvenTree/settings/user.html:54
+msgid "The following email addresses are associated with your account:"
msgstr ""
-#: templates/InvenTree/settings/user.html:47
-msgid "The following e-mail addresses are associated with your account:"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:61
+#: templates/InvenTree/settings/user.html:74
msgid "Verified"
msgstr ""
-#: templates/InvenTree/settings/user.html:63
+#: templates/InvenTree/settings/user.html:76
msgid "Unverified"
msgstr ""
-#: templates/InvenTree/settings/user.html:65
+#: templates/InvenTree/settings/user.html:78
msgid "Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:71
+#: templates/InvenTree/settings/user.html:84
msgid "Make Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:72
+#: templates/InvenTree/settings/user.html:85
msgid "Re-send Verification"
msgstr ""
-#: templates/InvenTree/settings/user.html:73
-#: templates/InvenTree/settings/user.html:130
+#: templates/InvenTree/settings/user.html:86
+#: templates/InvenTree/settings/user.html:153
msgid "Remove"
msgstr ""
-#: templates/InvenTree/settings/user.html:80
+#: templates/InvenTree/settings/user.html:93
msgid "Warning:"
msgstr ""
-#: templates/InvenTree/settings/user.html:81
-msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc."
+#: templates/InvenTree/settings/user.html:94
+msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc."
msgstr ""
-#: templates/InvenTree/settings/user.html:88
-msgid "Add E-mail Address"
+#: templates/InvenTree/settings/user.html:101
+msgid "Add Email Address"
msgstr ""
-#: templates/InvenTree/settings/user.html:93
-msgid "Add E-mail"
+#: templates/InvenTree/settings/user.html:111
+msgid "Enter e-mail address"
msgstr ""
-#: templates/InvenTree/settings/user.html:100
+#: templates/InvenTree/settings/user.html:113
+msgid "Add Email"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:123
msgid "Social Accounts"
msgstr ""
-#: templates/InvenTree/settings/user.html:105
+#: templates/InvenTree/settings/user.html:128
msgid "You can sign in to your account using any of the following third party accounts:"
msgstr ""
-#: templates/InvenTree/settings/user.html:138
-msgid "You currently have no social network accounts connected to this account."
+#: templates/InvenTree/settings/user.html:162
+msgid "There are no social network accounts connected to your InvenTree account"
msgstr ""
-#: templates/InvenTree/settings/user.html:142
+#: templates/InvenTree/settings/user.html:167
msgid "Add a 3rd Party Account"
msgstr ""
-#: templates/InvenTree/settings/user.html:153
-msgid "Theme Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:174
-msgid "Set Theme"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:181
+#: templates/InvenTree/settings/user.html:177
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:200
+#: templates/InvenTree/settings/user.html:186
+msgid "Select language"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:202
#, python-format
msgid "%(lang_translated)s%% translated"
msgstr ""
-#: templates/InvenTree/settings/user.html:202
+#: templates/InvenTree/settings/user.html:204
msgid "No translations available"
msgstr ""
-#: templates/InvenTree/settings/user.html:209
+#: templates/InvenTree/settings/user.html:211
msgid "Set Language"
msgstr ""
-#: templates/InvenTree/settings/user.html:214
-msgid "Help the translation efforts!"
+#: templates/InvenTree/settings/user.html:213
+msgid "Some languages are not complete"
msgstr ""
#: templates/InvenTree/settings/user.html:215
+msgid "Show only sufficent"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:217
+msgid "Show them too"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:224
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:225
#, python-format
msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
msgstr ""
-#: templates/InvenTree/settings/user.html:223
-msgid "Do you really want to remove the selected e-mail address?"
+#: templates/InvenTree/settings/user.html:233
+msgid "Do you really want to remove the selected email address?"
msgstr ""
-#: templates/InvenTree/settings/user_forms.html:9
-msgid "Form Settings"
+#: templates/InvenTree/settings/user_display.html:9
+msgid "Display Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:25
+msgid "Theme Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:35
+msgid "Select theme"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:46
+msgid "Set Theme"
msgstr ""
#: templates/InvenTree/settings/user_homepage.html:9
@@ -6505,124 +6273,139 @@ msgstr ""
msgid "Search Settings"
msgstr ""
-#: templates/about.html:13
+#: templates/InvenTree/settings/user_settings.html:9
+msgid "User Settings"
+msgstr ""
+
+#: templates/about.html:10
msgid "InvenTree Version Information"
msgstr ""
-#: templates/about.html:22
+#: templates/about.html:11 templates/about.html:105
+#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:964 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
+msgid "Close"
+msgstr ""
+
+#: templates/about.html:20
msgid "InvenTree Version"
msgstr ""
-#: templates/about.html:27
+#: templates/about.html:25
msgid "Development Version"
msgstr ""
-#: templates/about.html:30
+#: templates/about.html:28
msgid "Up to Date"
msgstr ""
-#: templates/about.html:32
+#: templates/about.html:30
msgid "Update Available"
msgstr ""
-#: templates/about.html:42
+#: templates/about.html:40
msgid "Commit Hash"
msgstr ""
-#: templates/about.html:49
+#: templates/about.html:47
msgid "Commit Date"
msgstr ""
-#: templates/about.html:55
+#: templates/about.html:53
msgid "InvenTree Documentation"
msgstr ""
-#: templates/about.html:60
+#: templates/about.html:58
msgid "API Version"
msgstr ""
-#: templates/about.html:65
+#: templates/about.html:63
msgid "Python Version"
msgstr ""
-#: templates/about.html:70
+#: templates/about.html:68
msgid "Django Version"
msgstr ""
-#: templates/about.html:75
+#: templates/about.html:73
msgid "View Code on GitHub"
msgstr ""
-#: templates/about.html:80
+#: templates/about.html:78
msgid "Credits"
msgstr ""
-#: templates/about.html:85
+#: templates/about.html:83
msgid "Mobile App"
msgstr ""
-#: templates/about.html:90
+#: templates/about.html:88
msgid "Submit Bug Report"
msgstr ""
-#: templates/about.html:97 templates/clip.html:4
+#: templates/about.html:95 templates/clip.html:4
msgid "copy to clipboard"
msgstr ""
-#: templates/about.html:97
+#: templates/about.html:95
msgid "copy version information"
msgstr ""
-#: templates/about.html:107 templates/js/translated/modals.js:50
-#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678
-#: templates/js/translated/modals.js:982 templates/modals.html:29
-#: templates/modals.html:54
-msgid "Close"
-msgstr ""
-
#: templates/account/email_confirm.html:6
#: templates/account/email_confirm.html:10
-msgid "Confirm E-mail Address"
+msgid "Confirm Email Address"
msgstr ""
#: templates/account/email_confirm.html:16
#, python-format
-msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s."
+msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
#: templates/account/email_confirm.html:27
#, python-format
-msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request."
+msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:5 templates/account/login.html:14
-#: templates/account/login.html:36
+#: templates/account/login.html:6 templates/account/login.html:16
+#: templates/account/login.html:39
msgid "Sign In"
msgstr ""
-#: templates/account/login.html:19
+#: templates/account/login.html:21
#, python-format
-msgid "Please sign in with one\n"
+msgid ""
+"Please sign in with one\n"
"of your existing third party accounts or sign up\n"
"for a account and sign in below:"
msgstr ""
-#: templates/account/login.html:23
+#: templates/account/login.html:25
#, python-format
-msgid "If you have not created an account yet, then please\n"
+msgid ""
+"If you have not created an account yet, then please\n"
"sign up first."
msgstr ""
-#: templates/account/login.html:38
+#: templates/account/login.html:42
msgid "Forgot Password?"
msgstr ""
-#: templates/account/login.html:45
+#: templates/account/login.html:47
+msgid "InvenTree demo instance"
+msgstr ""
+
+#: templates/account/login.html:47
+msgid "Click here for login details"
+msgstr ""
+
+#: templates/account/login.html:55
msgid "or use SSO"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
-#: templates/account/logout.html:17
+#: templates/account/logout.html:20
msgid "Sign Out"
msgstr ""
@@ -6630,13 +6413,17 @@ msgstr ""
msgid "Are you sure you want to sign out?"
msgstr ""
+#: templates/account/logout.html:19
+msgid "Back to Site"
+msgstr ""
+
#: templates/account/password_reset.html:5
#: templates/account/password_reset.html:12
msgid "Password Reset"
msgstr ""
#: templates/account/password_reset.html:18
-msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it."
+msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it."
msgstr ""
#: templates/account/password_reset.html:23
@@ -6656,11 +6443,11 @@ msgstr ""
msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
msgstr ""
-#: templates/account/password_reset_from_key.html:17
-msgid "change password"
+#: templates/account/password_reset_from_key.html:18
+msgid "Change password"
msgstr ""
-#: templates/account/password_reset_from_key.html:20
+#: templates/account/password_reset_from_key.html:22
msgid "Your password is now changed."
msgstr ""
@@ -6677,6 +6464,77 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/admin_button.html:2
+msgid "View in administration panel"
+msgstr ""
+
+#: templates/base.html:96
+msgid "Server Restart Required"
+msgstr ""
+
+#: templates/base.html:99
+msgid "A configuration option has been changed which requires a server restart"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Contact your system administrator for further information"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:7
+msgid "Stock is required for the following build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:8
+#, python-format
+msgid "Build order %(build)s - building %(quantity)s x %(part)s"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:10
+msgid "Click on the following link to view this build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:14
+msgid "The following parts are low on required stock"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:18
+#: templates/js/translated/bom.js:989
+msgid "Required Quantity"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:19
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129
+#: templates/js/translated/build.js:1749
+msgid "Available"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:38
+#: templates/email/low_stock_notification.html:31
+msgid "You are receiving this email because you are subscribed to notifications for this part "
+msgstr ""
+
+#: templates/email/email.html:35
+msgid "InvenTree version"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:7
+#, python-format
+msgid " The available stock for %(part)s has fallen below the configured minimum level"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:9
+msgid "Click on the following link to view this part"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:17
+msgid "Total Stock"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:19
+msgid "Minimum Quantity"
+msgstr ""
+
#: templates/image_download.html:8
msgid "Specify URL for downloading image"
msgstr ""
@@ -6693,138 +6551,59 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/report.js:47 templates/js/translated/report.js:67
-msgid "items selected"
-msgstr ""
-
-#: templates/js/report.js:55 templates/js/translated/report.js:75
-msgid "Select Report Template"
-msgstr ""
-
-#: templates/js/report.js:70 templates/js/translated/report.js:90
-msgid "Select Test Report Template"
-msgstr ""
-
-#: templates/js/report.js:98 templates/js/translated/label.js:29
-#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/report.js:99 templates/js/translated/report.js:119
-msgid "Stock item(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:116 templates/js/report.js:169
-#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331 templates/js/translated/report.js:136
-#: templates/js/translated/report.js:189 templates/js/translated/report.js:243
-#: templates/js/translated/report.js:297 templates/js/translated/report.js:351
-msgid "No Reports Found"
-msgstr ""
-
-#: templates/js/report.js:117 templates/js/translated/report.js:137
-msgid "No report templates found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/report.js:152 templates/js/translated/report.js:172
-msgid "Select Builds"
-msgstr ""
-
-#: templates/js/report.js:153 templates/js/translated/report.js:173
-msgid "Build(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:170 templates/js/translated/report.js:190
-msgid "No report templates found which match selected build(s)"
-msgstr ""
-
-#: templates/js/report.js:205 templates/js/translated/build.js:948
-#: templates/js/translated/label.js:134 templates/js/translated/report.js:225
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/report.js:206 templates/js/translated/report.js:226
-msgid "Part(s) must be selected before printing reports"
-msgstr ""
-
-#: templates/js/report.js:224 templates/js/translated/report.js:244
-msgid "No report templates found which match selected part(s)"
-msgstr ""
-
-#: templates/js/report.js:259 templates/js/translated/report.js:279
-msgid "Select Purchase Orders"
-msgstr ""
-
-#: templates/js/report.js:260 templates/js/translated/report.js:280
-msgid "Purchase Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/report.js:278 templates/js/report.js:332
-#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
-msgid "No report templates found which match selected orders"
-msgstr ""
-
-#: templates/js/report.js:313 templates/js/translated/report.js:333
-msgid "Select Sales Orders"
-msgstr ""
-
-#: templates/js/report.js:314 templates/js/translated/report.js:334
-msgid "Sales Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053
+#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035
msgid "No response from the InvenTree server"
msgstr ""
-#: templates/js/translated/api.js:181
+#: templates/js/translated/api.js:191
msgid "Error 400: Bad request"
msgstr ""
-#: templates/js/translated/api.js:182
+#: templates/js/translated/api.js:192
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063
+#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055
msgid "The requested resource could not be located on the server"
msgstr ""
-#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060
msgid "Connection timeout while requesting data from server"
msgstr ""
-#: templates/js/translated/api.js:205
+#: templates/js/translated/api.js:215
msgid "Unhandled Error Code"
msgstr ""
-#: templates/js/translated/api.js:206
+#: templates/js/translated/api.js:216
msgid "Error code"
msgstr ""
@@ -6832,292 +6611,369 @@ msgstr ""
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:91
+#: templates/js/translated/attachment.js:95
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:104
+#: templates/js/translated/attachment.js:108
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:115
msgid "Delete attachment"
msgstr ""
-#: templates/js/translated/barcode.js:30
+#: templates/js/translated/barcode.js:29
msgid "Scan barcode data here using wedge scanner"
msgstr ""
-#: templates/js/translated/barcode.js:32
+#: templates/js/translated/barcode.js:31
msgid "Enter barcode data"
msgstr ""
-#: templates/js/translated/barcode.js:36
+#: templates/js/translated/barcode.js:35
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:54
+#: templates/js/translated/barcode.js:53
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:55
+#: templates/js/translated/barcode.js:54
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:93
+#: templates/js/translated/barcode.js:92
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:114
+#: templates/js/translated/barcode.js:113
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:141
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/barcode.js:140
+#: templates/js/translated/modals.js:1024
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:234
+#: templates/js/translated/barcode.js:233
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:281 templates/navbar.html:65
+#: templates/js/translated/barcode.js:280 templates/navbar.html:69
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:292
+#: templates/js/translated/barcode.js:291
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:310
+#: templates/js/translated/barcode.js:309
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:333
+#: templates/js/translated/barcode.js:332
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:339
+#: templates/js/translated/barcode.js:338
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273
+#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:440
+#: templates/js/translated/barcode.js:439
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:444
-#: templates/js/translated/barcode.js:571
+#: templates/js/translated/barcode.js:443
+#: templates/js/translated/barcode.js:573
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:486
-#: templates/js/translated/barcode.js:610
+#: templates/js/translated/barcode.js:485
+#: templates/js/translated/barcode.js:612
msgid "Error transferring stock"
msgstr ""
-#: templates/js/translated/barcode.js:505
+#: templates/js/translated/barcode.js:507
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:509
+#: templates/js/translated/barcode.js:511
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:516
+#: templates/js/translated/barcode.js:518
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:523
+#: templates/js/translated/barcode.js:525
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:566
+#: templates/js/translated/barcode.js:568
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:629
+#: templates/js/translated/barcode.js:633
msgid "Barcode does not match a valid location"
msgstr ""
-#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495
+#: templates/js/translated/bom.js:184
+msgid "Remove substitute part"
+msgstr ""
+
+#: templates/js/translated/bom.js:226
+msgid "Select and add a new variant item using the input below"
+msgstr ""
+
+#: templates/js/translated/bom.js:237
+msgid "Are you sure you wish to remove this substitute part link?"
+msgstr ""
+
+#: templates/js/translated/bom.js:243
+msgid "Remove Substitute Part"
+msgstr ""
+
+#: templates/js/translated/bom.js:282
+msgid "Add Substitute"
+msgstr ""
+
+#: templates/js/translated/bom.js:283
+msgid "Edit BOM Item Substitutes"
+msgstr ""
+
+#: templates/js/translated/bom.js:402
+msgid "Substitutes Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111
+msgid "Variant stock allowed"
+msgstr ""
+
+#: templates/js/translated/bom.js:411
msgid "Open subassembly"
msgstr ""
-#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744
-#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522
-msgid "Available"
+#: templates/js/translated/bom.js:483
+msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:307
+#: templates/js/translated/bom.js:498
msgid "Purchase Price Range"
msgstr ""
-#: templates/js/translated/bom.js:314
+#: templates/js/translated/bom.js:505
msgid "Purchase Price Average"
msgstr ""
-#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449
+#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798
-#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285
+#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183
+#: templates/js/translated/order.js:1298
msgid "Actions"
msgstr ""
-#: templates/js/translated/bom.js:423
+#: templates/js/translated/bom.js:614
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:425
+#: templates/js/translated/bom.js:616
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590
+#: templates/js/translated/bom.js:618
+msgid "Edit substitute parts"
+msgstr ""
+
+#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575
+#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:1593
+#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/build.js:71
-msgid "Edit Build Order"
+#: templates/js/translated/bom.js:772
+msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/build.js:105
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/translated/build.js:138
-msgid "Allocate stock items to this build output"
-msgstr ""
-
-#: templates/js/translated/build.js:146
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/translated/build.js:155
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:164
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:265
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356
-#: templates/js/translated/order.js:1292
-msgid "Edit stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357
-#: templates/js/translated/order.js:1293
-msgid "Delete stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:695
-msgid "Edit Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:705
-msgid "Remove Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:718
+#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095
msgid "Required Part"
msgstr ""
-#: templates/js/translated/build.js:739
+#: templates/js/translated/bom.js:994
+msgid "Inherited from parent BOM"
+msgstr ""
+
+#: templates/js/translated/build.js:78
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:112
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:133
+msgid "Allocate stock items to this build output"
+msgstr ""
+
+#: templates/js/translated/build.js:144
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:153
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:161
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:184
+msgid "Are you sure you wish to unallocate stock items from this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:202
+msgid "Unallocate Stock Items"
+msgstr ""
+
+#: templates/js/translated/build.js:220
+msgid "Select Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:221
+msgid "At least one build output must be selected"
+msgstr ""
+
+#: templates/js/translated/build.js:275
+msgid "Output"
+msgstr ""
+
+#: templates/js/translated/build.js:291
+msgid "Complete Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:386
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:603
+msgid "No active build outputs found"
+msgstr ""
+
+#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760
+#: templates/js/translated/order.js:1305
+msgid "Edit stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761
+#: templates/js/translated/order.js:1306
+msgid "Delete stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1072
+msgid "Edit Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1082
+msgid "Remove Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1107
+msgid "Substitute parts available"
+msgstr ""
+
+#: templates/js/translated/build.js:1124
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:749 templates/js/translated/build.js:975
-#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514
+#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360
+#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553
-#: templates/js/translated/order.js:1567
+#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557
-#: templates/stock_table.html:59
+#: templates/js/translated/build.js:1194 templates/stock_table.html:52
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560
+#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:880
+#: templates/js/translated/build.js:1262
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:949
+#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134
+#: templates/js/translated/report.js:225
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/translated/build.js:1334
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:963
+#: templates/js/translated/build.js:1348
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:992
+#: templates/js/translated/build.js:1377
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/build.js:993
+#: templates/js/translated/build.js:1378
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:1004
+#: templates/js/translated/build.js:1389
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:1048
+#: templates/js/translated/build.js:1451
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:1172
+#: templates/js/translated/build.js:1576
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856
-#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762
-#: templates/js/translated/stock.js:1456
+#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873
+#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064
+#: templates/js/translated/stock.js:1841
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:1209
+#: templates/js/translated/build.js:1613
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675
+#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:1282
+#: templates/js/translated/build.js:1686
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:1333
+#: templates/js/translated/build.js:1737
msgid "No parts allocated for"
msgstr ""
@@ -7137,7 +6993,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:164 templates/js/translated/order.js:89
+#: templates/js/translated/company.js:164 templates/js/translated/order.js:90
msgid "Add Supplier"
msgstr ""
@@ -7186,34 +7042,34 @@ msgid "No manufacturer parts found"
msgstr ""
#: templates/js/translated/company.js:496
-#: templates/js/translated/company.js:753 templates/js/translated/part.js:427
-#: templates/js/translated/part.js:512
+#: templates/js/translated/company.js:753 templates/js/translated/part.js:448
+#: templates/js/translated/part.js:533
msgid "Template part"
msgstr ""
#: templates/js/translated/company.js:500
-#: templates/js/translated/company.js:757 templates/js/translated/part.js:431
-#: templates/js/translated/part.js:516
+#: templates/js/translated/company.js:757 templates/js/translated/part.js:452
+#: templates/js/translated/part.js:537
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:627 templates/js/translated/part.js:604
+#: templates/js/translated/company.js:627 templates/js/translated/part.js:625
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:664 templates/js/translated/part.js:646
+#: templates/js/translated/company.js:664 templates/js/translated/part.js:667
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:665 templates/js/translated/part.js:647
+#: templates/js/translated/company.js:665 templates/js/translated/part.js:668
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:684 templates/js/translated/part.js:664
+#: templates/js/translated/company.js:684 templates/js/translated/part.js:685
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:695 templates/js/translated/part.js:676
+#: templates/js/translated/company.js:695 templates/js/translated/part.js:697
msgid "Delete Parameter"
msgstr ""
@@ -7222,12 +7078,12 @@ msgid "No supplier parts found"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:407
+#: templates/js/translated/filters.js:420
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:408
+#: templates/js/translated/filters.js:421
msgid "false"
msgstr ""
@@ -7235,57 +7091,61 @@ msgstr ""
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:284
+#: templates/js/translated/filters.js:286
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:286
+#: templates/js/translated/filters.js:290
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:289
+#: templates/js/translated/filters.js:293
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:317
+#: templates/js/translated/filters.js:329
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336
-#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360
+#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364
+#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:324
+#: templates/js/translated/forms.js:351
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:337
+#: templates/js/translated/forms.js:366
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:349
+#: templates/js/translated/forms.js:380
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:361
+#: templates/js/translated/forms.js:394
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:968 templates/modals.html:21
-#: templates/modals.html:47
+#: templates/js/translated/forms.js:679
+msgid "Enter a valid number"
+msgstr ""
+
+#: templates/js/translated/forms.js:1071 templates/modals.html:19
+#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1323
+#: templates/js/translated/forms.js:1457
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1525
+#: templates/js/translated/forms.js:1661
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:1742
+#: templates/js/translated/forms.js:1878
msgid "Clear input"
msgstr ""
@@ -7297,6 +7157,11 @@ msgstr ""
msgid "NO"
msgstr ""
+#: templates/js/translated/label.js:29 templates/js/translated/report.js:118
+#: templates/js/translated/stock.js:594
+msgid "Select Stock Items"
+msgstr ""
+
#: templates/js/translated/label.js:30
msgid "Stock item(s) must be selected before printing labels"
msgstr ""
@@ -7342,62 +7207,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119
+#: templates/js/translated/modals.js:593
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981
-#: templates/modals.html:30 templates/modals.html:55
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963
+#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:117
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:397
+#: templates/js/translated/modals.js:380
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:556
+#: templates/js/translated/modals.js:539
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:592
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:649
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:945
+#: templates/js/translated/modals.js:927
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/modals.js:1024
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1057
+#: templates/js/translated/modals.js:1039
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1058
+#: templates/js/translated/modals.js:1040
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1081
+#: templates/js/translated/modals.js:1063
msgid "Error requesting form data"
msgstr ""
@@ -7405,35 +7270,35 @@ msgstr ""
msgid "Company ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:90
+#: templates/js/translated/model_renderers.js:77
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:125
+#: templates/js/translated/model_renderers.js:130
msgid "Location ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:142
+#: templates/js/translated/model_renderers.js:147
msgid "Build ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:177
+#: templates/js/translated/model_renderers.js:182
msgid "Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:231
+#: templates/js/translated/model_renderers.js:236
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:251
+#: templates/js/translated/model_renderers.js:256
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:288
+#: templates/js/translated/model_renderers.js:293
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:317
+#: templates/js/translated/model_renderers.js:322
msgid "Supplier Part ID"
msgstr ""
@@ -7445,565 +7310,688 @@ msgstr ""
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:207
+#: templates/js/translated/order.js:208
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96
+#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393
msgid "Format"
msgstr ""
-#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97
+#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394
msgid "Select file format"
msgstr ""
-#: templates/js/translated/order.js:299
+#: templates/js/translated/order.js:300
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:300
+#: templates/js/translated/order.js:301
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:325
+#: templates/js/translated/order.js:326
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343
+#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:426
+#: templates/js/translated/order.js:427
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:428
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:429
+#: templates/js/translated/order.js:430
msgid "Receive"
msgstr ""
-#: templates/js/translated/order.js:448
+#: templates/js/translated/order.js:449
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:449
+#: templates/js/translated/order.js:450
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:626
+#: templates/js/translated/order.js:627
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028
+#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602
+#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613
+#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:800
+#: templates/js/translated/order.js:801
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432
+#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457
-#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554
+#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470
+#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464
-msgid "Total price"
+#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486
+msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573
+#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:963
+#: templates/js/translated/order.js:976
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:967
+#: templates/js/translated/order.js:980
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1004
+#: templates/js/translated/order.js:1017
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1055
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1120
+#: templates/js/translated/order.js:1133
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:1213
+#: templates/js/translated/order.js:1226
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1231
+#: templates/js/translated/order.js:1244
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1273
+#: templates/js/translated/order.js:1286
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:1514
+#: templates/js/translated/order.js:1535
msgid "Fulfilled"
msgstr ""
-#: templates/js/translated/order.js:1557
+#: templates/js/translated/order.js:1579
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1585
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725
+#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1596
msgid "Delete line item "
msgstr ""
-#: templates/js/translated/order.js:1673
+#: templates/js/translated/order.js:1719
msgid "Allocate Stock Item"
msgstr ""
-#: templates/js/translated/order.js:1733
+#: templates/js/translated/order.js:1779
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1747
+#: templates/js/translated/order.js:1793
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/part.js:49
+#: templates/js/translated/part.js:50
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:53
+#: templates/js/translated/part.js:54
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:57
+#: templates/js/translated/part.js:58
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:61
+#: templates/js/translated/part.js:62
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:75
+#: templates/js/translated/part.js:76
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:164
+#: templates/js/translated/part.js:165
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:165
+#: templates/js/translated/part.js:166
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:172
+#: templates/js/translated/part.js:173
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:173
+#: templates/js/translated/part.js:174
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:180
+#: templates/js/translated/part.js:181
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:191
+#: templates/js/translated/part.js:192
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:192
+#: templates/js/translated/part.js:193
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:201
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:202
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:257
+#: templates/js/translated/part.js:258
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:258
+#: templates/js/translated/part.js:259
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:265
-msgid "Copy BOM"
-msgstr ""
-
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:267
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:273
+#: templates/js/translated/part.js:274
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:274
+#: templates/js/translated/part.js:275
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:287
+#: templates/js/translated/part.js:288
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:331
+#: templates/js/translated/part.js:332
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:419 templates/js/translated/part.js:504
+#: templates/js/translated/part.js:334
+msgid "Part edited"
+msgstr ""
+
+#: templates/js/translated/part.js:402
+msgid "You are subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:404
+msgid "You have subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:409
+msgid "Subscribe to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:411
+msgid "You have unsubscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:440 templates/js/translated/part.js:525
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:423 templates/js/translated/part.js:508
+#: templates/js/translated/part.js:444 templates/js/translated/part.js:529
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:435
-msgid "Starred part"
+#: templates/js/translated/part.js:456
+msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:439
+#: templates/js/translated/part.js:460
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:554
+#: templates/js/translated/part.js:575
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005
+#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:932
+#: templates/js/translated/part.js:933
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:955
-#: templates/js/translated/table_filters.js:359
+#: templates/js/translated/part.js:956
+#: templates/js/translated/table_filters.js:375
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480
+#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200
+#: templates/js/translated/stock.js:1802
+msgid "Display as list"
+msgstr ""
+
+#: templates/js/translated/part.js:1044
+msgid "Display as grid"
+msgstr ""
+
+#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821
+msgid "Display as tree"
+msgstr ""
+
+#: templates/js/translated/part.js:1283
+msgid "Subscribed category"
+msgstr ""
+
+#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1202
+#: templates/js/translated/part.js:1341
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493
+#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494
+#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1260
+#: templates/js/translated/part.js:1399
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1282
+#: templates/js/translated/part.js:1421
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1296
+#: templates/js/translated/part.js:1435
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1321
+#: templates/js/translated/part.js:1460
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1376
+#: templates/js/translated/part.js:1515
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1377
+#: templates/js/translated/part.js:1516
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1478
+#: templates/js/translated/part.js:1617
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1497
+#: templates/js/translated/part.js:1636
msgid "Single Price Difference"
msgstr ""
-#: templates/js/translated/stock.js:63
+#: templates/js/translated/report.js:67
+msgid "items selected"
+msgstr ""
+
+#: templates/js/translated/report.js:75
+msgid "Select Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:90
+msgid "Select Test Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:119
+msgid "Stock item(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:136 templates/js/translated/report.js:189
+#: templates/js/translated/report.js:243 templates/js/translated/report.js:297
+#: templates/js/translated/report.js:351
+msgid "No Reports Found"
+msgstr ""
+
+#: templates/js/translated/report.js:137
+msgid "No report templates found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:172
+msgid "Select Builds"
+msgstr ""
+
+#: templates/js/translated/report.js:173
+msgid "Build(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:190
+msgid "No report templates found which match selected build(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:226
+msgid "Part(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/translated/report.js:244
+msgid "No report templates found which match selected part(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:279
+msgid "Select Purchase Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:280
+msgid "Purchase Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
+msgid "No report templates found which match selected orders"
+msgstr ""
+
+#: templates/js/translated/report.js:333
+msgid "Select Sales Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:334
+msgid "Sales Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/stock.js:70
+msgid "Serialize Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:90
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:126
+msgid "New Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:189
+msgid "Enter initial quantity for this stock item"
+msgstr ""
+
+#: templates/js/translated/stock.js:195
+msgid "Enter serial numbers for new stock (or leave blank)"
+msgstr ""
+
+#: templates/js/translated/stock.js:338
+msgid "Created new stock item"
+msgstr ""
+
+#: templates/js/translated/stock.js:351
+msgid "Created multiple stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:390
msgid "Export Stock"
msgstr ""
-#: templates/js/translated/stock.js:104
+#: templates/js/translated/stock.js:401
msgid "Include Sublocations"
msgstr ""
-#: templates/js/translated/stock.js:105
+#: templates/js/translated/stock.js:402
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:444
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:148
+#: templates/js/translated/stock.js:445
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:154
+#: templates/js/translated/stock.js:451
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:155
+#: templates/js/translated/stock.js:452
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:159
+#: templates/js/translated/stock.js:456
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:160
+#: templates/js/translated/stock.js:457
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:164
+#: templates/js/translated/stock.js:461
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:165 users/models.py:195
+#: templates/js/translated/stock.js:462 users/models.py:200
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:169 templates/stock_table.html:63
+#: templates/js/translated/stock.js:466 templates/stock_table.html:56
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:298
+#: templates/js/translated/stock.js:595
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:456
+#: templates/js/translated/stock.js:753
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:458
+#: templates/js/translated/stock.js:755
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:463
+#: templates/js/translated/stock.js:760
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:489
+#: templates/js/translated/stock.js:782
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:515
+#: templates/js/translated/stock.js:808
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:563
+#: templates/js/translated/stock.js:865
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:670
+#: templates/js/translated/stock.js:972
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:674
+#: templates/js/translated/stock.js:976
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:678
+#: templates/js/translated/stock.js:980
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:984
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:688
+#: templates/js/translated/stock.js:990
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:844
+#: templates/js/translated/stock.js:1148
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:849
+#: templates/js/translated/stock.js:1153
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:852
+#: templates/js/translated/stock.js:1156
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:856
+#: templates/js/translated/stock.js:1160
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:858
+#: templates/js/translated/stock.js:1162
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:1166
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:866
+#: templates/js/translated/stock.js:1170
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:873
+#: templates/js/translated/stock.js:1177
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:1179
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:877
+#: templates/js/translated/stock.js:1181
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:881
-#: templates/js/translated/table_filters.js:161
+#: templates/js/translated/stock.js:1185
+#: templates/js/translated/table_filters.js:177
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:935
+#: templates/js/translated/stock.js:1235
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1308
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1046
+#: templates/js/translated/stock.js:1346
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115
+#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415
msgid "items"
msgstr ""
-#: templates/js/translated/stock.js:1155
+#: templates/js/translated/stock.js:1455
msgid "batches"
msgstr ""
-#: templates/js/translated/stock.js:1182
+#: templates/js/translated/stock.js:1482
msgid "locations"
msgstr ""
-#: templates/js/translated/stock.js:1184
+#: templates/js/translated/stock.js:1484
msgid "Undefined location"
msgstr ""
-#: templates/js/translated/stock.js:1358
+#: templates/js/translated/stock.js:1658
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:1372
+#: templates/js/translated/stock.js:1672
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:1373
+#: templates/js/translated/stock.js:1673
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:1512
+#: templates/js/translated/stock.js:1897
msgid "Invalid date"
msgstr ""
-#: templates/js/translated/stock.js:1559
+#: templates/js/translated/stock.js:1919
+msgid "Details"
+msgstr ""
+
+#: templates/js/translated/stock.js:1944
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1578
+#: templates/js/translated/stock.js:1963
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1597
+#: templates/js/translated/stock.js:1982
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1615
+#: templates/js/translated/stock.js:2000
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1638
+#: templates/js/translated/stock.js:2023
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:1646
+#: templates/js/translated/stock.js:2031
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:1687
+#: templates/js/translated/stock.js:2072
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1688
+#: templates/js/translated/stock.js:2073
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:2124
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:1835
-msgid "Serial"
-msgstr ""
-
-#: templates/js/translated/stock.js:1863
+#: templates/js/translated/stock.js:2175
msgid "Uninstall Stock Item"
msgstr ""
@@ -8023,254 +8011,264 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:156
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:172
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:93
+#: templates/js/translated/table_filters.js:105
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:103
-#: templates/js/translated/table_filters.js:104
-#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:115
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:352
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:114
-#: templates/js/translated/table_filters.js:191
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:117
-#: templates/js/translated/table_filters.js:198
-msgid "Serial number GTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:118
-#: templates/js/translated/table_filters.js:199
-msgid "Serial number greater than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:121
-#: templates/js/translated/table_filters.js:202
-msgid "Serial number LTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:122
-#: templates/js/translated/table_filters.js:203
-msgid "Serial number less than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:125
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:195
-msgid "Serial number"
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:387
+msgid "Subscribed"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:212
-msgid "Batch code"
+#: templates/js/translated/table_filters.js:207
+msgid "Is Serialized"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:214
+msgid "Serial number GTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:134
+#: templates/js/translated/table_filters.js:215
+msgid "Serial number greater than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:137
+#: templates/js/translated/table_filters.js:218
+msgid "Serial number LTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:138
+#: templates/js/translated/table_filters.js:219
+msgid "Serial number less than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:141
-#: templates/js/translated/table_filters.js:326
-msgid "Active parts"
-msgstr ""
-
#: templates/js/translated/table_filters.js:142
-msgid "Show stock for active parts"
+#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:211
+msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:147
-msgid "Part is an assembly"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:151
-msgid "Is allocated"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:152
-msgid "Item has been allocated"
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:228
+msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:157
-msgid "Include stock in sublocations"
+#: templates/js/translated/table_filters.js:342
+msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:162
-msgid "Show stock items which are depleted"
+#: templates/js/translated/table_filters.js:158
+msgid "Show stock for active parts"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:163
+msgid "Part is an assembly"
msgstr ""
#: templates/js/translated/table_filters.js:167
+msgid "Is allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:168
+msgid "Item has been allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:173
+msgid "Include stock in sublocations"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:178
+msgid "Show stock items which are depleted"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:183
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:187
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:188
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:176
+#: templates/js/translated/table_filters.js:192
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:177
+#: templates/js/translated/table_filters.js:193
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:197
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:182
+#: templates/js/translated/table_filters.js:198
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:187
+#: templates/js/translated/table_filters.js:203
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:207
-#: templates/js/translated/table_filters.js:208
+#: templates/js/translated/table_filters.js:223
+#: templates/js/translated/table_filters.js:224
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/table_filters.js:232
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:233
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:242
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:248
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:279
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:291
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:307
+#: templates/js/translated/table_filters.js:324
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:296
-#: templates/js/translated/table_filters.js:313
+#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:329
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:337
+#: templates/js/translated/table_filters.js:353
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:341
+#: templates/js/translated/table_filters.js:357
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:342
+#: templates/js/translated/table_filters.js:358
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:347
+#: templates/js/translated/table_filters.js:363
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:355
+#: templates/js/translated/table_filters.js:371
msgid "Stock available"
msgstr ""
-#: templates/js/translated/table_filters.js:371
-msgid "Starred"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:383
+#: templates/js/translated/table_filters.js:399
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/tables.js:366
+#: templates/js/translated/tables.js:368
msgid "Loading data"
msgstr ""
-#: templates/js/translated/tables.js:369
+#: templates/js/translated/tables.js:371
msgid "rows per page"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "Showing"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "to"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "of"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "rows"
msgstr ""
-#: templates/js/translated/tables.js:378
+#: templates/js/translated/tables.js:377 templates/search_form.html:6
+#: templates/search_form.html:7
+msgid "Search"
+msgstr ""
+
+#: templates/js/translated/tables.js:380
msgid "No matching results"
msgstr ""
-#: templates/js/translated/tables.js:381
+#: templates/js/translated/tables.js:383
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/translated/tables.js:384
+#: templates/js/translated/tables.js:386
msgid "Refresh"
msgstr ""
-#: templates/js/translated/tables.js:387
+#: templates/js/translated/tables.js:389
msgid "Toggle"
msgstr ""
-#: templates/js/translated/tables.js:390
+#: templates/js/translated/tables.js:392
msgid "Columns"
msgstr ""
-#: templates/js/translated/tables.js:393
+#: templates/js/translated/tables.js:395
msgid "All"
msgstr ""
-#: templates/navbar.html:19
-msgid "Toggle navigation"
-msgstr ""
-
-#: templates/navbar.html:39
+#: templates/navbar.html:40
msgid "Buy"
msgstr ""
-#: templates/navbar.html:51
+#: templates/navbar.html:52
msgid "Sell"
msgstr ""
-#: templates/navbar.html:83 users/models.py:39
+#: templates/navbar.html:86 users/models.py:39
msgid "Admin"
msgstr ""
-#: templates/navbar.html:85
+#: templates/navbar.html:88
msgid "Logout"
msgstr ""
-#: templates/navbar.html:106
+#: templates/navbar.html:90
+msgid "Login"
+msgstr ""
+
+#: templates/navbar.html:111
msgid "About InvenTree"
msgstr ""
+#: templates/navbar_demo.html:5
+msgid "InvenTree demo mode"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -8283,6 +8281,10 @@ msgstr ""
msgid "Log in again"
msgstr ""
+#: templates/stats.html:9
+msgid "Server"
+msgstr ""
+
#: templates/stats.html:13
msgid "Instance Name"
msgstr ""
@@ -8336,54 +8338,50 @@ msgid "Export Stock Information"
msgstr ""
#: templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/stock_table.html:27
msgid "Barcode Actions"
msgstr ""
-#: templates/stock_table.html:43
+#: templates/stock_table.html:36
msgid "Print test reports"
msgstr ""
-#: templates/stock_table.html:50
+#: templates/stock_table.html:43
msgid "Stock Options"
msgstr ""
-#: templates/stock_table.html:55
+#: templates/stock_table.html:48
msgid "Add to selected stock items"
msgstr ""
-#: templates/stock_table.html:56
+#: templates/stock_table.html:49
msgid "Remove from selected stock items"
msgstr ""
-#: templates/stock_table.html:57
+#: templates/stock_table.html:50
msgid "Stocktake selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move stock"
msgstr ""
-#: templates/stock_table.html:59
+#: templates/stock_table.html:52
msgid "Order selected items"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change status"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change stock status"
msgstr ""
-#: templates/stock_table.html:63
+#: templates/stock_table.html:56
msgid "Delete selected items"
msgstr ""
@@ -8419,35 +8417,34 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:182
+#: users/models.py:187
msgid "Permission set"
msgstr ""
-#: users/models.py:190
+#: users/models.py:195
msgid "Group"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "View"
msgstr ""
-#: users/models.py:193
+#: users/models.py:198
msgid "Permission to view items"
msgstr ""
-#: users/models.py:195
+#: users/models.py:200
msgid "Permission to add items"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Change"
msgstr ""
-#: users/models.py:197
+#: users/models.py:202
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:199
+#: users/models.py:204
msgid "Permission to delete items"
msgstr ""
-
diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.mo b/InvenTree/locale/zh/LC_MESSAGES/django.mo
index d02b517fab..ca6e3887e3 100644
Binary files a/InvenTree/locale/zh/LC_MESSAGES/django.mo and b/InvenTree/locale/zh/LC_MESSAGES/django.mo differ
diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po
index 89b8b3fadc..a4b552ce13 100644
--- a/InvenTree/locale/zh/LC_MESSAGES/django.po
+++ b/InvenTree/locale/zh/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-11 06:21+0000\n"
+"POT-Creation-Date: 2021-11-22 22:08+0000\n"
"PO-Revision-Date: 2021-10-11 06:29\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
@@ -33,260 +33,266 @@ msgstr "未找到指定操作"
msgid "Enter date"
msgstr "输入日期"
-#: InvenTree/forms.py:116 build/forms.py:102 build/forms.py:123
-#: build/forms.py:145 build/forms.py:173 build/forms.py:215 order/forms.py:27
-#: order/forms.py:38 order/forms.py:49 order/forms.py:60 order/forms.py:71
-#: part/forms.py:108 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:564
+#: InvenTree/forms.py:120 build/forms.py:48 build/forms.py:69 build/forms.py:93
+#: order/forms.py:26 order/forms.py:37 order/forms.py:48 order/forms.py:59
+#: order/forms.py:70 part/forms.py:108 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:594
msgid "Confirm"
msgstr "确认"
-#: InvenTree/forms.py:132
+#: InvenTree/forms.py:136
msgid "Confirm delete"
msgstr "确认删除"
-#: InvenTree/forms.py:133
+#: InvenTree/forms.py:137
msgid "Confirm item deletion"
msgstr "确认删除"
-#: InvenTree/forms.py:164
+#: InvenTree/forms.py:168
msgid "Enter password"
msgstr "输入密码"
-#: InvenTree/forms.py:165
+#: InvenTree/forms.py:169
msgid "Enter new password"
msgstr "输入新密码"
-#: InvenTree/forms.py:172
+#: InvenTree/forms.py:176
msgid "Confirm password"
msgstr "确认密码"
-#: InvenTree/forms.py:173
+#: InvenTree/forms.py:177
msgid "Confirm new password"
msgstr "确认新密码"
-#: InvenTree/forms.py:205
+#: InvenTree/forms.py:209
msgid "Select Category"
msgstr "选择分类"
-#: InvenTree/forms.py:226
-msgid "E-mail (again)"
-msgstr ""
-
#: InvenTree/forms.py:230
-msgid "E-mail address confirmation"
+msgid "Email (again)"
msgstr ""
-#: InvenTree/forms.py:250
+#: InvenTree/forms.py:234
+msgid "Email address confirmation"
+msgstr ""
+
+#: InvenTree/forms.py:254
msgid "You must type the same email each time."
msgstr ""
-#: InvenTree/helpers.py:401
+#: InvenTree/helpers.py:430
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr "重复的序列号: {n}"
-#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:437
-#: stock/views.py:1340
+#: InvenTree/helpers.py:437 order/models.py:318 order/models.py:440
+#: stock/views.py:1264
msgid "Invalid quantity provided"
msgstr "提供的数量无效"
-#: InvenTree/helpers.py:411
+#: InvenTree/helpers.py:440
msgid "Empty serial number string"
msgstr "空序列号字符串"
-#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:462 InvenTree/helpers.py:465 InvenTree/helpers.py:468
+#: InvenTree/helpers.py:493
#, python-brace-format
msgid "Invalid group: {g}"
msgstr "无效的群组: {g}"
-#: InvenTree/helpers.py:469
+#: InvenTree/helpers.py:498
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr "重复的序列号: {g}"
-#: InvenTree/helpers.py:477
+#: InvenTree/helpers.py:506
msgid "No serial numbers found"
msgstr "未找到序列号"
-#: InvenTree/helpers.py:481
+#: InvenTree/helpers.py:510
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr "唯一序列号 ({s}) 必须匹配数量 ({q})"
-#: InvenTree/models.py:66 stock/models.py:1823
+#: InvenTree/models.py:109 stock/models.py:1874
msgid "Attachment"
msgstr "附件"
-#: InvenTree/models.py:67
+#: InvenTree/models.py:110
msgid "Select file to attach"
msgstr "选择附件"
-#: InvenTree/models.py:69 templates/js/translated/attachment.js:87
+#: InvenTree/models.py:112 templates/js/translated/attachment.js:91
msgid "Comment"
msgstr "注释"
-#: InvenTree/models.py:69
+#: InvenTree/models.py:112
msgid "File comment"
msgstr "文件注释"
-#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:1055
-#: common/models.py:1056 part/models.py:2055
-#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/translated/stock.js:1669
+#: InvenTree/models.py:118 InvenTree/models.py:119 common/models.py:1185
+#: common/models.py:1186 part/models.py:2205 part/models.py:2225
+#: report/templates/report/inventree_test_report_base.html:96
+#: templates/js/translated/stock.js:2054
msgid "User"
msgstr "用户"
-#: InvenTree/models.py:79
+#: InvenTree/models.py:122
msgid "upload date"
msgstr "上传日期"
-#: InvenTree/models.py:99
+#: InvenTree/models.py:142
msgid "Filename must not be empty"
msgstr "文件名不能为空!"
-#: InvenTree/models.py:122
+#: InvenTree/models.py:165
msgid "Invalid attachment directory"
msgstr "非法的附件目录"
-#: InvenTree/models.py:132
+#: InvenTree/models.py:175
#, python-brace-format
msgid "Filename contains illegal character '{c}'"
msgstr "文件名包含非法字符 '{c}'"
-#: InvenTree/models.py:135
+#: InvenTree/models.py:178
msgid "Filename missing extension"
msgstr "缺少文件名扩展"
-#: InvenTree/models.py:142
+#: InvenTree/models.py:185
msgid "Attachment with this filename already exists"
msgstr "使用此文件名的附件已存在"
-#: InvenTree/models.py:149
+#: InvenTree/models.py:192
msgid "Error renaming file"
msgstr "重命名文件出错"
-#: InvenTree/models.py:184
+#: InvenTree/models.py:227
msgid "Invalid choice"
msgstr "选择无效"
-#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:415
-#: label/models.py:112 part/models.py:659 part/models.py:2216
-#: part/templates/part/part_base.html:241 report/models.py:181
-#: templates/js/translated/company.js:637 templates/js/translated/part.js:477
-#: templates/js/translated/part.js:614 templates/js/translated/part.js:1141
-#: templates/js/translated/stock.js:1462
+#: InvenTree/models.py:243 InvenTree/models.py:244 company/models.py:415
+#: label/models.py:112 part/models.py:741 part/models.py:2389
+#: part/templates/part/detail.html:25 report/models.py:181
+#: templates/js/translated/company.js:637 templates/js/translated/part.js:498
+#: templates/js/translated/part.js:635 templates/js/translated/part.js:1272
+#: templates/js/translated/stock.js:1847
msgid "Name"
msgstr "名称"
-#: InvenTree/models.py:207 build/models.py:189
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/manufacturer_part.html:76
-#: company/templates/company/supplier_part.html:75 label/models.py:119
-#: order/models.py:158 part/models.py:682
-#: part/templates/part/part_base.html:246
+#: InvenTree/models.py:250 build/models.py:207
+#: build/templates/build/detail.html:25 company/models.py:354
+#: company/models.py:570 company/templates/company/manufacturer_part.html:80
+#: company/templates/company/supplier_part.html:81 label/models.py:119
+#: order/models.py:161 part/models.py:764 part/templates/part/detail.html:30
#: part/templates/part/set_category.html:14 report/models.py:194
-#: report/models.py:551 report/models.py:590
+#: report/models.py:553 report/models.py:592
#: report/templates/report/inventree_build_order_base.html:118
-#: templates/InvenTree/settings/header.html:9
-#: templates/js/translated/bom.js:249 templates/js/translated/build.js:1217
-#: templates/js/translated/build.js:1505 templates/js/translated/company.js:344
+#: stock/templates/stock/location.html:108 templates/js/translated/bom.js:214
+#: templates/js/translated/bom.js:426 templates/js/translated/build.js:1621
+#: templates/js/translated/company.js:344
#: templates/js/translated/company.js:547
-#: templates/js/translated/company.js:836 templates/js/translated/order.js:672
-#: templates/js/translated/order.js:832 templates/js/translated/order.js:1056
-#: templates/js/translated/part.js:536 templates/js/translated/part.js:724
-#: templates/js/translated/part.js:913 templates/js/translated/part.js:1153
-#: templates/js/translated/part.js:1221 templates/js/translated/stock.js:819
-#: templates/js/translated/stock.js:1474 templates/js/translated/stock.js:1519
+#: templates/js/translated/company.js:836 templates/js/translated/order.js:673
+#: templates/js/translated/order.js:833 templates/js/translated/order.js:1069
+#: templates/js/translated/part.js:557 templates/js/translated/part.js:745
+#: templates/js/translated/part.js:914 templates/js/translated/part.js:1291
+#: templates/js/translated/part.js:1360 templates/js/translated/stock.js:1121
+#: templates/js/translated/stock.js:1859 templates/js/translated/stock.js:1904
msgid "Description"
msgstr "描述信息"
-#: InvenTree/models.py:208
+#: InvenTree/models.py:251
msgid "Description (optional)"
msgstr "描述 (可选)"
-#: InvenTree/models.py:216
+#: InvenTree/models.py:259
msgid "parent"
msgstr "上级项"
-#: InvenTree/serializers.py:55 part/models.py:2475
+#: InvenTree/serializers.py:62 part/models.py:2674
msgid "Must be a valid number"
msgstr "必须是有效数字"
-#: InvenTree/serializers.py:244
+#: InvenTree/serializers.py:251
msgid "Filename"
msgstr "文件名"
-#: InvenTree/settings.py:529
+#: InvenTree/settings.py:663
msgid "German"
msgstr "德语"
-#: InvenTree/settings.py:530
+#: InvenTree/settings.py:664
msgid "Greek"
msgstr "希腊语"
-#: InvenTree/settings.py:531
+#: InvenTree/settings.py:665
msgid "English"
msgstr "英语"
-#: InvenTree/settings.py:532
+#: InvenTree/settings.py:666
msgid "Spanish"
msgstr "西班牙语"
-#: InvenTree/settings.py:533
+#: InvenTree/settings.py:667
+msgid "Spanish (Mexican)"
+msgstr ""
+
+#: InvenTree/settings.py:668
msgid "French"
msgstr "法语"
-#: InvenTree/settings.py:534
+#: InvenTree/settings.py:669
msgid "Hebrew"
msgstr "希伯来语"
-#: InvenTree/settings.py:535
+#: InvenTree/settings.py:670
msgid "Italian"
msgstr "意大利语"
-#: InvenTree/settings.py:536
+#: InvenTree/settings.py:671
msgid "Japanese"
msgstr "日语"
-#: InvenTree/settings.py:537
+#: InvenTree/settings.py:672
msgid "Korean"
msgstr "韩语"
-#: InvenTree/settings.py:538
+#: InvenTree/settings.py:673
msgid "Dutch"
msgstr "荷兰语"
-#: InvenTree/settings.py:539
+#: InvenTree/settings.py:674
msgid "Norwegian"
msgstr "挪威语"
-#: InvenTree/settings.py:540
+#: InvenTree/settings.py:675
msgid "Polish"
msgstr "波兰语"
-#: InvenTree/settings.py:541
+#: InvenTree/settings.py:676
+msgid "Portugese"
+msgstr ""
+
+#: InvenTree/settings.py:677
msgid "Russian"
msgstr "俄语"
-#: InvenTree/settings.py:542
+#: InvenTree/settings.py:678
msgid "Swedish"
msgstr "瑞典语"
-#: InvenTree/settings.py:543
+#: InvenTree/settings.py:679
msgid "Thai"
msgstr "泰语"
-#: InvenTree/settings.py:544
+#: InvenTree/settings.py:680
msgid "Turkish"
msgstr "土耳其语"
-#: InvenTree/settings.py:545
+#: InvenTree/settings.py:681
msgid "Vietnamese"
msgstr "越南语"
-#: InvenTree/settings.py:546
+#: InvenTree/settings.py:682
msgid "Chinese"
msgstr "中文(简体)"
@@ -302,196 +308,196 @@ msgstr "未配置电子邮件后端"
msgid "InvenTree system health checks failed"
msgstr "InventTree系统健康检查失败"
-#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145
-#: InvenTree/status_codes.py:314
+#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142
+#: InvenTree/status_codes.py:311
msgid "Pending"
msgstr "待定"
-#: InvenTree/status_codes.py:105
+#: InvenTree/status_codes.py:102
msgid "Placed"
msgstr "已添加"
-#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317
+#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:314
msgid "Complete"
msgstr "完成"
-#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147
-#: InvenTree/status_codes.py:316
+#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:144
+#: InvenTree/status_codes.py:313
msgid "Cancelled"
msgstr "已取消"
-#: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148
-#: InvenTree/status_codes.py:190
+#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145
+#: InvenTree/status_codes.py:187
msgid "Lost"
msgstr "丢失"
-#: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149
-#: InvenTree/status_codes.py:192
+#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146
+#: InvenTree/status_codes.py:189
msgid "Returned"
msgstr "已退回"
-#: InvenTree/status_codes.py:146
-#: order/templates/order/sales_order_base.html:131
+#: InvenTree/status_codes.py:143
+#: order/templates/order/sales_order_base.html:147
msgid "Shipped"
msgstr "已发货"
-#: InvenTree/status_codes.py:186
+#: InvenTree/status_codes.py:183
msgid "OK"
msgstr "OK"
-#: InvenTree/status_codes.py:187
+#: InvenTree/status_codes.py:184
msgid "Attention needed"
msgstr "需要关注"
-#: InvenTree/status_codes.py:188
+#: InvenTree/status_codes.py:185
msgid "Damaged"
msgstr "破损"
-#: InvenTree/status_codes.py:189
+#: InvenTree/status_codes.py:186
msgid "Destroyed"
msgstr "已销毁"
-#: InvenTree/status_codes.py:191
+#: InvenTree/status_codes.py:188
msgid "Rejected"
msgstr "Rejected"
-#: InvenTree/status_codes.py:272
+#: InvenTree/status_codes.py:269
msgid "Legacy stock tracking entry"
msgstr "旧库存跟踪条目"
-#: InvenTree/status_codes.py:274
+#: InvenTree/status_codes.py:271
msgid "Stock item created"
msgstr "库存项已创建"
-#: InvenTree/status_codes.py:276
+#: InvenTree/status_codes.py:273
msgid "Edited stock item"
msgstr "已编辑库存项"
-#: InvenTree/status_codes.py:277
+#: InvenTree/status_codes.py:274
msgid "Assigned serial number"
msgstr "已分配序列号"
-#: InvenTree/status_codes.py:279
+#: InvenTree/status_codes.py:276
msgid "Stock counted"
msgstr "库存计数"
-#: InvenTree/status_codes.py:280
+#: InvenTree/status_codes.py:277
msgid "Stock manually added"
msgstr "已手动添加库存"
-#: InvenTree/status_codes.py:281
+#: InvenTree/status_codes.py:278
msgid "Stock manually removed"
msgstr "库存手动删除"
-#: InvenTree/status_codes.py:283
+#: InvenTree/status_codes.py:280
msgid "Location changed"
msgstr "仓储地点已更改"
-#: InvenTree/status_codes.py:285
+#: InvenTree/status_codes.py:282
msgid "Installed into assembly"
msgstr "安装到组装中"
-#: InvenTree/status_codes.py:286
+#: InvenTree/status_codes.py:283
msgid "Removed from assembly"
msgstr "已从组装中删除"
-#: InvenTree/status_codes.py:288
+#: InvenTree/status_codes.py:285
msgid "Installed component item"
msgstr "已安装组件项"
-#: InvenTree/status_codes.py:289
+#: InvenTree/status_codes.py:286
msgid "Removed component item"
msgstr "已删除组件项"
-#: InvenTree/status_codes.py:291
+#: InvenTree/status_codes.py:288
msgid "Split from parent item"
msgstr "从父项拆分"
-#: InvenTree/status_codes.py:292
+#: InvenTree/status_codes.py:289
msgid "Split child item"
msgstr "拆分子项"
-#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186
+#: InvenTree/status_codes.py:291 templates/js/translated/table_filters.js:202
msgid "Sent to customer"
msgstr "发送给客户"
-#: InvenTree/status_codes.py:295
+#: InvenTree/status_codes.py:292
msgid "Returned from customer"
msgstr "从客户退货"
-#: InvenTree/status_codes.py:297
+#: InvenTree/status_codes.py:294
msgid "Build order output created"
msgstr "已创建生产订单输出"
-#: InvenTree/status_codes.py:298
+#: InvenTree/status_codes.py:295
msgid "Build order output completed"
msgstr "生产订单输出已完成"
-#: InvenTree/status_codes.py:300
+#: InvenTree/status_codes.py:297
msgid "Received against purchase order"
msgstr "收到定购单"
-#: InvenTree/status_codes.py:315
+#: InvenTree/status_codes.py:312
msgid "Production"
msgstr "生产中"
-#: InvenTree/validators.py:22
+#: InvenTree/validators.py:23
msgid "Not a valid currency code"
msgstr "不是有效的货币代码"
-#: InvenTree/validators.py:50
+#: InvenTree/validators.py:51
msgid "Invalid character in part name"
msgstr "商品名称中存在无效字符"
-#: InvenTree/validators.py:63
+#: InvenTree/validators.py:64
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN 必须匹配正则表达式 {pat}"
-#: InvenTree/validators.py:77 InvenTree/validators.py:91
-#: InvenTree/validators.py:105
+#: InvenTree/validators.py:78 InvenTree/validators.py:92
+#: InvenTree/validators.py:106
#, python-brace-format
msgid "Reference must match pattern {pattern}"
msgstr "引用必须匹配模板 {pattern}"
-#: InvenTree/validators.py:113
+#: InvenTree/validators.py:114
#, python-brace-format
msgid "Illegal character in name ({x})"
msgstr "名称中存在非法字符 ({x})"
-#: InvenTree/validators.py:132 InvenTree/validators.py:148
+#: InvenTree/validators.py:133 InvenTree/validators.py:149
msgid "Overage value must not be negative"
msgstr "备损值不能为负数"
-#: InvenTree/validators.py:150
+#: InvenTree/validators.py:151
msgid "Overage must not exceed 100%"
msgstr "备损不能超过 100%"
-#: InvenTree/validators.py:157
+#: InvenTree/validators.py:158
msgid "Overage must be an integer value or a percentage"
msgstr "备损必须是整数值或百分比"
-#: InvenTree/views.py:616
+#: InvenTree/views.py:536
msgid "Delete Item"
msgstr "删除项"
-#: InvenTree/views.py:665
+#: InvenTree/views.py:585
msgid "Check box to confirm item deletion"
msgstr "选中方框以确认项目删除"
-#: InvenTree/views.py:680 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:600 templates/InvenTree/settings/user.html:17
msgid "Edit User Information"
msgstr "编辑用户信息"
-#: InvenTree/views.py:691 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:611 templates/InvenTree/settings/user.html:21
msgid "Set Password"
msgstr "设置密码"
-#: InvenTree/views.py:710
+#: InvenTree/views.py:630
msgid "Password fields must match"
msgstr "密码字段必须相匹配。"
-#: InvenTree/views.py:954 templates/navbar.html:97
+#: InvenTree/views.py:863 templates/navbar.html:101
msgid "System Information"
msgstr "系统信息"
@@ -535,599 +541,586 @@ msgstr "条码哈希值已经匹配库存项目"
msgid "Barcode associated with StockItem"
msgstr "与库存项关联的条形码"
-#: build/api.py:213
-msgid "Matching build order does not exist"
-msgstr ""
-
-#: build/forms.py:37
-msgid "Build Order reference"
-msgstr "相关生产订单"
-
-#: build/forms.py:38
-msgid "Order target date"
-msgstr "订单预计日期"
-
-#: build/forms.py:42 build/templates/build/build_base.html:146
-#: build/templates/build/detail.html:124
-#: order/templates/order/order_base.html:124
-#: order/templates/order/sales_order_base.html:124
-#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:1288 templates/js/translated/order.js:689
-#: templates/js/translated/order.js:1074
-msgid "Target Date"
-msgstr "预计日期"
-
-#: build/forms.py:43 build/models.py:279
-msgid "Target date for build completion. Build will be overdue after this date."
-msgstr "生产完成的目标日期。生产将在此日期之后逾期。"
-
-#: build/forms.py:48 build/forms.py:90 build/models.py:1281
-#: build/templates/build/allocation_card.html:23
-#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:1087
-#: company/forms.py:42 company/templates/company/supplier_part.html:226
-#: order/forms.py:101 order/forms.py:123 order/models.py:720
-#: order/models.py:982 order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:249
-#: part/forms.py:265 part/forms.py:281 part/models.py:2377
+#: build/forms.py:36 build/models.py:1283
+#: build/templates/build/build_base.html:124
+#: build/templates/build/detail.html:35 common/models.py:1225
+#: company/forms.py:42 company/templates/company/supplier_part.html:251
+#: order/forms.py:102 order/models.py:729 order/models.py:991
+#: order/templates/order/order_wizard/match_parts.html:30
+#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:237
+#: part/forms.py:253 part/forms.py:269 part/models.py:2576
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:944 part/templates/part/detail.html:1030
+#: part/templates/part/detail.html:1122 part/templates/part/detail.html:1208
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
-#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:140 stock/templates/stock/item_base.html:269
-#: stock/templates/stock/stock_adjust.html:18
-#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:264
-#: templates/js/translated/build.js:314 templates/js/translated/build.js:638
-#: templates/js/translated/build.js:977 templates/js/translated/build.js:1515
-#: templates/js/translated/model_renderers.js:74
-#: templates/js/translated/order.js:868 templates/js/translated/order.js:1170
-#: templates/js/translated/order.js:1248 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1344 templates/js/translated/order.js:1444
-#: templates/js/translated/part.js:1364 templates/js/translated/part.js:1487
-#: templates/js/translated/part.js:1565 templates/js/translated/stock.js:1654
-#: templates/js/translated/stock.js:1829
+#: report/templates/report/inventree_test_report_base.html:81
+#: report/templates/report/inventree_test_report_base.html:139
+#: stock/forms.py:156 stock/serializers.py:286
+#: stock/templates/stock/item_base.html:256
+#: templates/js/translated/barcode.js:385 templates/js/translated/bom.js:441
+#: templates/js/translated/build.js:235 templates/js/translated/build.js:435
+#: templates/js/translated/build.js:629 templates/js/translated/build.js:639
+#: templates/js/translated/build.js:1015 templates/js/translated/build.js:1362
+#: templates/js/translated/model_renderers.js:99
+#: templates/js/translated/order.js:870 templates/js/translated/order.js:1183
+#: templates/js/translated/order.js:1261 templates/js/translated/order.js:1268
+#: templates/js/translated/order.js:1357 templates/js/translated/order.js:1457
+#: templates/js/translated/part.js:1503 templates/js/translated/part.js:1626
+#: templates/js/translated/part.js:1704 templates/js/translated/stock.js:347
+#: templates/js/translated/stock.js:2039 templates/js/translated/stock.js:2141
msgid "Quantity"
msgstr "数量"
-#: build/forms.py:49
-msgid "Number of items to build"
-msgstr "要生产的项目数量"
-
-#: build/forms.py:91
+#: build/forms.py:37
msgid "Enter quantity for build output"
msgstr "输入生产产出数量"
-#: build/forms.py:95 order/forms.py:95 stock/forms.py:83
+#: build/forms.py:41 order/forms.py:96 stock/forms.py:95
+#: stock/serializers.py:307 templates/js/translated/stock.js:194
+#: templates/js/translated/stock.js:348
msgid "Serial Numbers"
msgstr "序列号"
-#: build/forms.py:97
+#: build/forms.py:43
msgid "Enter serial numbers for build outputs"
msgstr "输入生产产出的序列号"
-#: build/forms.py:103
+#: build/forms.py:49
msgid "Confirm creation of build output"
msgstr "确认创建生产产出"
-#: build/forms.py:124
+#: build/forms.py:70
msgid "Confirm deletion of build output"
msgstr "确认删除生产产出"
-#: build/forms.py:145
-msgid "Confirm unallocation of stock"
-msgstr "确认取消分配库存"
-
-#: build/forms.py:174
+#: build/forms.py:94
msgid "Mark build as complete"
msgstr "标记生产已完成"
-#: build/forms.py:198 order/serializers.py:217 order/serializers.py:284
-#: stock/forms.py:280 stock/serializers.py:553
-#: stock/templates/stock/item_base.html:299
-#: stock/templates/stock/stock_adjust.html:17
-#: templates/js/translated/barcode.js:385
-#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:299
-#: templates/js/translated/build.js:650 templates/js/translated/order.js:347
-#: templates/js/translated/order.js:1155 templates/js/translated/order.js:1263
-#: templates/js/translated/order.js:1269 templates/js/translated/part.js:179
-#: templates/js/translated/stock.js:183 templates/js/translated/stock.js:921
-#: templates/js/translated/stock.js:1546
-msgid "Location"
-msgstr "地点"
-
-#: build/forms.py:199
-msgid "Location of completed parts"
-msgstr "已完成商品所在仓储地点"
-
-#: build/forms.py:203 build/templates/build/build_base.html:138
-#: build/templates/build/detail.html:62 order/models.py:563
-#: order/serializers.py:238 stock/templates/stock/item_base.html:422
-#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:1251
-#: templates/js/translated/order.js:430 templates/js/translated/order.js:676
-#: templates/js/translated/order.js:1061 templates/js/translated/stock.js:896
-#: templates/js/translated/stock.js:1623 templates/js/translated/stock.js:1845
-msgid "Status"
-msgstr "状态"
-
-#: build/forms.py:204
-msgid "Build output stock status"
-msgstr "生产产出库存状态"
-
-#: build/forms.py:211
-msgid "Confirm incomplete"
-msgstr "确认未完成"
-
-#: build/forms.py:212
-msgid "Confirm completion with incomplete stock allocation"
-msgstr "确认以未完成库存分配方式完成"
-
-#: build/forms.py:215
-msgid "Confirm build completion"
-msgstr "确认生产完成"
-
-#: build/forms.py:240
+#: build/forms.py:107
msgid "Confirm cancel"
msgstr "确认取消"
-#: build/forms.py:240 build/views.py:65
+#: build/forms.py:107 build/views.py:65
msgid "Confirm build cancellation"
msgstr "确认生产取消"
-#: build/models.py:115
+#: build/models.py:133
msgid "Invalid choice for parent build"
msgstr "上级生产选项无效"
-#: build/models.py:119 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:73
+#: build/models.py:137 build/templates/build/build_base.html:9
+#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:276
+#: templates/js/translated/build.js:397
msgid "Build Order"
msgstr "生产订单"
-#: build/models.py:120 build/templates/build/index.html:8
-#: build/templates/build/index.html:15
-#: order/templates/order/sales_order_detail.html:34
-#: order/templates/order/so_navbar.html:19
-#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50
-#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229
-#: templates/InvenTree/search.html:171
-#: templates/InvenTree/settings/navbar.html:113
-#: templates/InvenTree/settings/navbar.html:115 users/models.py:44
+#: build/models.py:138 build/templates/build/build_base.html:13
+#: build/templates/build/index.html:8 build/templates/build/index.html:12
+#: order/templates/order/sales_order_detail.html:42
+#: templates/InvenTree/index.html:221 templates/InvenTree/search.html:145
+#: users/models.py:44
msgid "Build Orders"
msgstr "生产订单"
-#: build/models.py:180
+#: build/models.py:198
msgid "Build Order Reference"
msgstr "相关生产订单"
-#: build/models.py:181 order/models.py:246 order/models.py:547
-#: order/models.py:727 part/models.py:2386
+#: build/models.py:199 order/models.py:249 order/models.py:556
+#: order/models.py:736 part/models.py:2585
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:256 templates/js/translated/build.js:734
-#: templates/js/translated/build.js:1509 templates/js/translated/order.js:863
-#: templates/js/translated/order.js:1438
+#: templates/js/translated/bom.js:433 templates/js/translated/build.js:1119
+#: templates/js/translated/order.js:864 templates/js/translated/order.js:1451
msgid "Reference"
msgstr "引用"
-#: build/models.py:192
+#: build/models.py:210
msgid "Brief description of the build"
msgstr "生产的简短描述."
-#: build/models.py:201 build/templates/build/build_base.html:163
-#: build/templates/build/detail.html:80
+#: build/models.py:219 build/templates/build/build_base.html:156
+#: build/templates/build/detail.html:88
msgid "Parent Build"
msgstr "上级生产"
-#: build/models.py:202
+#: build/models.py:220
msgid "BuildOrder to which this build is allocated"
msgstr "此次生产匹配的订单"
-#: build/models.py:207 build/templates/build/build_base.html:128
-#: build/templates/build/detail.html:29 company/models.py:705
-#: order/models.py:780 order/models.py:851
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:298
-#: part/models.py:2000 part/models.py:2016 part/models.py:2035
-#: part/models.py:2053 part/models.py:2132 part/models.py:2254
-#: part/models.py:2361 part/templates/part/detail.html:199
+#: build/models.py:225 build/templates/build/build_base.html:119
+#: build/templates/build/detail.html:30 company/models.py:705
+#: order/models.py:789 order/models.py:860
+#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:357
+#: part/models.py:2151 part/models.py:2167 part/models.py:2186
+#: part/models.py:2203 part/models.py:2305 part/models.py:2427
+#: part/models.py:2560 part/models.py:2867 part/templates/part/detail.html:336
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
-#: templates/InvenTree/search.html:112 templates/js/translated/barcode.js:384
-#: templates/js/translated/bom.js:222 templates/js/translated/build.js:611
-#: templates/js/translated/build.js:974 templates/js/translated/build.js:1222
-#: templates/js/translated/build.js:1482 templates/js/translated/company.js:488
-#: templates/js/translated/company.js:745 templates/js/translated/order.js:425
-#: templates/js/translated/order.js:817 templates/js/translated/order.js:1422
-#: templates/js/translated/part.js:705 templates/js/translated/part.js:875
-#: templates/js/translated/stock.js:181 templates/js/translated/stock.js:776
-#: templates/js/translated/stock.js:1817
+#: templates/InvenTree/search.html:86
+#: templates/email/build_order_required_stock.html:17
+#: templates/email/low_stock_notification.html:16
+#: templates/js/translated/barcode.js:383 templates/js/translated/bom.js:213
+#: templates/js/translated/bom.js:391 templates/js/translated/build.js:620
+#: templates/js/translated/build.js:988 templates/js/translated/build.js:1359
+#: templates/js/translated/build.js:1626 templates/js/translated/company.js:488
+#: templates/js/translated/company.js:745 templates/js/translated/order.js:426
+#: templates/js/translated/order.js:818 templates/js/translated/order.js:1435
+#: templates/js/translated/part.js:726 templates/js/translated/part.js:892
+#: templates/js/translated/stock.js:478 templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:2129
msgid "Part"
msgstr "商品"
-#: build/models.py:215
+#: build/models.py:233
msgid "Select part to build"
msgstr "选择要生产的商品"
-#: build/models.py:220
+#: build/models.py:238
msgid "Sales Order Reference"
msgstr "相关销售订单"
-#: build/models.py:224
+#: build/models.py:242
msgid "SalesOrder to which this build is allocated"
msgstr "此次生产匹配的销售订单"
-#: build/models.py:229 templates/js/translated/build.js:962
+#: build/models.py:247 templates/js/translated/build.js:1347
msgid "Source Location"
msgstr "来源地点"
-#: build/models.py:233
+#: build/models.py:251
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
msgstr ""
-#: build/models.py:238
+#: build/models.py:256
msgid "Destination Location"
msgstr "目标地点"
-#: build/models.py:242
+#: build/models.py:260
msgid "Select location where the completed items will be stored"
msgstr "选择已完成项目仓储地点"
-#: build/models.py:246
+#: build/models.py:264
msgid "Build Quantity"
msgstr "生产数量"
-#: build/models.py:249
+#: build/models.py:267
msgid "Number of stock items to build"
msgstr "要生产的项目数量"
-#: build/models.py:253
+#: build/models.py:271
msgid "Completed items"
msgstr "已完成项目"
-#: build/models.py:255
+#: build/models.py:273
msgid "Number of stock items which have been completed"
msgstr "已完成的库存项目数量"
-#: build/models.py:259 part/templates/part/part_base.html:198
+#: build/models.py:277 part/templates/part/part_base.html:216
msgid "Build Status"
msgstr "生产状态"
-#: build/models.py:263
+#: build/models.py:281
msgid "Build status code"
msgstr "生产状态代码"
-#: build/models.py:267 stock/models.py:513
+#: build/models.py:285 stock/models.py:544
msgid "Batch Code"
msgstr "批量代码"
-#: build/models.py:271
+#: build/models.py:289
msgid "Batch code for this build output"
msgstr "此生产产出的批量代码"
-#: build/models.py:274 order/models.py:162 part/models.py:854
-#: part/templates/part/part_base.html:272 templates/js/translated/order.js:1069
+#: build/models.py:292 order/models.py:165 part/models.py:936
+#: part/templates/part/detail.html:86 templates/js/translated/order.js:1082
msgid "Creation Date"
msgstr "创建日期"
-#: build/models.py:278 order/models.py:569
+#: build/models.py:296 order/models.py:578
msgid "Target completion date"
msgstr "预计完成日期"
-#: build/models.py:282 order/models.py:288
-#: templates/js/translated/build.js:1293
+#: build/models.py:297
+msgid "Target date for build completion. Build will be overdue after this date."
+msgstr "生产完成的目标日期。生产将在此日期之后逾期。"
+
+#: build/models.py:300 order/models.py:291
+#: templates/js/translated/build.js:1697
msgid "Completion Date"
msgstr "完成日期:"
-#: build/models.py:288
+#: build/models.py:306
msgid "completed by"
msgstr "完成人"
-#: build/models.py:296 templates/js/translated/build.js:1264
+#: build/models.py:314 templates/js/translated/build.js:1668
msgid "Issued by"
msgstr "发布者"
-#: build/models.py:297
+#: build/models.py:315
msgid "User who issued this build order"
msgstr "发布此生产订单的用户"
-#: build/models.py:305 build/templates/build/build_base.html:184
-#: build/templates/build/detail.html:108 order/models.py:176
-#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:145 part/models.py:858
+#: build/models.py:323 build/templates/build/build_base.html:177
+#: build/templates/build/detail.html:116 order/models.py:179
+#: order/templates/order/order_base.html:154
+#: order/templates/order/sales_order_base.html:161 part/models.py:940
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:1276
+#: templates/js/translated/build.js:1680
msgid "Responsible"
msgstr "责任人"
-#: build/models.py:306
+#: build/models.py:324
msgid "User responsible for this build order"
msgstr "负责此生产订单的用户"
-#: build/models.py:311 build/templates/build/detail.html:94
-#: company/templates/company/manufacturer_part.html:83
-#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:266 stock/models.py:507
-#: stock/templates/stock/item_base.html:359
+#: build/models.py:329 build/templates/build/detail.html:102
+#: company/templates/company/manufacturer_part.html:87
+#: company/templates/company/supplier_part.html:88
+#: part/templates/part/detail.html:80 stock/models.py:538
+#: stock/templates/stock/item_base.html:346
msgid "External Link"
msgstr "外部链接"
-#: build/models.py:312 part/models.py:716 stock/models.py:509
+#: build/models.py:330 part/models.py:798 stock/models.py:540
msgid "Link to external URL"
msgstr "链接到外部 URL"
-#: build/models.py:316 build/templates/build/navbar.html:52
-#: company/models.py:142 company/models.py:577
-#: company/templates/company/navbar.html:69
-#: company/templates/company/navbar.html:72 order/models.py:180
-#: order/models.py:729 order/templates/order/po_navbar.html:38
-#: order/templates/order/po_navbar.html:41
-#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:843
-#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120
-#: part/templates/part/navbar.html:123
+#: build/models.py:334 build/serializers.py:201 company/models.py:142
+#: company/models.py:577 order/models.py:183 order/models.py:738
+#: part/models.py:925 part/templates/part/detail.html:223
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579
-#: stock/models.py:1723 stock/models.py:1829 stock/serializers.py:451
-#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59
-#: templates/js/translated/bom.js:406 templates/js/translated/company.js:841
-#: templates/js/translated/order.js:950 templates/js/translated/order.js:1540
-#: templates/js/translated/stock.js:559 templates/js/translated/stock.js:1040
+#: stock/forms.py:154 stock/forms.py:204 stock/forms.py:238 stock/models.py:610
+#: stock/models.py:1774 stock/models.py:1880 stock/serializers.py:325
+#: stock/serializers.py:584 templates/js/translated/barcode.js:58
+#: templates/js/translated/bom.js:597 templates/js/translated/company.js:841
+#: templates/js/translated/order.js:963 templates/js/translated/order.js:1561
+#: templates/js/translated/stock.js:861 templates/js/translated/stock.js:1340
msgid "Notes"
msgstr "备注"
-#: build/models.py:317
+#: build/models.py:335
msgid "Extra build notes"
msgstr "额外的生产备注"
-#: build/models.py:714
+#: build/models.py:710
msgid "No build output specified"
msgstr "未指定生产产出"
-#: build/models.py:717
+#: build/models.py:713
msgid "Build output is already completed"
msgstr "生产产出已完成"
-#: build/models.py:720
+#: build/models.py:716
msgid "Build output does not match Build Order"
msgstr "生产产出与订单不匹配"
-#: build/models.py:1102
+#: build/models.py:1108
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1111
+#: build/models.py:1117
#, python-brace-format
msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1121
+#: build/models.py:1127
msgid "Stock item is over-allocated"
msgstr "库存物品分配过度!"
-#: build/models.py:1127 order/models.py:955
+#: build/models.py:1133 order/models.py:964
msgid "Allocation quantity must be greater than zero"
msgstr "分配数量必须大于0"
-#: build/models.py:1133
+#: build/models.py:1139
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1191
+#: build/models.py:1193
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1251 stock/templates/stock/item_base.html:331
-#: templates/InvenTree/search.html:169 templates/js/translated/build.js:1195
-#: templates/navbar.html:35
+#: build/models.py:1253 stock/templates/stock/item_base.html:318
+#: templates/InvenTree/search.html:143 templates/js/translated/build.js:1599
+#: templates/navbar.html:33
msgid "Build"
msgstr "生产"
-#: build/models.py:1252
+#: build/models.py:1254
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1268 build/serializers.py:151
+#: build/models.py:1270 build/serializers.py:328
#: stock/templates/stock/item_base.html:8
-#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:353
-#: stock/templates/stock/stock_adjust.html:16
-#: templates/js/translated/build.js:287 templates/js/translated/build.js:292
-#: templates/js/translated/build.js:976 templates/js/translated/build.js:1338
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:1148
-#: templates/js/translated/stock.js:1605
+#: stock/templates/stock/item_base.html:16
+#: stock/templates/stock/item_base.html:340
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:413
+#: templates/js/translated/build.js:1361 templates/js/translated/build.js:1742
+#: templates/js/translated/order.js:1156 templates/js/translated/order.js:1161
+#: templates/js/translated/stock.js:1990
msgid "Stock Item"
msgstr "库存项"
-#: build/models.py:1269
+#: build/models.py:1271
msgid "Source stock item"
msgstr "源库存项"
-#: build/models.py:1282
+#: build/models.py:1284
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1290
+#: build/models.py:1292
msgid "Install into"
msgstr "安装到"
-#: build/models.py:1291
+#: build/models.py:1293
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:133 part/models.py:2501
-msgid "BOM Item"
-msgstr ""
-
-#: build/serializers.py:142
-msgid "bom_item.part must point to the same part as the build order"
-msgstr ""
-
-#: build/serializers.py:157
-msgid "Item must be in stock"
-msgstr ""
-
-#: build/serializers.py:171 order/models.py:313 order/serializers.py:231
-#: stock/models.py:351 stock/models.py:1072
-msgid "Quantity must be greater than zero"
-msgstr ""
-
-#: build/serializers.py:180
+#: build/serializers.py:137 build/serializers.py:357
msgid "Build Output"
msgstr ""
+#: build/serializers.py:146
+#, fuzzy
+#| msgid "Build output does not match build"
+msgid "Build output does not match the parent build"
+msgstr "生产产出与生产不匹配"
+
+#: build/serializers.py:150
+#, fuzzy
+#| msgid "Build output does not match Build Order"
+msgid "Output part does not match BuildOrder part"
+msgstr "生产产出与订单不匹配"
+
+#: build/serializers.py:154
+#, fuzzy
+#| msgid "Build output is already completed"
+msgid "This build output has already been completed"
+msgstr "生产产出已完成"
+
+#: build/serializers.py:158
+#, fuzzy
+#| msgid "Required stock has not been fully allocated"
+msgid "This build output is not fully allocated"
+msgstr "所需库存尚未完全分配"
+
+#: build/serializers.py:190 order/serializers.py:217 order/serializers.py:285
+#: stock/forms.py:236 stock/serializers.py:318 stock/serializers.py:686
+#: stock/templates/stock/item_base.html:286
+#: templates/js/translated/barcode.js:384
+#: templates/js/translated/barcode.js:557 templates/js/translated/build.js:420
+#: templates/js/translated/build.js:1027 templates/js/translated/order.js:348
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1276
+#: templates/js/translated/order.js:1282 templates/js/translated/part.js:180
+#: templates/js/translated/stock.js:480 templates/js/translated/stock.js:1221
+#: templates/js/translated/stock.js:1931
+msgid "Location"
+msgstr "地点"
+
+#: build/serializers.py:191
+#, fuzzy
+#| msgid "Location of completed parts"
+msgid "Location for completed build outputs"
+msgstr "已完成商品所在仓储地点"
+
+#: build/serializers.py:197 build/templates/build/build_base.html:129
+#: build/templates/build/detail.html:63 order/models.py:572
+#: order/serializers.py:238 stock/templates/stock/item_base.html:409
+#: templates/js/translated/barcode.js:140 templates/js/translated/build.js:1655
+#: templates/js/translated/order.js:431 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1074 templates/js/translated/stock.js:1196
+#: templates/js/translated/stock.js:2008 templates/js/translated/stock.js:2157
+msgid "Status"
+msgstr "状态"
+
#: build/serializers.py:213
+#, fuzzy
+#| msgid "Build output must be specified"
+msgid "A list of build outputs must be provided"
+msgstr "必须指定生成产出"
+
+#: build/serializers.py:259 build/serializers.py:308 part/models.py:2700
+#: part/models.py:2859
+msgid "BOM Item"
+msgstr ""
+
+#: build/serializers.py:269
+#, fuzzy
+#| msgid "Build Outputs"
+msgid "Build output"
+msgstr "生产产出"
+
+#: build/serializers.py:278
+#, fuzzy
+#| msgid "Build output does not match build"
+msgid "Build output must point to the same build"
+msgstr "生产产出与生产不匹配"
+
+#: build/serializers.py:319
+msgid "bom_item.part must point to the same part as the build order"
+msgstr ""
+
+#: build/serializers.py:334
+msgid "Item must be in stock"
+msgstr ""
+
+#: build/serializers.py:348 order/models.py:316 order/serializers.py:231
+#: stock/models.py:381 stock/models.py:1103 stock/serializers.py:298
+msgid "Quantity must be greater than zero"
+msgstr ""
+
+#: build/serializers.py:390
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:219
+#: build/serializers.py:396
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:226
+#: build/serializers.py:403
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:254
+#: build/serializers.py:431
msgid "Allocation items must be provided"
msgstr ""
-#: build/templates/build/allocation_card.html:21
-#: build/templates/build/complete_output.html:46
-#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:501 stock/templates/stock/item_base.html:251
-#: templates/js/translated/build.js:636
-#: templates/js/translated/model_renderers.js:72
-#: templates/js/translated/order.js:1253 templates/js/translated/order.js:1342
-msgid "Serial Number"
-msgstr "序列号"
+#: build/tasks.py:92
+#, fuzzy
+#| msgid "Completed build order"
+msgid "Stock required for build order"
+msgstr "已完成的生产订单"
-#: build/templates/build/build_base.html:18
+#: build/templates/build/build_base.html:39
+#: order/templates/order/order_base.html:28
+#: order/templates/order/sales_order_base.html:38
+msgid "Print actions"
+msgstr "打印操作"
+
+#: build/templates/build/build_base.html:43
+#, fuzzy
+#| msgid "Print Order Reports"
+msgid "Print build order report"
+msgstr "打印订单报表"
+
+#: build/templates/build/build_base.html:50
+msgid "Build actions"
+msgstr "生产操作"
+
+#: build/templates/build/build_base.html:54
+msgid "Edit Build"
+msgstr "编辑生产"
+
+#: build/templates/build/build_base.html:56
+#: build/templates/build/build_base.html:207 build/views.py:56
+msgid "Cancel Build"
+msgstr "取消生产"
+
+#: build/templates/build/build_base.html:59
+msgid "Delete Build"
+msgstr "删除生产"
+
+#: build/templates/build/build_base.html:64
+#: build/templates/build/build_base.html:65
+#: build/templates/build/build_base.html:223
+msgid "Complete Build"
+msgstr "生产完成"
+
+#: build/templates/build/build_base.html:79
#, python-format
msgid "This Build Order is allocated to Sales Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:25
+#: build/templates/build/build_base.html:86
#, python-format
msgid "This Build Order is a child of Build Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:32
+#: build/templates/build/build_base.html:93
msgid "Build Order is ready to mark as completed"
msgstr ""
-#: build/templates/build/build_base.html:37
+#: build/templates/build/build_base.html:98
msgid "Build Order cannot be completed as outstanding outputs remain"
msgstr ""
-#: build/templates/build/build_base.html:42
+#: build/templates/build/build_base.html:103
msgid "Required build quantity has not yet been completed"
msgstr "所需生产数量尚未完成"
-#: build/templates/build/build_base.html:47
+#: build/templates/build/build_base.html:108
msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
-#: build/templates/build/build_base.html:75
-#: company/templates/company/company_base.html:40
-#: company/templates/company/manufacturer_part.html:29
-#: company/templates/company/supplier_part.html:30
-#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:30
-#: stock/templates/stock/item_base.html:62
-#: stock/templates/stock/location.html:31
-msgid "Admin view"
-msgstr "管理界面"
+#: build/templates/build/build_base.html:138
+#: build/templates/build/detail.html:132
+#: order/templates/order/order_base.html:140
+#: order/templates/order/sales_order_base.html:140
+#: report/templates/report/inventree_build_order_base.html:126
+#: templates/js/translated/build.js:1692 templates/js/translated/order.js:690
+#: templates/js/translated/order.js:1087
+msgid "Target Date"
+msgstr "预计日期"
-#: build/templates/build/build_base.html:81
-#: build/templates/build/build_base.html:150
-#: order/templates/order/order_base.html:32
-#: order/templates/order/order_base.html:86
-#: order/templates/order/sales_order_base.html:43
-#: order/templates/order/sales_order_base.html:93
-#: templates/js/translated/table_filters.js:272
-#: templates/js/translated/table_filters.js:300
-#: templates/js/translated/table_filters.js:317
-msgid "Overdue"
-msgstr "逾期"
-
-#: build/templates/build/build_base.html:90
-msgid "Print actions"
-msgstr "打印操作"
-
-#: build/templates/build/build_base.html:94
-msgid "Print Build Order"
-msgstr "打印生产订单"
-
-#: build/templates/build/build_base.html:100
-#: build/templates/build/build_base.html:222
-msgid "Complete Build"
-msgstr "生产完成"
-
-#: build/templates/build/build_base.html:105
-msgid "Build actions"
-msgstr "生产操作"
-
-#: build/templates/build/build_base.html:109
-msgid "Edit Build"
-msgstr "编辑生产"
-
-#: build/templates/build/build_base.html:111
-#: build/templates/build/build_base.html:206 build/views.py:56
-msgid "Cancel Build"
-msgstr "取消生产"
-
-#: build/templates/build/build_base.html:114
-msgid "Delete Build"
-msgstr "删除生产"
-
-#: build/templates/build/build_base.html:124
-#: build/templates/build/detail.html:15
-msgid "Build Details"
-msgstr "生产详情"
-
-#: build/templates/build/build_base.html:150
+#: build/templates/build/build_base.html:143
#, python-format
msgid "This build was due on %(target)s"
msgstr "此次生产的截止日期为 %(target)s"
-#: build/templates/build/build_base.html:157
-#: build/templates/build/detail.html:67
-msgid "Progress"
-msgstr "生产进度"
+#: build/templates/build/build_base.html:143
+#: build/templates/build/build_base.html:188
+#: order/templates/order/order_base.html:81
+#: order/templates/order/order_base.html:102
+#: order/templates/order/sales_order_base.html:78
+#: order/templates/order/sales_order_base.html:107
+#: templates/js/translated/table_filters.js:288
+#: templates/js/translated/table_filters.js:316
+#: templates/js/translated/table_filters.js:333
+msgid "Overdue"
+msgstr "逾期"
-#: build/templates/build/build_base.html:170
-#: build/templates/build/detail.html:87 order/models.py:848
+#: build/templates/build/build_base.html:150
+#: build/templates/build/detail.html:68 build/templates/build/detail.html:143
+#: templates/js/translated/build.js:1641
+#: templates/js/translated/table_filters.js:298
+msgid "Completed"
+msgstr "已完成"
+
+#: build/templates/build/build_base.html:163
+#: build/templates/build/detail.html:95 order/models.py:857
#: order/templates/order/sales_order_base.html:9
-#: order/templates/order/sales_order_base.html:35
+#: order/templates/order/sales_order_base.html:28
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:293
-#: templates/js/translated/order.js:1016
+#: stock/templates/stock/item_base.html:280
+#: templates/js/translated/order.js:1029
msgid "Sales Order"
msgstr "销售订单"
-#: build/templates/build/build_base.html:177
-#: build/templates/build/detail.html:101
+#: build/templates/build/build_base.html:170
+#: build/templates/build/detail.html:109
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr "发布者"
-#: build/templates/build/build_base.html:214
+#: build/templates/build/build_base.html:215
msgid "Incomplete Outputs"
msgstr "未完成输出"
-#: build/templates/build/build_base.html:215
+#: build/templates/build/build_base.html:216
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
@@ -1175,220 +1168,205 @@ msgstr "所需生产数量尚未完成"
msgid "Required stock has not been fully allocated"
msgstr "所需库存尚未完全分配"
-#: build/templates/build/complete_output.html:10
-msgid "Stock allocation is complete for this output"
-msgstr ""
+#: build/templates/build/detail.html:16
+msgid "Build Details"
+msgstr "生产详情"
-#: build/templates/build/complete_output.html:14
-msgid "Stock allocation is incomplete"
-msgstr "库存分配尚未完成"
-
-#: build/templates/build/complete_output.html:20
-msgid "tracked parts have not been fully allocated"
-msgstr ""
-
-#: build/templates/build/complete_output.html:41
-msgid "The following items will be created"
-msgstr ""
-
-#: build/templates/build/detail.html:38
+#: build/templates/build/detail.html:39
msgid "Stock Source"
msgstr ""
-#: build/templates/build/detail.html:43
+#: build/templates/build/detail.html:44
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:802 stock/forms.py:134
-#: templates/js/translated/order.js:431 templates/js/translated/order.js:939
+#: build/templates/build/detail.html:50 order/models.py:811 stock/forms.py:150
+#: templates/js/translated/order.js:432 templates/js/translated/order.js:952
msgid "Destination"
msgstr ""
-#: build/templates/build/detail.html:56
+#: build/templates/build/detail.html:57
msgid "Destination location not specified"
msgstr ""
-#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:317
-#: templates/js/translated/stock.js:910 templates/js/translated/stock.js:1852
-#: templates/js/translated/table_filters.js:129
-#: templates/js/translated/table_filters.js:211
+#: build/templates/build/detail.html:74 templates/js/translated/build.js:647
+#, fuzzy
+#| msgid "Allocate Stock"
+msgid "Allocated Parts"
+msgstr "分配库存"
+
+#: build/templates/build/detail.html:81
+#: stock/templates/stock/item_base.html:304
+#: templates/js/translated/stock.js:1210 templates/js/translated/stock.js:2164
+#: templates/js/translated/table_filters.js:145
+#: templates/js/translated/table_filters.js:227
msgid "Batch"
msgstr ""
-#: build/templates/build/detail.html:119
-#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:118
-#: templates/js/translated/build.js:1259
+#: build/templates/build/detail.html:127
+#: order/templates/order/order_base.html:127
+#: order/templates/order/sales_order_base.html:134
+#: templates/js/translated/build.js:1663
msgid "Created"
msgstr "已创建"
-#: build/templates/build/detail.html:130
+#: build/templates/build/detail.html:138
msgid "No target date set"
msgstr "无预计日期"
-#: build/templates/build/detail.html:135 templates/js/translated/build.js:1237
-#: templates/js/translated/table_filters.js:282
-msgid "Completed"
-msgstr "已完成"
-
-#: build/templates/build/detail.html:139
+#: build/templates/build/detail.html:147
msgid "Build not complete"
msgstr "生产未完成"
-#: build/templates/build/detail.html:150 build/templates/build/navbar.html:35
+#: build/templates/build/detail.html:158
msgid "Child Build Orders"
msgstr "子生产订单"
-#: build/templates/build/detail.html:166
+#: build/templates/build/detail.html:173
msgid "Allocate Stock to Build"
msgstr "为生产分配库存"
-#: build/templates/build/detail.html:172
-msgid "Allocate stock to build"
-msgstr "为生产分配库存"
-
-#: build/templates/build/detail.html:173 build/templates/build/navbar.html:20
-#: build/templates/build/navbar.html:23
-msgid "Allocate Stock"
-msgstr "分配库存"
-
-#: build/templates/build/detail.html:175 templates/js/translated/build.js:817
+#: build/templates/build/detail.html:177 templates/js/translated/build.js:1202
msgid "Unallocate stock"
msgstr "未分配库存"
-#: build/templates/build/detail.html:176 build/views.py:257
+#: build/templates/build/detail.html:178
msgid "Unallocate Stock"
msgstr "未分配库存"
-#: build/templates/build/detail.html:179
+#: build/templates/build/detail.html:180
+msgid "Allocate stock to build"
+msgstr "为生产分配库存"
+
+#: build/templates/build/detail.html:181
+msgid "Allocate Stock"
+msgstr "分配库存"
+
+#: build/templates/build/detail.html:184
msgid "Order required parts"
msgstr "订单所需部件"
-#: build/templates/build/detail.html:180
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72 order/views.py:509
-#: part/templates/part/category.html:140
+#: build/templates/build/detail.html:185
+#: company/templates/company/detail.html:38
+#: company/templates/company/detail.html:85 order/views.py:509
+#: part/templates/part/category.html:166
msgid "Order Parts"
msgstr "订购商品"
-#: build/templates/build/detail.html:186
+#: build/templates/build/detail.html:197
msgid "Untracked stock has been fully allocated for this Build Order"
msgstr "未跟踪的库存已完全分配给此生产订单"
-#: build/templates/build/detail.html:190
+#: build/templates/build/detail.html:201
msgid "Untracked stock has not been fully allocated for this Build Order"
msgstr "未跟踪的库存尚未完全分配给此生产订单"
-#: build/templates/build/detail.html:197
+#: build/templates/build/detail.html:208
msgid "Allocate selected items"
msgstr ""
-#: build/templates/build/detail.html:209
+#: build/templates/build/detail.html:218
msgid "This Build Order does not have any associated untracked BOM items"
msgstr ""
-#: build/templates/build/detail.html:218
+#: build/templates/build/detail.html:227
msgid "Incomplete Build Outputs"
msgstr "未完成的生产产出"
-#: build/templates/build/detail.html:223
+#: build/templates/build/detail.html:231
msgid "Create new build output"
msgstr ""
-#: build/templates/build/detail.html:224
-msgid "Create New Output"
-msgstr ""
+#: build/templates/build/detail.html:232
+#, fuzzy
+#| msgid "Build Outputs"
+msgid "New Build Output"
+msgstr "生产产出"
-#: build/templates/build/detail.html:237
-msgid "Create a new build output"
-msgstr ""
+#: build/templates/build/detail.html:246
+#, fuzzy
+#| msgid "Options"
+msgid "Output Actions"
+msgstr "选项"
-#: build/templates/build/detail.html:238
-msgid "No incomplete build outputs remain."
-msgstr ""
+#: build/templates/build/detail.html:250
+#, fuzzy
+#| msgid "Completed items"
+msgid "Complete selected items"
+msgstr "已完成项目"
-#: build/templates/build/detail.html:239
-msgid "Create a new build output using the button above"
-msgstr ""
+#: build/templates/build/detail.html:251
+#, fuzzy
+#| msgid "Incomplete Outputs"
+msgid "Complete outputs"
+msgstr "未完成输出"
-#: build/templates/build/detail.html:247
+#: build/templates/build/detail.html:266
msgid "Completed Build Outputs"
msgstr ""
-#: build/templates/build/detail.html:258 build/templates/build/navbar.html:42
-#: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35
-#: order/templates/order/sales_order_detail.html:43
-#: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173
-#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117
-#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47
-#: stock/templates/stock/navbar.html:50
+#: build/templates/build/detail.html:278
+#: order/templates/order/purchase_order_detail.html:60
+#: order/templates/order/sales_order_detail.html:52
+#: part/templates/part/detail.html:300 stock/templates/stock/item.html:95
msgid "Attachments"
msgstr "附件"
-#: build/templates/build/detail.html:269
+#: build/templates/build/detail.html:294
msgid "Build Notes"
msgstr "生产备注"
-#: build/templates/build/detail.html:273 build/templates/build/detail.html:414
-#: company/templates/company/detail.html:169
-#: company/templates/company/detail.html:196
-#: order/templates/order/purchase_order_detail.html:71
-#: order/templates/order/purchase_order_detail.html:104
-#: order/templates/order/sales_order_detail.html:58
-#: order/templates/order/sales_order_detail.html:85
-#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103
-#: stock/templates/stock/item.html:188
+#: build/templates/build/detail.html:298 build/templates/build/detail.html:489
+#: company/templates/company/detail.html:188
+#: company/templates/company/detail.html:215
+#: order/templates/order/purchase_order_detail.html:80
+#: order/templates/order/purchase_order_detail.html:108
+#: order/templates/order/sales_order_detail.html:72
+#: order/templates/order/sales_order_detail.html:99
+#: part/templates/part/detail.html:227 stock/templates/stock/item.html:115
+#: stock/templates/stock/item.html:205
msgid "Edit Notes"
msgstr "编辑备注"
-#: build/templates/build/detail.html:373
-#: order/templates/order/po_attachments.html:79
-#: order/templates/order/purchase_order_detail.html:166
-#: order/templates/order/sales_order_detail.html:146
-#: part/templates/part/detail.html:891 stock/templates/stock/item.html:253
-#: templates/attachment_table.html:6
+#: build/templates/build/detail.html:448
+#: order/templates/order/purchase_order_detail.html:170
+#: order/templates/order/sales_order_detail.html:160
+#: part/templates/part/detail.html:1069 stock/templates/stock/item.html:270
+#: templates/attachment_button.html:4
msgid "Add Attachment"
msgstr "添加附件"
-#: build/templates/build/detail.html:392
-#: order/templates/order/po_attachments.html:51
-#: order/templates/order/purchase_order_detail.html:138
-#: order/templates/order/sales_order_detail.html:119
-#: part/templates/part/detail.html:845 stock/templates/stock/item.html:221
+#: build/templates/build/detail.html:467
+#: order/templates/order/purchase_order_detail.html:142
+#: order/templates/order/sales_order_detail.html:133
+#: part/templates/part/detail.html:1023 stock/templates/stock/item.html:238
msgid "Edit Attachment"
msgstr "编辑附件"
-#: build/templates/build/detail.html:399
-#: order/templates/order/po_attachments.html:58
-#: order/templates/order/purchase_order_detail.html:145
-#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:854 stock/templates/stock/item.html:230
-#: templates/js/translated/order.js:1230
+#: build/templates/build/detail.html:474
+#: order/templates/order/purchase_order_detail.html:149
+#: order/templates/order/sales_order_detail.html:139
+#: part/templates/part/detail.html:1032 stock/templates/stock/item.html:247
+#: templates/js/translated/order.js:1243
msgid "Confirm Delete Operation"
msgstr "确认删除操作"
-#: build/templates/build/detail.html:400
-#: order/templates/order/po_attachments.html:59
-#: order/templates/order/purchase_order_detail.html:146
-#: order/templates/order/sales_order_detail.html:126
-#: part/templates/part/detail.html:855 stock/templates/stock/item.html:231
+#: build/templates/build/detail.html:475
+#: order/templates/order/purchase_order_detail.html:150
+#: order/templates/order/sales_order_detail.html:140
+#: part/templates/part/detail.html:1033 stock/templates/stock/item.html:248
msgid "Delete Attachment"
msgstr "删除附件"
-#: build/templates/build/detail.html:443
+#: build/templates/build/detail.html:513
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:444
+#: build/templates/build/detail.html:514
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/edit_build_item.html:7
-msgid "Alter the quantity of stock allocated to the build output"
-msgstr ""
-
-#: build/templates/build/index.html:28
+#: build/templates/build/index.html:18 part/templates/part/detail.html:433
msgid "New Build Order"
msgstr "新建生产订单"
@@ -1396,47 +1374,18 @@ msgstr "新建生产订单"
msgid "Print Build Orders"
msgstr "打印生产订单"
-#: build/templates/build/index.html:43
-#: order/templates/order/purchase_orders.html:27
-#: order/templates/order/sales_orders.html:27
+#: build/templates/build/index.html:44
+#: order/templates/order/purchase_orders.html:34
+#: order/templates/order/sales_orders.html:37
msgid "Display calendar view"
msgstr "显示日历"
-#: build/templates/build/index.html:46
-#: order/templates/order/purchase_orders.html:30
-#: order/templates/order/sales_orders.html:30
+#: build/templates/build/index.html:47
+#: order/templates/order/purchase_orders.html:37
+#: order/templates/order/sales_orders.html:40
msgid "Display list view"
msgstr "列表视图"
-#: build/templates/build/navbar.html:12
-msgid "Build Order Details"
-msgstr "生产订单详情"
-
-#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/translated/stock.js:1534
-msgid "Details"
-msgstr "详情"
-
-#: build/templates/build/navbar.html:28 build/templates/build/navbar.html:31
-msgid "Build Outputs"
-msgstr "生产产出"
-
-#: build/templates/build/navbar.html:38
-msgid "Child Builds"
-msgstr ""
-
-#: build/templates/build/navbar.html:49
-msgid "Build Order Notes"
-msgstr "生产订单备注"
-
-#: build/templates/build/unallocate.html:10
-msgid "Are you sure you wish to unallocate all stock for this build?"
-msgstr "您确定要取消此生产的所有库存分配?"
-
-#: build/templates/build/unallocate.html:12
-msgid "All incomplete stock allocations will be removed from the build"
-msgstr "所有未完成的库存分配都将从生产中删除"
-
#: build/views.py:76
msgid "Build was cancelled"
msgstr "生产已取消"
@@ -1449,7 +1398,7 @@ msgstr "创建创建生产产出"
msgid "Maximum output quantity is "
msgstr "最大产出量是 "
-#: build/views.py:122 stock/views.py:1366
+#: build/views.py:122 stock/serializers.py:356 stock/views.py:1290
msgid "Serial numbers already exist"
msgstr "序列号已存在"
@@ -1461,11 +1410,11 @@ msgstr "可追踪的生产产出需要序列号"
msgid "Delete Build Output"
msgstr "删除生产产出"
-#: build/views.py:218 build/views.py:308
+#: build/views.py:218
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:219 build/views.py:309 stock/views.py:381
+#: build/views.py:219 stock/views.py:385
msgid "Check the confirmation box"
msgstr "选中确认框"
@@ -1473,7 +1422,7 @@ msgstr "选中确认框"
msgid "Build output does not match build"
msgstr "生产产出与生产不匹配"
-#: build/views.py:233 build/views.py:434
+#: build/views.py:233
msgid "Build output must be specified"
msgstr "必须指定生成产出"
@@ -1481,39 +1430,19 @@ msgstr "必须指定生成产出"
msgid "Build output deleted"
msgstr "生产产出已删除"
-#: build/views.py:343
+#: build/views.py:261
msgid "Complete Build Order"
msgstr "生产订单完成"
-#: build/views.py:349
+#: build/views.py:267
msgid "Build order cannot be completed - incomplete outputs remain"
msgstr ""
-#: build/views.py:360
+#: build/views.py:278
msgid "Completed build order"
msgstr "已完成的生产订单"
-#: build/views.py:376
-msgid "Complete Build Output"
-msgstr ""
-
-#: build/views.py:418
-msgid "Invalid stock status value selected"
-msgstr "选定的库存状态值无效"
-
-#: build/views.py:425
-msgid "Quantity to complete cannot exceed build output quantity"
-msgstr "完成数量不能超过生产产出数量"
-
-#: build/views.py:431
-msgid "Confirm completion of incomplete build"
-msgstr ""
-
-#: build/views.py:530
-msgid "Build output completed"
-msgstr "生产产出已完成"
-
-#: build/views.py:567
+#: build/views.py:319
msgid "Delete Build Order"
msgstr "删除生产订单"
@@ -1554,728 +1483,754 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:308 common/models.py:887 common/models.py:1048
+#: common/models.py:340 common/models.py:970 common/models.py:1178
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:310
+#: common/models.py:342
msgid "Settings value"
msgstr ""
-#: common/models.py:345
+#: common/models.py:377
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:368
+#: common/models.py:382
+msgid "Chosen value is not a valid option"
+msgstr ""
+
+#: common/models.py:405
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:379
+#: common/models.py:416
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:402
+#: common/models.py:439
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:509
+#: common/models.py:559
+#, fuzzy
+#| msgid "Group"
+msgid "No group"
+msgstr "群组"
+
+#: common/models.py:601
+#, fuzzy
+#| msgid "Order required parts"
+msgid "Restart required"
+msgstr "订单所需部件"
+
+#: common/models.py:602
+msgid "A setting has been changed which requires a server restart"
+msgstr ""
+
+#: common/models.py:609
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:511
+#: common/models.py:611
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:515
+#: common/models.py:615
msgid "Use instance name"
msgstr ""
-#: common/models.py:516
+#: common/models.py:616
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:522 company/models.py:100 company/models.py:101
+#: common/models.py:622 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr "公司名称"
-#: common/models.py:523
+#: common/models.py:623
msgid "Internal company name"
msgstr "内部公司名称"
-#: common/models.py:528
+#: common/models.py:628
msgid "Base URL"
msgstr ""
-#: common/models.py:529
+#: common/models.py:629
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:535
+#: common/models.py:635
msgid "Default Currency"
msgstr ""
-#: common/models.py:536
+#: common/models.py:636
msgid "Default currency"
msgstr ""
-#: common/models.py:542
+#: common/models.py:642
msgid "Download from URL"
msgstr ""
-#: common/models.py:543
+#: common/models.py:643
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:549
+#: common/models.py:649
msgid "Barcode Support"
msgstr ""
-#: common/models.py:550
+#: common/models.py:650
msgid "Enable barcode scanner support"
msgstr "启用条形码扫描支持"
-#: common/models.py:556
+#: common/models.py:656
msgid "IPN Regex"
msgstr ""
-#: common/models.py:557
+#: common/models.py:657
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:561
+#: common/models.py:661
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:562
+#: common/models.py:662
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:568
+#: common/models.py:668
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:569
+#: common/models.py:669
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:575
+#: common/models.py:675
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:576
+#: common/models.py:676
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:582
+#: common/models.py:682
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:583
+#: common/models.py:683
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:589
+#: common/models.py:689
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:590
+#: common/models.py:690
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:596
+#: common/models.py:696
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:597
+#: common/models.py:697
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:603 part/models.py:2256 report/models.py:187
-#: stock/forms.py:224 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:351
+#: common/models.py:703 part/models.py:2429 report/models.py:187
+#: templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:367
msgid "Template"
msgstr "模板"
-#: common/models.py:604
+#: common/models.py:704
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:610 part/models.py:806
-#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:363
+#: common/models.py:710 part/models.py:888 templates/js/translated/bom.js:954
+#: templates/js/translated/table_filters.js:162
+#: templates/js/translated/table_filters.js:379
msgid "Assembly"
msgstr "组装"
-#: common/models.py:611
+#: common/models.py:711
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:617 part/models.py:812
-#: templates/js/translated/table_filters.js:367
+#: common/models.py:717 part/models.py:894
+#: templates/js/translated/table_filters.js:383
msgid "Component"
msgstr "组件"
-#: common/models.py:618
+#: common/models.py:718
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:624 part/models.py:823
+#: common/models.py:724 part/models.py:905
msgid "Purchaseable"
msgstr "可购买"
-#: common/models.py:625
+#: common/models.py:725
msgid "Parts are purchaseable by default"
msgstr "商品默认可购买"
-#: common/models.py:631 part/models.py:828
-#: templates/js/translated/table_filters.js:375
+#: common/models.py:731 part/models.py:910
+#: templates/js/translated/table_filters.js:391
msgid "Salable"
msgstr "可销售"
-#: common/models.py:632
+#: common/models.py:732
msgid "Parts are salable by default"
msgstr "商品默认可销售"
-#: common/models.py:638 part/models.py:818
+#: common/models.py:738 part/models.py:900
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:379
+#: templates/js/translated/table_filters.js:94
+#: templates/js/translated/table_filters.js:395
msgid "Trackable"
msgstr "可追踪"
-#: common/models.py:639
+#: common/models.py:739
msgid "Parts are trackable by default"
msgstr "商品默认可跟踪"
-#: common/models.py:645 part/models.py:838
-#: part/templates/part/part_base.html:66
+#: common/models.py:745 part/models.py:920
+#: part/templates/part/part_base.html:144
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr "虚拟"
-#: common/models.py:646
+#: common/models.py:746
msgid "Parts are virtual by default"
msgstr "商品默认是虚拟的"
-#: common/models.py:652
+#: common/models.py:752
msgid "Show Import in Views"
msgstr "视图中显示导入"
-#: common/models.py:653
+#: common/models.py:753
msgid "Display the import wizard in some part views"
msgstr "在一些商品视图中显示导入向导"
-#: common/models.py:659
+#: common/models.py:759
msgid "Show Price in Forms"
msgstr "在表格中显示价格"
-#: common/models.py:660
+#: common/models.py:760
msgid "Display part price in some forms"
msgstr "以某些表格显示商品价格"
-#: common/models.py:671
+#: common/models.py:771
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:672
+#: common/models.py:772
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:678
+#: common/models.py:778
msgid "Show related parts"
msgstr "显示相关商品"
-#: common/models.py:679
+#: common/models.py:779
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:685
+#: common/models.py:785
msgid "Create initial stock"
msgstr "创建初始库存"
-#: common/models.py:686
+#: common/models.py:786
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:692
+#: common/models.py:792
msgid "Internal Prices"
msgstr "内部价格"
-#: common/models.py:693
+#: common/models.py:793
msgid "Enable internal prices for parts"
msgstr "启用内部商品价格"
-#: common/models.py:699
+#: common/models.py:799
msgid "Internal Price as BOM-Price"
msgstr "内部价格为BOM价格"
-#: common/models.py:700
+#: common/models.py:800
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr "在 BOM价格计算中使用内部价格(如设置)"
-#: common/models.py:706 templates/stats.html:25
+#: common/models.py:806
+msgid "Part Name Display Format"
+msgstr ""
+
+#: common/models.py:807
+msgid "Format to display the part name"
+msgstr ""
+
+#: common/models.py:814
+#, fuzzy
+#| msgid "Test Reports"
+msgid "Enable Reports"
+msgstr "测试报表"
+
+#: common/models.py:815
+#, fuzzy
+#| msgid "Enable generation of test reports"
+msgid "Enable generation of reports"
+msgstr "启用生成测试报表"
+
+#: common/models.py:821 templates/stats.html:25
msgid "Debug Mode"
msgstr "调试模式"
-#: common/models.py:707
+#: common/models.py:822
msgid "Generate reports in debug mode (HTML output)"
msgstr "在调试模式生成报告(HTML输出)"
-#: common/models.py:713
+#: common/models.py:828
msgid "Page Size"
msgstr "页面大小"
-#: common/models.py:714
+#: common/models.py:829
msgid "Default page size for PDF reports"
msgstr "PDF 报表默认页面大小"
-#: common/models.py:724
+#: common/models.py:839
msgid "Test Reports"
msgstr "测试报表"
-#: common/models.py:725
+#: common/models.py:840
msgid "Enable generation of test reports"
msgstr "启用生成测试报表"
-#: common/models.py:731
+#: common/models.py:846
msgid "Stock Expiry"
msgstr "库存到期"
-#: common/models.py:732
+#: common/models.py:847
msgid "Enable stock expiry functionality"
msgstr "启用库存到期功能"
-#: common/models.py:738
+#: common/models.py:853
msgid "Sell Expired Stock"
msgstr "销售过期库存"
-#: common/models.py:739
+#: common/models.py:854
msgid "Allow sale of expired stock"
msgstr "允许销售过期库存"
-#: common/models.py:745
+#: common/models.py:860
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:746
+#: common/models.py:861
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:748
+#: common/models.py:863
msgid "days"
msgstr "天"
-#: common/models.py:753
+#: common/models.py:868
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:754
+#: common/models.py:869
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:760
+#: common/models.py:875
msgid "Stock Ownership Control"
msgstr "库存所有权控制"
-#: common/models.py:761
+#: common/models.py:876
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:767
+#: common/models.py:882
msgid "Group by Part"
msgstr "按商品分组"
-#: common/models.py:768
+#: common/models.py:883
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:774
+#: common/models.py:889
msgid "Build Order Reference Prefix"
msgstr "生产订单参考前缀"
-#: common/models.py:775
+#: common/models.py:890
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:780
+#: common/models.py:895
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:781
+#: common/models.py:896
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:785
+#: common/models.py:900
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:786
+#: common/models.py:901
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:791
+#: common/models.py:906
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:792
+#: common/models.py:907
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:798
-msgid "Enable build"
-msgstr ""
-
-#: common/models.py:799
-msgid "Enable build functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:804
-msgid "Enable buy"
-msgstr "启用采购"
-
-#: common/models.py:805
-msgid "Enable buy functionality in InvenTree interface"
-msgstr "在 InventTree 界面中启用采购功能"
-
-#: common/models.py:810
-msgid "Enable sell"
-msgstr "启用销售"
-
-#: common/models.py:811
-msgid "Enable sell functionality in InvenTree interface"
-msgstr "在 InventTree 界面中启用销售功能"
-
-#: common/models.py:816
-msgid "Enable stock"
-msgstr ""
-
-#: common/models.py:817
-msgid "Enable stock functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:822
-msgid "Enable SO"
-msgstr ""
-
-#: common/models.py:823
-msgid "Enable SO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:828
-msgid "Enable PO"
-msgstr ""
-
-#: common/models.py:829
-msgid "Enable PO functionality in InvenTree interface"
-msgstr ""
-
-#: common/models.py:836
+#: common/models.py:913
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:837
-msgid "Enable password forgot function on the login-pages"
+#: common/models.py:914
+msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:842
+#: common/models.py:919
msgid "Enable registration"
msgstr ""
-#: common/models.py:843
-msgid "Enable self-registration for users on the login-pages"
+#: common/models.py:920
+msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:848
+#: common/models.py:925
msgid "Enable SSO"
msgstr ""
-#: common/models.py:849
-msgid "Enable SSO on the login-pages"
+#: common/models.py:926
+msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:854
-msgid "E-Mail required"
-msgstr ""
+#: common/models.py:931
+#, fuzzy
+#| msgid "This field is required"
+msgid "Email required"
+msgstr "此字段为必填"
-#: common/models.py:855
+#: common/models.py:932
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:860
+#: common/models.py:937
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:861
+#: common/models.py:938
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:866
+#: common/models.py:943
msgid "Mail twice"
msgstr ""
-#: common/models.py:867
+#: common/models.py:944
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:872
+#: common/models.py:949
msgid "Password twice"
msgstr ""
-#: common/models.py:873
+#: common/models.py:950
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:898
-msgid "Show starred parts"
+#: common/models.py:955
+msgid "Group on signup"
+msgstr ""
+
+#: common/models.py:956
+#, fuzzy
+#| msgid "Select which users are assigned to this group"
+msgid "Group to which new users are assigned on registration"
+msgstr "选择分配给该组的用户"
+
+#: common/models.py:1001
+#, fuzzy
+#| msgid "Show starred parts"
+msgid "Show subscribed parts"
msgstr "显示星标商品"
-#: common/models.py:899
-msgid "Show starred parts on the homepage"
+#: common/models.py:1002
+#, fuzzy
+#| msgid "Show starred parts on the homepage"
+msgid "Show subscribed parts on the homepage"
msgstr "在主页上显示星标商品"
-#: common/models.py:904
+#: common/models.py:1007
+#, fuzzy
+#| msgid "Subcategories"
+msgid "Show subscribed categories"
+msgstr "子类别"
+
+#: common/models.py:1008
+#, fuzzy
+#| msgid "Show starred parts on the homepage"
+msgid "Show subscribed part categories on the homepage"
+msgstr "在主页上显示星标商品"
+
+#: common/models.py:1013
msgid "Show latest parts"
msgstr "显示最近商品"
-#: common/models.py:905
+#: common/models.py:1014
msgid "Show latest parts on the homepage"
msgstr "在主页上显示最近商品"
-#: common/models.py:910
+#: common/models.py:1019
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:911
+#: common/models.py:1020
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:917
+#: common/models.py:1026
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:918
+#: common/models.py:1027
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:923
+#: common/models.py:1032
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:924
+#: common/models.py:1033
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:929
+#: common/models.py:1038
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:930
+#: common/models.py:1039
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:935
+#: common/models.py:1044
msgid "Show low stock"
msgstr ""
-#: common/models.py:936
+#: common/models.py:1045
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:941
+#: common/models.py:1050
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:942
+#: common/models.py:1051
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:947
+#: common/models.py:1056
msgid "Show needed stock"
msgstr ""
-#: common/models.py:948
+#: common/models.py:1057
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:953
+#: common/models.py:1062
msgid "Show expired stock"
msgstr ""
-#: common/models.py:954
+#: common/models.py:1063
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:959
+#: common/models.py:1068
msgid "Show stale stock"
msgstr ""
-#: common/models.py:960
+#: common/models.py:1069
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:965
+#: common/models.py:1074
msgid "Show pending builds"
msgstr ""
-#: common/models.py:966
+#: common/models.py:1075
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:971
+#: common/models.py:1080
msgid "Show overdue builds"
msgstr "显示逾期生产"
-#: common/models.py:972
+#: common/models.py:1081
msgid "Show overdue builds on the homepage"
msgstr "在主页上显示逾期的生产"
-#: common/models.py:977
+#: common/models.py:1086
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:978
+#: common/models.py:1087
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:983
+#: common/models.py:1092
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:984
+#: common/models.py:1093
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:989
+#: common/models.py:1098
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:990
+#: common/models.py:1099
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:995
+#: common/models.py:1104
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:996
+#: common/models.py:1105
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1002
+#: common/models.py:1111
msgid "Inline label display"
msgstr "内嵌标签显示"
-#: common/models.py:1003
+#: common/models.py:1112
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载"
-#: common/models.py:1009
+#: common/models.py:1118
msgid "Inline report display"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1119
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载"
-#: common/models.py:1016
+#: common/models.py:1125
msgid "Search Preview Results"
msgstr "搜索预览结果"
-#: common/models.py:1017
+#: common/models.py:1126
msgid "Number of results to show in search preview window"
msgstr "搜索预览窗口中显示的结果数"
-#: common/models.py:1023
+#: common/models.py:1132
+msgid "Search Show Stock"
+msgstr ""
+
+#: common/models.py:1133
+#, fuzzy
+#| msgid "Number of results to show in search preview window"
+msgid "Display stock levels in search preview window"
+msgstr "搜索预览窗口中显示的结果数"
+
+#: common/models.py:1139
+#, fuzzy
+#| msgid "Create Part"
+msgid "Hide Inactive Parts"
+msgstr "创建商品"
+
+#: common/models.py:1140
+#, fuzzy
+#| msgid "Number of results to show in search preview window"
+msgid "Hide inactive parts in search preview window"
+msgstr "搜索预览窗口中显示的结果数"
+
+#: common/models.py:1146
msgid "Show Quantity in Forms"
msgstr "在表格中显示数量"
-#: common/models.py:1024
+#: common/models.py:1147
msgid "Display available part quantity in some forms"
msgstr "在某些表格中显示可用的商品数量"
-#: common/models.py:1030
+#: common/models.py:1153
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1031
+#: common/models.py:1154
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1088 company/forms.py:43
+#: common/models.py:1160
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:1161
+msgid "InvenTree navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:1226 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1095 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1369
+#: common/models.py:1233 company/serializers.py:264
+#: company/templates/company/supplier_part.html:256
+#: templates/js/translated/part.js:1508
msgid "Price"
msgstr "价格"
-#: common/models.py:1096
+#: common/models.py:1234
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1189
-msgid "Default"
-msgstr "默认"
-
-#: common/templates/common/edit_setting.html:11
-msgid "Current value"
-msgstr "当前数值"
-
-#: common/views.py:33
-msgid "Change Setting"
-msgstr "更改设置"
-
-#: common/views.py:119
-msgid "Supplied value is not allowed"
-msgstr "提供的值不被允许"
-
-#: common/views.py:128
-msgid "Supplied value must be a boolean"
-msgstr "提供的值必须为布尔值"
-
-#: common/views.py:138
-msgid "Change User Setting"
-msgstr "更改用户设置"
-
-#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42
-#: order/templates/order/po_navbar.html:19
-#: order/templates/order/po_navbar.html:22
-#: order/templates/order/purchase_order_detail.html:27 order/views.py:289
-#: part/templates/part/bom_upload/upload_file.html:65
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
-#: part/views.py:882
+#: common/views.py:93 order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:289
+#: part/templates/part/bom_upload/upload_file.html:51
+#: part/templates/part/import_wizard/part_upload.html:46 part/views.py:281
+#: part/views.py:923
msgid "Upload File"
msgstr "上传文件"
-#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
+#: common/views.py:94 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:290 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
-#: part/views.py:883
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:282
+#: part/views.py:924
msgid "Match Fields"
msgstr "匹配字段"
-#: common/views.py:215
+#: common/views.py:95
msgid "Match Items"
msgstr "匹配项"
-#: common/views.py:560
+#: common/views.py:440
msgid "Fields matching failed"
msgstr "字段匹配失败"
-#: common/views.py:615
+#: common/views.py:495
msgid "Parts imported"
msgstr "已导入商品"
-#: common/views.py:637 order/templates/order/order_wizard/match_fields.html:27
+#: common/views.py:517 order/templates/order/order_wizard/match_fields.html:27
#: order/templates/order/order_wizard/match_parts.html:19
-#: order/templates/order/order_wizard/po_upload.html:40
+#: order/templates/order/order_wizard/po_upload.html:46
#: part/templates/part/bom_upload/match_fields.html:27
#: part/templates/part/bom_upload/match_parts.html:19
-#: part/templates/part/bom_upload/upload_file.html:63
+#: part/templates/part/bom_upload/upload_file.html:49
#: part/templates/part/import_wizard/match_fields.html:27
#: part/templates/part/import_wizard/match_references.html:19
-#: part/templates/part/import_wizard/part_upload.html:43
+#: part/templates/part/import_wizard/part_upload.html:44
msgid "Previous Step"
msgstr ""
@@ -2321,6 +2276,7 @@ msgid "Contact phone number"
msgstr "联系电话"
#: company/models.py:125 company/templates/company/company_base.html:102
+#: templates/InvenTree/settings/user.html:46
msgid "Email"
msgstr "电子邮件"
@@ -2337,10 +2293,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:131 company/models.py:348 company/models.py:564
-#: order/models.py:160 part/models.py:715
+#: order/models.py:163 part/models.py:797
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:536
-#: templates/js/translated/company.js:825 templates/js/translated/part.js:983
+#: templates/js/translated/company.js:825 templates/js/translated/part.js:984
msgid "Link"
msgstr "链接"
@@ -2348,7 +2304,7 @@ msgstr "链接"
msgid "Link to external company information"
msgstr "链接到外部公司信息"
-#: company/models.py:139 part/models.py:725
+#: company/models.py:139 part/models.py:807
msgid "Image"
msgstr "图片"
@@ -2376,8 +2332,8 @@ msgstr "是制造商"
msgid "Does this company manufacture parts?"
msgstr "该公司制造商品吗?"
-#: company/models.py:152 company/serializers.py:264
-#: company/templates/company/company_base.html:76 stock/serializers.py:158
+#: company/models.py:152 company/serializers.py:270
+#: company/templates/company/company_base.html:76 stock/serializers.py:172
msgid "Currency"
msgstr "货币"
@@ -2385,8 +2341,8 @@ msgstr "货币"
msgid "Default currency used for this company"
msgstr "该公司使用的默认货币"
-#: company/models.py:320 company/models.py:535 stock/models.py:454
-#: stock/templates/stock/item_base.html:237
+#: company/models.py:320 company/models.py:535 stock/models.py:484
+#: stock/templates/stock/item_base.html:224
msgid "Base Part"
msgstr ""
@@ -2395,28 +2351,28 @@ msgid "Select part"
msgstr "选择商品"
#: company/models.py:335 company/templates/company/company_base.html:116
-#: company/templates/company/manufacturer_part.html:89
-#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:247 stock/templates/stock/item_base.html:366
+#: company/templates/company/manufacturer_part.html:93
+#: company/templates/company/supplier_part.html:104
+#: stock/templates/stock/item_base.html:353
#: templates/js/translated/company.js:332
#: templates/js/translated/company.js:513
-#: templates/js/translated/company.js:796 templates/js/translated/part.js:227
+#: templates/js/translated/company.js:796 templates/js/translated/part.js:228
msgid "Manufacturer"
msgstr "制造商"
-#: company/models.py:336 templates/js/translated/part.js:228
+#: company/models.py:336 templates/js/translated/part.js:229
msgid "Select manufacturer"
msgstr "选择制造商"
-#: company/models.py:342 company/templates/company/manufacturer_part.html:93
-#: company/templates/company/supplier_part.html:106 part/bom.py:171
-#: part/bom.py:248 templates/js/translated/company.js:529
-#: templates/js/translated/company.js:814 templates/js/translated/order.js:851
-#: templates/js/translated/part.js:238
+#: company/models.py:342 company/templates/company/manufacturer_part.html:97
+#: company/templates/company/supplier_part.html:112
+#: templates/js/translated/company.js:529
+#: templates/js/translated/company.js:814 templates/js/translated/order.js:852
+#: templates/js/translated/part.js:239
msgid "MPN"
msgstr "MPN"
-#: company/models.py:343 templates/js/translated/part.js:239
+#: company/models.py:343 templates/js/translated/part.js:240
msgid "Manufacturer Part Number"
msgstr "制造商商品编号"
@@ -2431,7 +2387,7 @@ msgstr "制造商商品描述"
#: company/models.py:409 company/models.py:558
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:376
+#: stock/templates/stock/item_base.html:363
msgid "Manufacturer Part"
msgstr "制造商商品"
@@ -2440,10 +2396,9 @@ msgid "Parameter name"
msgstr "参数名称"
#: company/models.py:422
-#: report/templates/report/inventree_test_report_base.html:90
-#: stock/models.py:1816 templates/InvenTree/settings/header.html:8
-#: templates/js/translated/company.js:643 templates/js/translated/part.js:623
-#: templates/js/translated/stock.js:555
+#: report/templates/report/inventree_test_report_base.html:95
+#: stock/models.py:1867 templates/js/translated/company.js:643
+#: templates/js/translated/part.js:644 templates/js/translated/stock.js:848
msgid "Value"
msgstr "数值"
@@ -2451,8 +2406,9 @@ msgstr "数值"
msgid "Parameter value"
msgstr "参数值"
-#: company/models.py:429 part/models.py:800 part/models.py:2224
-#: templates/js/translated/company.js:649 templates/js/translated/part.js:629
+#: company/models.py:429 part/models.py:882 part/models.py:2397
+#: part/templates/part/detail.html:59 templates/js/translated/company.js:649
+#: templates/js/translated/part.js:650
msgid "Units"
msgstr "单位"
@@ -2465,27 +2421,27 @@ msgid "Linked manufacturer part must reference the same base part"
msgstr ""
#: company/models.py:545 company/templates/company/company_base.html:121
-#: company/templates/company/supplier_part.html:88 order/models.py:260
-#: order/templates/order/order_base.html:92
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:292 stock/templates/stock/item_base.html:383
+#: company/templates/company/supplier_part.html:94 order/models.py:263
+#: order/templates/order/order_base.html:108
+#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:219
+#: part/bom.py:247 stock/templates/stock/item_base.html:370
#: templates/js/translated/company.js:336
-#: templates/js/translated/company.js:770 templates/js/translated/order.js:659
-#: templates/js/translated/part.js:208
+#: templates/js/translated/company.js:770 templates/js/translated/order.js:660
+#: templates/js/translated/part.js:209
msgid "Supplier"
msgstr "供应商"
-#: company/models.py:546 templates/js/translated/part.js:209
+#: company/models.py:546 templates/js/translated/part.js:210
msgid "Select supplier"
msgstr "选择供应商"
-#: company/models.py:551 company/templates/company/supplier_part.html:92
-#: part/bom.py:176 part/bom.py:293 templates/js/translated/order.js:838
-#: templates/js/translated/part.js:219
+#: company/models.py:551 company/templates/company/supplier_part.html:98
+#: part/bom.py:220 part/bom.py:248 templates/js/translated/order.js:839
+#: templates/js/translated/part.js:220
msgid "SKU"
msgstr "SKU"
-#: company/models.py:552 templates/js/translated/part.js:220
+#: company/models.py:552 templates/js/translated/part.js:221
msgid "Supplier stock keeping unit"
msgstr ""
@@ -2501,23 +2457,23 @@ msgstr "外部供货商商品链接URL"
msgid "Supplier part description"
msgstr "供应商商品描述"
-#: company/models.py:576 company/templates/company/supplier_part.html:120
-#: part/models.py:2389 report/templates/report/inventree_po_report.html:93
+#: company/models.py:576 company/templates/company/supplier_part.html:126
+#: part/models.py:2588 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr "备注"
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1603
+#: company/models.py:580 part/models.py:1748
msgid "Minimum charge (e.g. stocking fee)"
msgstr "最低收费(例如库存费)"
-#: company/models.py:582 company/templates/company/supplier_part.html:113
-#: stock/models.py:478 stock/templates/stock/item_base.html:324
-#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1036
+#: company/models.py:582 company/templates/company/supplier_part.html:119
+#: stock/models.py:507 stock/templates/stock/item_base.html:311
+#: templates/js/translated/company.js:846 templates/js/translated/stock.js:1336
msgid "Packaging"
msgstr "打包"
@@ -2525,7 +2481,7 @@ msgstr "打包"
msgid "Part packaging"
msgstr "商品打包"
-#: company/models.py:584 part/models.py:1605
+#: company/models.py:584 part/models.py:1750
msgid "multiple"
msgstr ""
@@ -2533,47 +2489,43 @@ msgstr ""
msgid "Order multiple"
msgstr ""
-#: company/serializers.py:68
+#: company/serializers.py:70
msgid "Default currency used for this supplier"
msgstr "该公司使用的默认货币"
-#: company/serializers.py:69
+#: company/serializers.py:71
msgid "Currency Code"
msgstr "货币代码"
-#: company/templates/company/company_base.html:9
-#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:208 templates/js/translated/company.js:321
+#: company/templates/company/company_base.html:8
+#: company/templates/company/company_base.html:12
+#: templates/InvenTree/search.html:182 templates/js/translated/company.js:321
msgid "Company"
msgstr "公司"
-#: company/templates/company/company_base.html:25
-#: part/templates/part/part_thumb.html:21
-msgid "Upload new image"
-msgstr "上传新图片"
-
-#: company/templates/company/company_base.html:27
-#: part/templates/part/part_thumb.html:23
-msgid "Download image from URL"
-msgstr "从 URL 下载图片"
-
-#: company/templates/company/company_base.html:46
-#: templates/js/translated/order.js:120
+#: company/templates/company/company_base.html:22
+#: templates/js/translated/order.js:121
msgid "Create Purchase Order"
msgstr "创建采购订单"
-#: company/templates/company/company_base.html:51
+#: company/templates/company/company_base.html:27
msgid "Edit company information"
msgstr "编辑公司信息"
-#: company/templates/company/company_base.html:56
-#: company/templates/company/company_base.html:153
+#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:148
msgid "Delete Company"
msgstr "删除该公司"
-#: company/templates/company/company_base.html:64
-msgid "Company Details"
-msgstr "公司详细信息"
+#: company/templates/company/company_base.html:48
+#: part/templates/part/part_thumb.html:12
+msgid "Upload new image"
+msgstr "上传新图片"
+
+#: company/templates/company/company_base.html:51
+#: part/templates/part/part_thumb.html:14
+msgid "Download image from URL"
+msgstr "从 URL 下载图片"
#: company/templates/company/company_base.html:81
msgid "Uses default currency"
@@ -2583,145 +2535,133 @@ msgstr "使用默认货币"
msgid "Phone"
msgstr "电话"
-#: company/templates/company/company_base.html:126 order/models.py:558
-#: order/templates/order/sales_order_base.html:99 stock/models.py:496
-#: stock/models.py:497 stock/templates/stock/item_base.html:276
-#: templates/js/translated/company.js:328 templates/js/translated/order.js:1038
-#: templates/js/translated/stock.js:1587
+#: company/templates/company/company_base.html:126 order/models.py:567
+#: order/templates/order/sales_order_base.html:114 stock/models.py:525
+#: stock/models.py:526 stock/templates/stock/item_base.html:263
+#: templates/js/translated/company.js:328 templates/js/translated/order.js:1051
+#: templates/js/translated/stock.js:1972
msgid "Customer"
msgstr "客户"
-#: company/templates/company/company_base.html:199
-#: part/templates/part/part_base.html:424
+#: company/templates/company/company_base.html:194
+#: part/templates/part/part_base.html:342
msgid "Upload Image"
msgstr "上传图片"
-#: company/templates/company/detail.html:14
-#: company/templates/company/manufacturer_part_navbar.html:18
-#: templates/InvenTree/search.html:150
+#: company/templates/company/detail.html:15 templates/InvenTree/search.html:124
msgid "Supplier Parts"
msgstr "供应商商品"
-#: company/templates/company/detail.html:22
+#: company/templates/company/detail.html:19
#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr "创建新的供应商商品"
-#: company/templates/company/detail.html:23
-#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289
+#: company/templates/company/detail.html:20
+#: company/templates/company/manufacturer_part.html:112
+#: part/templates/part/detail.html:466
msgid "New Supplier Part"
msgstr "新建供应商商品"
-#: company/templates/company/detail.html:27
-#: company/templates/company/detail.html:67
-#: company/templates/company/manufacturer_part.html:112
-#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/category.html:135 part/templates/part/detail.html:292
-#: part/templates/part/detail.html:315
+#: company/templates/company/detail.html:32
+#: company/templates/company/detail.html:79
+#: company/templates/company/manufacturer_part.html:121
+#: company/templates/company/manufacturer_part.html:150
+#: part/templates/part/category.html:160 part/templates/part/detail.html:475
+#: part/templates/part/detail.html:503
msgid "Options"
msgstr "选项"
-#: company/templates/company/detail.html:32
-#: company/templates/company/detail.html:72
-#: part/templates/part/category.html:140
+#: company/templates/company/detail.html:37
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:166
msgid "Order parts"
msgstr "订购商品"
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:42
+#: company/templates/company/detail.html:89
msgid "Delete parts"
msgstr "删除商品"
-#: company/templates/company/detail.html:35
-#: company/templates/company/detail.html:75
+#: company/templates/company/detail.html:43
+#: company/templates/company/detail.html:90
msgid "Delete Parts"
msgstr "删除商品"
-#: company/templates/company/detail.html:54 templates/InvenTree/search.html:135
+#: company/templates/company/detail.html:62 templates/InvenTree/search.html:109
msgid "Manufacturer Parts"
msgstr "制造商商品"
-#: company/templates/company/detail.html:62
+#: company/templates/company/detail.html:66
msgid "Create new manufacturer part"
msgstr "新建制造商商品"
-#: company/templates/company/detail.html:63 part/templates/part/detail.html:312
+#: company/templates/company/detail.html:67 part/templates/part/detail.html:493
msgid "New Manufacturer Part"
msgstr "新建制造商商品"
-#: company/templates/company/detail.html:93
+#: company/templates/company/detail.html:107
msgid "Supplier Stock"
msgstr "供货商库存"
-#: company/templates/company/detail.html:102
-#: company/templates/company/navbar.html:46
-#: company/templates/company/navbar.html:49
+#: company/templates/company/detail.html:117
+#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
-#: order/templates/order/purchase_orders.html:13
-#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82
-#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260
-#: templates/InvenTree/search.html:229
-#: templates/InvenTree/settings/navbar.html:119
-#: templates/InvenTree/settings/navbar.html:121 templates/navbar.html:44
+#: order/templates/order/purchase_orders.html:12
+#: part/templates/part/detail.html:171 templates/InvenTree/index.html:252
+#: templates/InvenTree/search.html:203 templates/navbar.html:45
#: users/models.py:45
msgid "Purchase Orders"
msgstr "采购订单"
-#: company/templates/company/detail.html:108
-#: order/templates/order/purchase_orders.html:20
+#: company/templates/company/detail.html:121
+#: order/templates/order/purchase_orders.html:17
msgid "Create new purchase order"
msgstr "新建采购订单"
-#: company/templates/company/detail.html:109
-#: order/templates/order/purchase_orders.html:21
+#: company/templates/company/detail.html:122
+#: order/templates/order/purchase_orders.html:18
msgid "New Purchase Order"
msgstr "新建采购订单"
-#: company/templates/company/detail.html:124
-#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58
+#: company/templates/company/detail.html:143
+#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
-#: order/templates/order/sales_orders.html:13
-#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91
-#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291
-#: templates/InvenTree/search.html:249
-#: templates/InvenTree/settings/navbar.html:125
-#: templates/InvenTree/settings/navbar.html:127 templates/navbar.html:55
+#: order/templates/order/sales_orders.html:15
+#: part/templates/part/detail.html:194 templates/InvenTree/index.html:283
+#: templates/InvenTree/search.html:223 templates/navbar.html:56
#: users/models.py:46
msgid "Sales Orders"
msgstr "销售订单"
-#: company/templates/company/detail.html:130
+#: company/templates/company/detail.html:147
#: order/templates/order/sales_orders.html:20
msgid "Create new sales order"
msgstr "新建销售订单"
-#: company/templates/company/detail.html:131
+#: company/templates/company/detail.html:148
#: order/templates/order/sales_orders.html:21
msgid "New Sales Order"
msgstr "新建销售订单"
-#: company/templates/company/detail.html:147
-#: company/templates/company/navbar.html:61
-#: company/templates/company/navbar.html:64
-#: templates/js/translated/build.js:622
+#: company/templates/company/detail.html:168
+#: templates/js/translated/build.js:999
msgid "Assigned Stock"
msgstr ""
-#: company/templates/company/detail.html:165
+#: company/templates/company/detail.html:184
msgid "Company Notes"
msgstr "公司备注"
-#: company/templates/company/detail.html:364
-#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:357
+#: company/templates/company/detail.html:383
+#: company/templates/company/manufacturer_part.html:209
+#: part/templates/part/detail.html:546
msgid "Delete Supplier Parts?"
msgstr "删除供应商商品?"
-#: company/templates/company/detail.html:365
-#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:358
+#: company/templates/company/detail.html:384
+#: company/templates/company/manufacturer_part.html:210
+#: part/templates/part/detail.html:547
msgid "All selected supplier parts will be deleted"
msgstr "删除所有选定的供应商商品"
@@ -2729,204 +2669,174 @@ msgstr "删除所有选定的供应商商品"
msgid "Supplier List"
msgstr "供应商列表"
-#: company/templates/company/manufacturer_part.html:40
-#: company/templates/company/supplier_part.html:40
-#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116
+#: company/templates/company/manufacturer_part.html:14 company/views.py:55
+#: part/templates/part/prices.html:167 templates/InvenTree/search.html:184
+#: templates/navbar.html:44
+msgid "Manufacturers"
+msgstr "制造商"
+
+#: company/templates/company/manufacturer_part.html:35
+#: company/templates/company/supplier_part.html:34
+#: company/templates/company/supplier_part.html:159
+#: part/templates/part/detail.html:174 part/templates/part/part_base.html:76
msgid "Order part"
msgstr "订购商品"
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:40
#: templates/js/translated/company.js:561
msgid "Edit manufacturer part"
msgstr "编辑制造商商品"
-#: company/templates/company/manufacturer_part.html:49
+#: company/templates/company/manufacturer_part.html:44
#: templates/js/translated/company.js:562
msgid "Delete manufacturer part"
msgstr "删除生产商商品"
-#: company/templates/company/manufacturer_part.html:61
-msgid "Manufacturer Part Details"
-msgstr "制造商商品详细信息"
-
-#: company/templates/company/manufacturer_part.html:66
-#: company/templates/company/supplier_part.html:65
+#: company/templates/company/manufacturer_part.html:70
+#: company/templates/company/supplier_part.html:71
msgid "Internal Part"
msgstr "内部商品"
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/manufacturer_part_navbar.html:21
-#: company/views.py:49 part/templates/part/navbar.html:75
-#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163
-#: templates/InvenTree/search.html:220 templates/navbar.html:41
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:15 company/views.py:49
+#: part/templates/part/prices.html:163 templates/InvenTree/search.html:194
+#: templates/navbar.html:43
msgid "Suppliers"
msgstr "供应商"
-#: company/templates/company/manufacturer_part.html:114
-#: part/templates/part/detail.html:294
+#: company/templates/company/manufacturer_part.html:123
+#: part/templates/part/detail.html:477
msgid "Delete supplier parts"
msgstr "删除供应商商品"
-#: company/templates/company/manufacturer_part.html:114
-#: company/templates/company/manufacturer_part.html:138
-#: company/templates/company/manufacturer_part.html:239
-#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/translated/company.js:424
-#: templates/js/translated/helpers.js:31 users/models.py:199
+#: company/templates/company/manufacturer_part.html:123
+#: company/templates/company/manufacturer_part.html:152
+#: company/templates/company/manufacturer_part.html:248
+#: part/templates/part/detail.html:351 part/templates/part/detail.html:477
+#: part/templates/part/detail.html:505 templates/js/translated/company.js:424
+#: templates/js/translated/helpers.js:31 users/models.py:204
msgid "Delete"
msgstr "删除"
-#: company/templates/company/manufacturer_part.html:127
-#: company/templates/company/manufacturer_part_navbar.html:11
-#: company/templates/company/manufacturer_part_navbar.html:14
-#: part/templates/part/category_navbar.html:38
-#: part/templates/part/category_navbar.html:41
-#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20
-#: part/templates/part/navbar.html:23
+#: company/templates/company/manufacturer_part.html:137
+#: part/templates/part/detail.html:277
msgid "Parameters"
msgstr "参数"
-#: company/templates/company/manufacturer_part.html:133
-#: part/templates/part/detail.html:162
-#: templates/InvenTree/settings/category.html:26
-#: templates/InvenTree/settings/part.html:63
+#: company/templates/company/manufacturer_part.html:141
+#: part/templates/part/detail.html:282
+#: templates/InvenTree/settings/category.html:12
+#: templates/InvenTree/settings/part.html:65
msgid "New Parameter"
msgstr "新建参数"
-#: company/templates/company/manufacturer_part.html:138
+#: company/templates/company/manufacturer_part.html:152
msgid "Delete parameters"
msgstr "删除参数"
-#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:805
+#: company/templates/company/manufacturer_part.html:185
+#: part/templates/part/detail.html:983
msgid "Add Parameter"
msgstr "添加参数"
-#: company/templates/company/manufacturer_part.html:224
+#: company/templates/company/manufacturer_part.html:233
msgid "Selected parameters will be deleted"
msgstr "所选参数将被删除"
-#: company/templates/company/manufacturer_part.html:236
+#: company/templates/company/manufacturer_part.html:245
msgid "Delete Parameters"
msgstr "删除参数"
-#: company/templates/company/manufacturer_part_navbar.html:26
-msgid "Manufacturer Part Stock"
-msgstr "制造商商品库存"
-
-#: company/templates/company/manufacturer_part_navbar.html:29
-#: company/templates/company/navbar.html:39
-#: company/templates/company/supplier_part_navbar.html:15
-#: part/templates/part/navbar.html:38 stock/api.py:52
-#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36
-#: stock/templates/stock/stock_app_base.html:10
-#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:182
-#: templates/InvenTree/settings/navbar.html:107
-#: templates/InvenTree/settings/navbar.html:109
-#: templates/js/translated/part.js:540 templates/js/translated/part.js:769
-#: templates/js/translated/part.js:945 templates/js/translated/stock.js:182
-#: templates/js/translated/stock.js:829 templates/navbar.html:32
-msgid "Stock"
-msgstr "库存"
-
-#: company/templates/company/manufacturer_part_navbar.html:33
-msgid "Manufacturer Part Orders"
-msgstr "制造商商品订单"
-
-#: company/templates/company/manufacturer_part_navbar.html:36
-#: company/templates/company/supplier_part_navbar.html:22
-msgid "Orders"
-msgstr "订单"
-
-#: company/templates/company/navbar.html:17
-#: company/templates/company/navbar.html:20
-msgid "Manufactured Parts"
-msgstr "制造商商品"
-
-#: company/templates/company/navbar.html:26
-#: company/templates/company/navbar.html:29
-msgid "Supplied Parts"
-msgstr "供应商商品"
-
-#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35
-#: stock/templates/stock/location.html:119
-#: stock/templates/stock/location.html:134
-#: stock/templates/stock/location.html:148
-#: stock/templates/stock/location_navbar.html:18
-#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:184 templates/js/translated/stock.js:1486
-#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
-msgid "Stock Items"
-msgstr "库存项"
-
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:463
-#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/company.js:786 templates/js/translated/stock.js:993
+#: company/templates/company/supplier_part.html:24 stock/models.py:492
+#: stock/templates/stock/item_base.html:375
+#: templates/js/translated/company.js:786 templates/js/translated/stock.js:1293
msgid "Supplier Part"
msgstr "供应商商品"
-#: company/templates/company/supplier_part.html:44
+#: company/templates/company/supplier_part.html:38
#: templates/js/translated/company.js:859
msgid "Edit supplier part"
msgstr "编辑供应商商品"
-#: company/templates/company/supplier_part.html:48
+#: company/templates/company/supplier_part.html:42
#: templates/js/translated/company.js:860
msgid "Delete supplier part"
msgstr "删除供应商商品"
-#: company/templates/company/supplier_part.html:60
-msgid "Supplier Part Details"
-msgstr "供应商商品详细信息"
-
-#: company/templates/company/supplier_part.html:131
+#: company/templates/company/supplier_part.html:138
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr "供货商商品库存"
-#: company/templates/company/supplier_part.html:140
+#: company/templates/company/supplier_part.html:141
+#: part/templates/part/detail.html:127 stock/templates/stock/location.html:147
+#, fuzzy
+#| msgid "Create new stock location"
+msgid "Create new stock item"
+msgstr "新建仓储地点"
+
+#: company/templates/company/supplier_part.html:142
+#: part/templates/part/detail.html:128 stock/templates/stock/location.html:148
+#: templates/js/translated/stock.js:324
+msgid "New Stock Item"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:155
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr "供应商商品订单"
-#: company/templates/company/supplier_part.html:147
-#: part/templates/part/detail.html:56
+#: company/templates/company/supplier_part.html:160
+#: part/templates/part/detail.html:175
msgid "Order Part"
msgstr "订购商品"
-#: company/templates/company/supplier_part.html:158
-#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7
+#: company/templates/company/supplier_part.html:179
+#: part/templates/part/prices.html:7
msgid "Pricing Information"
msgstr "价格信息"
-#: company/templates/company/supplier_part.html:164
-#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:271 part/views.py:1730
+#: company/templates/company/supplier_part.html:184
+#: company/templates/company/supplier_part.html:290
+#: part/templates/part/prices.html:271 part/views.py:1782
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:185
+#: company/templates/company/supplier_part.html:210
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:1792
+#: company/templates/company/supplier_part.html:224 part/views.py:1844
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:1778
+#: company/templates/company/supplier_part.html:238 part/views.py:1830
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
+#: company/templates/company/supplier_part.html:263
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:239
+#: company/templates/company/supplier_part.html:264
msgid "Delete price break"
msgstr ""
+#: company/templates/company/supplier_part_navbar.html:15
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:14
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:156 templates/js/translated/part.js:426
+#: templates/js/translated/part.js:561 templates/js/translated/part.js:786
+#: templates/js/translated/part.js:946 templates/js/translated/stock.js:479
+#: templates/js/translated/stock.js:1132 templates/navbar.html:26
+msgid "Stock"
+msgstr "库存"
+
+#: company/templates/company/supplier_part_navbar.html:22
+msgid "Orders"
+msgstr "订单"
+
#: company/templates/company/supplier_part_navbar.html:26
msgid "Supplier Part Pricing"
msgstr "供应商商品价格"
@@ -2939,17 +2849,12 @@ msgstr "定价"
msgid "New Supplier"
msgstr "新增供应商"
-#: company/views.py:55 part/templates/part/prices.html:167
-#: templates/InvenTree/search.html:210 templates/navbar.html:42
-msgid "Manufacturers"
-msgstr "制造商"
-
#: company/views.py:56
msgid "New Manufacturer"
msgstr "新建制造商"
-#: company/views.py:61 templates/InvenTree/search.html:240
-#: templates/navbar.html:53
+#: company/views.py:61 templates/InvenTree/search.html:214
+#: templates/navbar.html:55
msgid "Customers"
msgstr "客户信息"
@@ -2965,24 +2870,24 @@ msgstr "公司"
msgid "New Company"
msgstr "新建公司信息"
-#: company/views.py:129 part/views.py:608
+#: company/views.py:129 part/views.py:649
msgid "Download Image"
msgstr "下载图片"
-#: company/views.py:158 part/views.py:640
+#: company/views.py:158 part/views.py:681
msgid "Image size exceeds maximum allowable size for download"
msgstr "图像大小超过下载允许的最大尺寸"
-#: company/views.py:165 part/views.py:647
+#: company/views.py:165 part/views.py:688
#, python-brace-format
msgid "Invalid response: {code}"
msgstr "无效响应: {code}"
-#: company/views.py:174 part/views.py:656
+#: company/views.py:174 part/views.py:697
msgid "Supplied URL is not a valid image file"
msgstr "提供的 URL 不是一个有效的图片文件"
-#: label/api.py:57 report/api.py:201
+#: label/api.py:57 report/api.py:203
msgid "No valid objects provided to template"
msgstr "没有为模板提供有效对象"
@@ -2994,7 +2899,7 @@ msgstr "标签名称"
msgid "Label description"
msgstr "标签说明"
-#: label/models.py:127 stock/forms.py:167
+#: label/models.py:127
msgid "Label"
msgstr "标签"
@@ -3039,7 +2944,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr "查询筛选器 (逗号分隔的键值对列表)"
#: label/models.py:259 label/models.py:319 label/models.py:366
-#: report/models.py:322 report/models.py:457 report/models.py:495
+#: report/models.py:322 report/models.py:459 report/models.py:497
msgid "Filters"
msgstr "筛选器"
@@ -3051,240 +2956,236 @@ msgstr "查询筛选器 (逗号分隔的键值对列表"
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr "商品查询筛选器 (逗号分隔的键值对列表)"
-#: order/api.py:250
-msgid "Matching purchase order does not exist"
-msgstr ""
-
-#: order/forms.py:27 order/templates/order/order_base.html:50
+#: order/forms.py:26 order/templates/order/order_base.html:52
msgid "Place order"
msgstr ""
-#: order/forms.py:38 order/templates/order/order_base.html:57
+#: order/forms.py:37 order/templates/order/order_base.html:59
msgid "Mark order as complete"
msgstr ""
-#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:64
+#: order/forms.py:48 order/forms.py:59 order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
msgid "Cancel order"
msgstr "取消订单"
-#: order/forms.py:71 order/templates/order/sales_order_base.html:61
+#: order/forms.py:70
msgid "Ship order"
msgstr ""
-#: order/forms.py:97
+#: order/forms.py:98
msgid "Enter stock item serial numbers"
msgstr ""
-#: order/forms.py:103
+#: order/forms.py:104
msgid "Enter quantity of stock items"
msgstr ""
-#: order/models.py:158
+#: order/models.py:161
msgid "Order description"
msgstr ""
-#: order/models.py:160
+#: order/models.py:163
msgid "Link to external page"
msgstr ""
-#: order/models.py:168
+#: order/models.py:171
msgid "Created By"
msgstr ""
-#: order/models.py:175
+#: order/models.py:178
msgid "User or group responsible for this order"
msgstr "负责此订单的用户或群组"
-#: order/models.py:180
+#: order/models.py:183
msgid "Order notes"
msgstr ""
-#: order/models.py:247 order/models.py:548
+#: order/models.py:250 order/models.py:557
msgid "Order reference"
msgstr ""
-#: order/models.py:252 order/models.py:563
+#: order/models.py:255 order/models.py:572
msgid "Purchase order status"
msgstr ""
-#: order/models.py:261
+#: order/models.py:264
msgid "Company from which the items are being ordered"
msgstr "订购该商品的公司"
-#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/translated/order.js:668
+#: order/models.py:267 order/templates/order/order_base.html:114
+#: templates/js/translated/order.js:669
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:264
+#: order/models.py:267
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:271
+#: order/models.py:274
msgid "received by"
msgstr ""
-#: order/models.py:276
+#: order/models.py:279
msgid "Issue Date"
msgstr ""
-#: order/models.py:277
+#: order/models.py:280
msgid "Date order was issued"
msgstr ""
-#: order/models.py:282
+#: order/models.py:285
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:283
+#: order/models.py:286
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:289
+#: order/models.py:292
msgid "Date order was completed"
msgstr ""
-#: order/models.py:318
+#: order/models.py:321
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:428
+#: order/models.py:431
msgid "Quantity must be an integer"
msgstr "数量必须是整数"
-#: order/models.py:432
+#: order/models.py:435
msgid "Quantity must be a positive number"
msgstr "数量必须大于0"
-#: order/models.py:559
+#: order/models.py:568
msgid "Company to which the items are being sold"
msgstr "向其出售该商品的公司"
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer Reference "
msgstr ""
-#: order/models.py:565
+#: order/models.py:574
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:570
+#: order/models.py:579
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:573 templates/js/translated/order.js:1079
+#: order/models.py:582 templates/js/translated/order.js:1092
msgid "Shipment Date"
msgstr ""
-#: order/models.py:580
+#: order/models.py:589
msgid "shipped by"
msgstr ""
-#: order/models.py:624
+#: order/models.py:633
msgid "SalesOrder cannot be shipped as it is not currently pending"
msgstr ""
-#: order/models.py:721
+#: order/models.py:730
msgid "Item quantity"
msgstr ""
-#: order/models.py:727
+#: order/models.py:736
msgid "Line item reference"
msgstr ""
-#: order/models.py:729
+#: order/models.py:738
msgid "Line item notes"
msgstr ""
-#: order/models.py:759 order/models.py:847
-#: templates/js/translated/order.js:1131
+#: order/models.py:768 order/models.py:856
+#: templates/js/translated/order.js:1144
msgid "Order"
msgstr ""
-#: order/models.py:760 order/templates/order/order_base.html:9
-#: order/templates/order/order_base.html:24
+#: order/models.py:769 order/templates/order/order_base.html:9
+#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:338
-#: templates/js/translated/order.js:637 templates/js/translated/stock.js:970
-#: templates/js/translated/stock.js:1568
+#: stock/templates/stock/item_base.html:325
+#: templates/js/translated/order.js:638 templates/js/translated/stock.js:1270
+#: templates/js/translated/stock.js:1953
msgid "Purchase Order"
msgstr ""
-#: order/models.py:781
+#: order/models.py:790
msgid "Supplier part"
msgstr "供应商商品"
-#: order/models.py:788 order/templates/order/order_base.html:131
-#: order/templates/order/sales_order_base.html:138
-#: templates/js/translated/order.js:428 templates/js/translated/order.js:919
+#: order/models.py:797 order/templates/order/order_base.html:147
+#: order/templates/order/sales_order_base.html:154
+#: templates/js/translated/order.js:429 templates/js/translated/order.js:932
msgid "Received"
msgstr ""
-#: order/models.py:789
+#: order/models.py:798
msgid "Number of items received"
msgstr ""
-#: order/models.py:796 part/templates/part/prices.html:176 stock/models.py:588
-#: stock/serializers.py:150 stock/templates/stock/item_base.html:345
-#: templates/js/translated/stock.js:1024
+#: order/models.py:805 part/templates/part/prices.html:176 stock/models.py:619
+#: stock/serializers.py:163 stock/templates/stock/item_base.html:332
+#: templates/js/translated/stock.js:1324
msgid "Purchase Price"
msgstr "采购价格"
-#: order/models.py:797
+#: order/models.py:806
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:805
+#: order/models.py:814
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:857 part/templates/part/part_pricing.html:112
+#: order/models.py:866 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:116 part/templates/part/prices.html:284
msgid "Sale Price"
msgstr "销售价格"
-#: order/models.py:858
+#: order/models.py:867
msgid "Unit sale price"
msgstr ""
-#: order/models.py:937 order/models.py:939
+#: order/models.py:946 order/models.py:948
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:943
+#: order/models.py:952
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:945
+#: order/models.py:954
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:948
+#: order/models.py:957
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:952
+#: order/models.py:961
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:958
+#: order/models.py:967
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:966
+#: order/models.py:975
msgid "Line"
msgstr ""
-#: order/models.py:978
+#: order/models.py:987
msgid "Item"
msgstr ""
-#: order/models.py:979
+#: order/models.py:988
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:982
+#: order/models.py:991
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3300,7 +3201,7 @@ msgstr ""
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:218 order/serializers.py:285
+#: order/serializers.py:218 order/serializers.py:286
msgid "Select destination location for received items"
msgstr ""
@@ -3312,72 +3213,76 @@ msgstr ""
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:259
+#: order/serializers.py:260
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:297
+#: order/serializers.py:298
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:314
+#: order/serializers.py:315
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:325
+#: order/serializers.py:326
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:569
+#: order/serializers.py:568
msgid "Sale price currency"
msgstr ""
#: order/templates/order/delete_attachment.html:5
#: stock/templates/stock/attachment_delete.html:5
-#: templates/attachment_delete.html:5
msgid "Are you sure you want to delete this attachment?"
msgstr ""
-#: order/templates/order/order_base.html:39
-#: order/templates/order/sales_order_base.html:50
-msgid "Print"
-msgstr ""
+#: order/templates/order/order_base.html:33
+#, fuzzy
+#| msgid "Print Order Reports"
+msgid "Print purchase order report"
+msgstr "打印订单报表"
-#: order/templates/order/order_base.html:42
-#: order/templates/order/sales_order_base.html:53
+#: order/templates/order/order_base.html:35
+#: order/templates/order/sales_order_base.html:45
msgid "Export order to file"
msgstr ""
-#: order/templates/order/order_base.html:46
-#: order/templates/order/sales_order_base.html:57
-msgid "Edit order information"
-msgstr ""
+#: order/templates/order/order_base.html:41
+#: order/templates/order/sales_order_base.html:54
+#, fuzzy
+#| msgid "Order Parts"
+msgid "Order actions"
+msgstr "订购商品"
-#: order/templates/order/order_base.html:54
+#: order/templates/order/order_base.html:45
+#: order/templates/order/sales_order_base.html:58
+#, fuzzy
+#| msgid "Edit Notes"
+msgid "Edit order"
+msgstr "编辑备注"
+
+#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
-#: order/templates/order/order_base.html:72
-#: order/templates/order/po_navbar.html:12
-msgid "Purchase Order Details"
-msgstr ""
-
-#: order/templates/order/order_base.html:77
-#: order/templates/order/sales_order_base.html:84
+#: order/templates/order/order_base.html:93
+#: order/templates/order/sales_order_base.html:98
msgid "Order Reference"
msgstr ""
-#: order/templates/order/order_base.html:82
-#: order/templates/order/sales_order_base.html:89
+#: order/templates/order/order_base.html:98
+#: order/templates/order/sales_order_base.html:103
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:117
+#: order/templates/order/order_base.html:133
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:185
+#: order/templates/order/order_base.html:203
msgid "Edit Purchase Order"
msgstr ""
@@ -3453,7 +3358,8 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/build.js:869 templates/js/translated/order.js:376
+#: templates/js/translated/build.js:240 templates/js/translated/build.js:1251
+#: templates/js/translated/order.js:377
msgid "Remove row"
msgstr "移除行"
@@ -3475,19 +3381,19 @@ msgstr "行"
msgid "Select Supplier Part"
msgstr "选择供应商商品"
-#: order/templates/order/order_wizard/po_upload.html:11
+#: order/templates/order/order_wizard/po_upload.html:16
msgid "Upload File for Purchase Order"
msgstr ""
-#: order/templates/order/order_wizard/po_upload.html:18
-#: part/templates/part/bom_upload/upload_file.html:34
+#: order/templates/order/order_wizard/po_upload.html:24
+#: part/templates/part/bom_upload/upload_file.html:20
#: part/templates/part/import_wizard/ajax_part_upload.html:10
-#: part/templates/part/import_wizard/part_upload.html:21
+#: part/templates/part/import_wizard/part_upload.html:22
#, python-format
msgid "Step %(step)s of %(count)s"
msgstr "步骤 %(step)s / %(count)s"
-#: order/templates/order/order_wizard/po_upload.html:48
+#: order/templates/order/order_wizard/po_upload.html:54
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
@@ -3530,7 +3436,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:694 templates/js/translated/order.js:1084
+#: templates/js/translated/order.js:695 templates/js/translated/order.js:1097
msgid "Items"
msgstr ""
@@ -3548,30 +3454,14 @@ msgstr ""
msgid "Select a purchase order for %(name)s"
msgstr ""
-#: order/templates/order/po_attachments.html:12
-#: order/templates/order/po_navbar.html:32
-#: order/templates/order/purchase_order_detail.html:56
-msgid "Purchase Order Attachments"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:26
-msgid "Received Stock Items"
-msgstr ""
-
-#: order/templates/order/po_navbar.html:29
-#: order/templates/order/po_received_items.html:12
-#: order/templates/order/purchase_order_detail.html:47
-msgid "Received Items"
-msgstr ""
-
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:24
-#: order/templates/order/purchase_order_detail.html:212
+#: order/templates/order/purchase_order_detail.html:27
+#: order/templates/order/purchase_order_detail.html:216
#: order/templates/order/sales_order_detail.html:23
-#: order/templates/order/sales_order_detail.html:177
+#: order/templates/order/sales_order_detail.html:191
msgid "Add Line Item"
msgstr ""
@@ -3583,34 +3473,47 @@ msgstr ""
msgid "Receive Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
-#: order/templates/order/sales_order_detail.html:54
+#: order/templates/order/purchase_order_detail.html:50
+msgid "Received Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:76
+#: order/templates/order/sales_order_detail.html:68
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_orders.html:24
-#: order/templates/order/sales_orders.html:24
+#: order/templates/order/purchase_orders.html:30
+#: order/templates/order/sales_orders.html:33
msgid "Print Order Reports"
msgstr "打印订单报表"
-#: order/templates/order/sales_order_base.html:16
+#: order/templates/order/sales_order_base.html:43
+#, fuzzy
+#| msgid "Print Order Reports"
+msgid "Print sales order report"
+msgstr "打印订单报表"
+
+#: order/templates/order/sales_order_base.html:47
+#, fuzzy
+#| msgid "Print actions"
+msgid "Print packing list"
+msgstr "打印操作"
+
+#: order/templates/order/sales_order_base.html:66
+#: order/templates/order/sales_order_base.html:67 order/views.py:222
+msgid "Ship Order"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:86
msgid "This Sales Order has not been fully allocated"
msgstr ""
-#: order/templates/order/sales_order_base.html:70
-msgid "Packing List"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:79
-msgid "Sales Order Details"
-msgstr ""
-
-#: order/templates/order/sales_order_base.html:105
-#: templates/js/translated/order.js:1051
+#: order/templates/order/sales_order_base.html:121
+#: templates/js/translated/order.js:1064
msgid "Customer Reference"
msgstr ""
-#: order/templates/order/sales_order_base.html:183
+#: order/templates/order/sales_order_base.html:194
msgid "Edit Sales Order"
msgstr ""
@@ -3625,7 +3528,7 @@ msgstr "警告"
msgid "Cancelling this order means that the order will no longer be editable."
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
@@ -3653,18 +3556,6 @@ msgstr ""
msgid "Allocate stock items by serial number"
msgstr ""
-#: order/templates/order/so_navbar.html:12
-msgid "Sales Order Line Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:15
-msgid "Order Items"
-msgstr ""
-
-#: order/templates/order/so_navbar.html:26
-msgid "Sales Order Attachments"
-msgstr ""
-
#: order/views.py:103
msgid "Cancel Order"
msgstr "取消订单"
@@ -3705,10 +3596,6 @@ msgstr ""
msgid "Purchase order completed"
msgstr ""
-#: order/views.py:222
-msgid "Ship Order"
-msgstr ""
-
#: order/views.py:238
msgid "Confirm order shipment"
msgstr ""
@@ -3776,40 +3663,28 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:54 part/models.py:299 part/templates/part/cat_link.html:7
-#: part/templates/part/category.html:108 part/templates/part/category.html:122
-#: part/templates/part/category_navbar.html:21
-#: part/templates/part/category_navbar.html:24
-#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97
-#: templates/js/translated/part.js:1165 templates/navbar.html:29
-#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
-msgid "Parts"
-msgstr "商品"
-
-#: part/api.py:700
+#: part/api.py:731
msgid "Must be greater than zero"
msgstr "必须大于0"
-#: part/api.py:704
+#: part/api.py:735
msgid "Must be a valid quantity"
msgstr "必须是有效的数量"
-#: part/api.py:719
+#: part/api.py:750
msgid "Specify location for initial part stock"
msgstr "指定初始初始商品仓储地点"
-#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773
+#: part/api.py:781 part/api.py:785 part/api.py:800 part/api.py:804
msgid "This field is required"
msgstr "此字段为必填"
-#: part/bom.py:133 part/models.py:76 part/models.py:734
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:290
+#: part/bom.py:125 part/models.py:81 part/models.py:816
+#: part/templates/part/category.html:90 part/templates/part/detail.html:104
msgid "Default Location"
msgstr "默认仓储地点"
-#: part/bom.py:134 part/templates/part/part_base.html:156
+#: part/bom.py:126 part/templates/part/part_base.html:167
msgid "Available Stock"
msgstr "可用库存"
@@ -3869,7 +3744,7 @@ msgstr "包含供应商数据"
msgid "Include part supplier data in exported BOM"
msgstr "在导出 BOM 中包含供应商数据"
-#: part/forms.py:96 part/models.py:2254
+#: part/forms.py:96 part/models.py:2427
msgid "Parent Part"
msgstr ""
@@ -3901,456 +3776,469 @@ msgstr ""
msgid "Select part category"
msgstr "选择类别"
-#: part/forms.py:226
+#: part/forms.py:214
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:230
+#: part/forms.py:218
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:250
+#: part/forms.py:238
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:77
+#: part/models.py:82
msgid "Default location for parts in this category"
msgstr "此类别商品的默认仓储地点"
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords"
msgstr ""
-#: part/models.py:80
+#: part/models.py:85
msgid "Default keywords for parts in this category"
msgstr "此类别商品的默认关键字"
-#: part/models.py:90 part/models.py:2300
+#: part/models.py:95 part/models.py:2473 part/templates/part/category.html:11
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "商品类别"
-#: part/models.py:91 part/templates/part/category.html:32
-#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
-#: templates/stats.html:84 users/models.py:40
+#: part/models.py:96 part/templates/part/category.html:117
+#: templates/InvenTree/search.html:101 templates/stats.html:84
+#: users/models.py:40
msgid "Part Categories"
msgstr "商品类别"
-#: part/models.py:384
+#: part/models.py:358 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:13 part/templates/part/category.html:122
+#: part/templates/part/category.html:142 templates/InvenTree/index.html:85
+#: templates/InvenTree/search.html:88 templates/js/translated/part.js:1304
+#: templates/navbar.html:19 templates/stats.html:80 templates/stats.html:89
+#: users/models.py:41
+msgid "Parts"
+msgstr "商品"
+
+#: part/models.py:450
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:436 part/models.py:448
+#: part/models.py:502 part/models.py:514
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:545
+#: part/models.py:611
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:549
+#: part/models.py:615
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:554
+#: part/models.py:620
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:633
+#: part/models.py:715
msgid "Duplicate IPN not allowed in part settings"
msgstr "在商品设置中不允许重复的IPN"
-#: part/models.py:658
+#: part/models.py:740
msgid "Part name"
msgstr "商品名称"
-#: part/models.py:665
+#: part/models.py:747
msgid "Is Template"
msgstr ""
-#: part/models.py:666
+#: part/models.py:748
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:676
+#: part/models.py:758
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:677
+#: part/models.py:759
msgid "Variant Of"
msgstr ""
-#: part/models.py:683
+#: part/models.py:765
msgid "Part description"
msgstr "商品描述"
-#: part/models.py:688 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:259
+#: part/models.py:770 part/templates/part/category.html:97
+#: part/templates/part/detail.html:73
msgid "Keywords"
msgstr "关键词"
-#: part/models.py:689
+#: part/models.py:771
msgid "Part keywords to improve visibility in search results"
msgstr "提高搜索结果可见性的关键字"
-#: part/models.py:696 part/models.py:2299
-#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:169
-#: templates/js/translated/part.js:927
+#: part/models.py:778 part/models.py:2223 part/models.py:2472
+#: part/templates/part/detail.html:36 part/templates/part/set_category.html:15
+#: templates/InvenTree/settings/settings.html:163
+#: templates/js/translated/part.js:928
msgid "Category"
msgstr "类别"
-#: part/models.py:697
+#: part/models.py:779
msgid "Part category"
msgstr "商品类别"
-#: part/models.py:702 part/templates/part/part_base.html:235
-#: templates/js/translated/part.js:528 templates/js/translated/part.js:760
+#: part/models.py:784 part/templates/part/detail.html:45
+#: templates/js/translated/part.js:549
msgid "IPN"
msgstr ""
-#: part/models.py:703
+#: part/models.py:785
msgid "Internal Part Number"
msgstr "内部商品编号"
-#: part/models.py:709
+#: part/models.py:791
msgid "Part revision or version number"
msgstr "商品版本号"
-#: part/models.py:710 part/templates/part/part_base.html:252
-#: report/models.py:200 templates/js/translated/part.js:532
+#: part/models.py:792 part/templates/part/detail.html:52 report/models.py:200
+#: templates/js/translated/part.js:553
msgid "Revision"
msgstr ""
-#: part/models.py:732
+#: part/models.py:814
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:779 part/templates/part/part_base.html:297
+#: part/models.py:861 part/templates/part/detail.html:113
msgid "Default Supplier"
msgstr ""
-#: part/models.py:780
+#: part/models.py:862
msgid "Default supplier part"
msgstr "默认供应商商品"
-#: part/models.py:787
+#: part/models.py:869
msgid "Default Expiry"
msgstr ""
-#: part/models.py:788
+#: part/models.py:870
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:793
+#: part/models.py:875 part/templates/part/part_base.html:178
msgid "Minimum Stock"
msgstr "最低库存"
-#: part/models.py:794
+#: part/models.py:876
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:801
+#: part/models.py:883
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:807
+#: part/models.py:889
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:813
+#: part/models.py:895
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:819
+#: part/models.py:901
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:824
+#: part/models.py:906
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:829
+#: part/models.py:911
msgid "Can this part be sold to customers?"
msgstr "此商品可以销售给客户吗?"
-#: part/models.py:833 templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:82
-#: templates/js/translated/table_filters.js:268
-#: templates/js/translated/table_filters.js:346
+#: part/models.py:915 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:362
msgid "Active"
msgstr ""
-#: part/models.py:834
+#: part/models.py:916
msgid "Is this part active?"
msgstr ""
-#: part/models.py:839
+#: part/models.py:921
msgid "Is this a virtual part, such as a software product or license?"
msgstr "这是一个虚拟商品,如软件产品或许可证吗?"
-#: part/models.py:844
+#: part/models.py:926
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "BOM checksum"
msgstr ""
-#: part/models.py:847
+#: part/models.py:929
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:850
+#: part/models.py:932
msgid "BOM checked by"
msgstr ""
-#: part/models.py:852
+#: part/models.py:934
msgid "BOM checked date"
msgstr ""
-#: part/models.py:856
+#: part/models.py:938
msgid "Creation User"
msgstr "新建用户"
-#: part/models.py:1605
+#: part/models.py:1750
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2100
+#: part/models.py:2273
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2117
+#: part/models.py:2290
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2137 templates/js/translated/part.js:1216
-#: templates/js/translated/stock.js:535
+#: part/models.py:2310 templates/js/translated/part.js:1355
+#: templates/js/translated/stock.js:828
msgid "Test Name"
msgstr ""
-#: part/models.py:2138
+#: part/models.py:2311
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2143
+#: part/models.py:2316
msgid "Test Description"
msgstr ""
-#: part/models.py:2144
+#: part/models.py:2317
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2149 templates/js/translated/part.js:1225
-#: templates/js/translated/table_filters.js:254
+#: part/models.py:2322 templates/js/translated/part.js:1364
+#: templates/js/translated/table_filters.js:270
msgid "Required"
msgstr ""
-#: part/models.py:2150
+#: part/models.py:2323
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2155 templates/js/translated/part.js:1233
+#: part/models.py:2328 templates/js/translated/part.js:1372
msgid "Requires Value"
msgstr ""
-#: part/models.py:2156
+#: part/models.py:2329
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2161 templates/js/translated/part.js:1240
+#: part/models.py:2334 templates/js/translated/part.js:1379
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2162
+#: part/models.py:2335
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2173
+#: part/models.py:2346
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2209
+#: part/models.py:2382
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2217
+#: part/models.py:2390
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2224
+#: part/models.py:2397
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2256 part/models.py:2305 part/models.py:2306
-#: templates/InvenTree/settings/settings.html:164
+#: part/models.py:2429 part/models.py:2478 part/models.py:2479
+#: templates/InvenTree/settings/settings.html:158
msgid "Parameter Template"
msgstr "参数模板"
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Data"
msgstr ""
-#: part/models.py:2258
+#: part/models.py:2431
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2310 templates/InvenTree/settings/settings.html:173
+#: part/models.py:2483 templates/InvenTree/settings/settings.html:167
msgid "Default Value"
msgstr "默认值"
-#: part/models.py:2311
+#: part/models.py:2484
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2561
msgid "Select parent part"
msgstr ""
-#: part/models.py:2370
+#: part/models.py:2569
msgid "Sub part"
msgstr ""
-#: part/models.py:2371
+#: part/models.py:2570
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2377
+#: part/models.py:2576
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2379 templates/js/translated/bom.js:275
-#: templates/js/translated/bom.js:335
+#: part/models.py:2578 templates/js/translated/bom.js:452
+#: templates/js/translated/bom.js:526
+#: templates/js/translated/table_filters.js:86
msgid "Optional"
msgstr "可选项"
-#: part/models.py:2379
+#: part/models.py:2578
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2382
+#: part/models.py:2581
msgid "Overage"
msgstr ""
-#: part/models.py:2383
+#: part/models.py:2582
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2585
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2588
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "Checksum"
msgstr ""
-#: part/models.py:2391
+#: part/models.py:2590
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2395 templates/js/translated/bom.js:352
-#: templates/js/translated/bom.js:359
+#: part/models.py:2594 templates/js/translated/bom.js:543
+#: templates/js/translated/bom.js:550
#: templates/js/translated/table_filters.js:68
+#: templates/js/translated/table_filters.js:82
msgid "Inherited"
msgstr "继承项"
-#: part/models.py:2396
+#: part/models.py:2595
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2401 templates/js/translated/bom.js:344
+#: part/models.py:2600 templates/js/translated/bom.js:535
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2402
+#: part/models.py:2601
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2487 stock/models.py:341
+#: part/models.py:2686 stock/models.py:371
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2496 part/models.py:2498
+#: part/models.py:2695 part/models.py:2697
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2620
+#: part/models.py:2826
+msgid "BOM Item Substitute"
+msgstr ""
+
+#: part/models.py:2848
+msgid "Substitute part cannot be the same as the master part"
+msgstr ""
+
+#: part/models.py:2860
+#, fuzzy
+#| msgid "Parent Build"
+msgid "Parent BOM item"
+msgstr "上级生产"
+
+#: part/models.py:2868
+#, fuzzy
+#| msgid "Supplier part"
+msgid "Substitute part"
+msgstr "供应商商品"
+
+#: part/models.py:2879
msgid "Part 1"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Part 2"
msgstr ""
-#: part/models.py:2624
+#: part/models.py:2883
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2656
+#: part/models.py:2915
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
+#: part/tasks.py:53
+#, fuzzy
+#| msgid "No stock location set"
+msgid "Low stock notification"
+msgstr "未设置仓储地点"
+
#: part/templates/part/bom.html:6
msgid "You do not have permission to edit the BOM."
msgstr ""
-#: part/templates/part/bom.html:14
+#: part/templates/part/bom.html:15
#, python-format
msgid "The BOM for %(part)s has changed, and must be validated.
"
msgstr ""
-#: part/templates/part/bom.html:16
+#: part/templates/part/bom.html:17
#, python-format
msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s"
msgstr ""
-#: part/templates/part/bom.html:20
+#: part/templates/part/bom.html:21
#, python-format
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:27
-msgid "Remove selected BOM items"
-msgstr ""
-
-#: part/templates/part/bom.html:30
-msgid "Import BOM data"
-msgstr ""
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:383
+#, fuzzy
+#| msgid "Build actions"
+msgid "BOM actions"
+msgstr "生产操作"
#: part/templates/part/bom.html:34
-msgid "Copy BOM from parent part"
-msgstr ""
-
-#: part/templates/part/bom.html:38
-msgid "New BOM Item"
-msgstr ""
-
-#: part/templates/part/bom.html:41
-msgid "Finish Editing"
-msgstr ""
-
-#: part/templates/part/bom.html:46
-msgid "Edit BOM"
-msgstr ""
-
-#: part/templates/part/bom.html:50
-msgid "Validate Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:56 part/views.py:1220
-msgid "Export Bill of Materials"
-msgstr ""
-
-#: part/templates/part/bom.html:59
-msgid "Print BOM Report"
-msgstr ""
+#, fuzzy
+#| msgid "Delete Item"
+msgid "Delete Items"
+msgstr "删除项"
#: part/templates/part/bom_duplicate.html:13
msgid "This part already has a Bill of Materials"
@@ -4360,28 +4248,23 @@ msgstr ""
msgid "Select Part"
msgstr "选择商品"
-#: part/templates/part/bom_upload/upload_file.html:13
-#: part/templates/part/bom_upload/upload_file.html:16
-msgid "Return To BOM"
-msgstr ""
-
-#: part/templates/part/bom_upload/upload_file.html:27
+#: part/templates/part/bom_upload/upload_file.html:12
msgid "Upload Bill of Materials"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:46
+#: part/templates/part/bom_upload/upload_file.html:32
msgid "Requirements for BOM upload"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "The BOM file must contain the required named columns as provided in the "
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:48
+#: part/templates/part/bom_upload/upload_file.html:34
msgid "BOM Upload Template"
msgstr ""
-#: part/templates/part/bom_upload/upload_file.html:49
+#: part/templates/part/bom_upload/upload_file.html:35
msgid "Each part must already exist in the database"
msgstr "每个商品必须已经存在于数据库"
@@ -4394,93 +4277,121 @@ msgstr ""
msgid "This will validate each line in the BOM."
msgstr ""
-#: part/templates/part/category.html:33
-msgid "All parts"
-msgstr "所有商品"
+#: part/templates/part/category.html:24 part/templates/part/category.html:28
+#, fuzzy
+#| msgid "Default location for parts in this category"
+msgid "You are subscribed to notifications for this category"
+msgstr "此类别商品的默认仓储地点"
+
+#: part/templates/part/category.html:32
+#, fuzzy
+#| msgid "Default location for parts in this category"
+msgid "Subscribe to notifications for this category"
+msgstr "此类别商品的默认仓储地点"
#: part/templates/part/category.html:38
+#, fuzzy
+#| msgid "Category Settings"
+msgid "Category Actions"
+msgstr "类别设置"
+
+#: part/templates/part/category.html:43
+#, fuzzy
+#| msgid "Edit part category"
+msgid "Edit category"
+msgstr "编辑商品类别"
+
+#: part/templates/part/category.html:44
+#, fuzzy
+#| msgid "Edit Part Category"
+msgid "Edit Category"
+msgstr "编辑商品类别"
+
+#: part/templates/part/category.html:48
+#, fuzzy
+#| msgid "Delete part category"
+msgid "Delete category"
+msgstr "删除类别"
+
+#: part/templates/part/category.html:49
+#, fuzzy
+#| msgid "Select Category"
+msgid "Delete Category"
+msgstr "选择分类"
+
+#: part/templates/part/category.html:57
msgid "Create new part category"
msgstr "新建商品类别"
-#: part/templates/part/category.html:44
-msgid "Edit part category"
-msgstr "编辑商品类别"
+#: part/templates/part/category.html:58
+#, fuzzy
+#| msgid "Set Category"
+msgid "New Category"
+msgstr "设置类别"
-#: part/templates/part/category.html:49
-msgid "Delete part category"
-msgstr "删除类别"
+#: part/templates/part/category.html:67
+#, fuzzy
+#| msgid "top level Parts category"
+msgid "Top level part category"
+msgstr "顶层商品类别"
-#: part/templates/part/category.html:59 part/templates/part/category.html:98
-msgid "Category Details"
-msgstr "类别详细信息"
-
-#: part/templates/part/category.html:64
+#: part/templates/part/category.html:79
msgid "Category Path"
msgstr "类别路径"
-#: part/templates/part/category.html:69
+#: part/templates/part/category.html:84
msgid "Category Description"
msgstr "类别说明"
-#: part/templates/part/category.html:88 part/templates/part/category.html:175
-#: part/templates/part/category_navbar.html:14
-#: part/templates/part/category_navbar.html:17
+#: part/templates/part/category.html:103 part/templates/part/category.html:194
msgid "Subcategories"
msgstr "子类别"
-#: part/templates/part/category.html:93
+#: part/templates/part/category.html:108
msgid "Parts (Including subcategories)"
msgstr "商品 (包括子类别)"
-#: part/templates/part/category.html:126
+#: part/templates/part/category.html:145
msgid "Export Part Data"
msgstr "导出商品数据"
-#: part/templates/part/category.html:127 part/templates/part/category.html:142
+#: part/templates/part/category.html:146 part/templates/part/category.html:170
msgid "Export"
msgstr "导出"
-#: part/templates/part/category.html:130
+#: part/templates/part/category.html:149
msgid "Create new part"
msgstr "新建商品"
-#: part/templates/part/category.html:131 templates/js/translated/bom.js:39
+#: part/templates/part/category.html:150 templates/js/translated/bom.js:40
msgid "New Part"
msgstr "新商品"
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set category"
msgstr "设置类别"
-#: part/templates/part/category.html:138
+#: part/templates/part/category.html:164
msgid "Set Category"
msgstr "设置类别"
-#: part/templates/part/category.html:141
+#: part/templates/part/category.html:168
msgid "Print Labels"
msgstr "打印标签"
-#: part/templates/part/category.html:142
+#: part/templates/part/category.html:170
msgid "Export Data"
msgstr "导出数据"
-#: part/templates/part/category.html:146
-msgid "View list display"
-msgstr "列表视图"
-
-#: part/templates/part/category.html:149
-msgid "View grid display"
-msgstr "网格视图"
-
-#: part/templates/part/category.html:165
+#: part/templates/part/category.html:184
msgid "Part Parameters"
msgstr "商品参数"
-#: part/templates/part/category.html:254
+#: part/templates/part/category.html:261
msgid "Create Part Category"
msgstr "创建商品类别"
-#: part/templates/part/category.html:281
+#: part/templates/part/category.html:288
msgid "Create Part"
msgstr "创建商品"
@@ -4519,12 +4430,7 @@ msgstr "如果删除此类别,这些商品将移至其父类别 %(path)s"
msgid "If this category is deleted, these parts will be moved to the top-level category Teile"
msgstr ""
-#: part/templates/part/category_navbar.html:29
-#: part/templates/part/category_navbar.html:32
-msgid "Import Parts"
-msgstr "导入商品"
-
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:363
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:365
msgid "Duplicate Part"
msgstr "复制部件"
@@ -4549,311 +4455,325 @@ msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)"
msgstr ""
#: part/templates/part/detail.html:16
+#, fuzzy
+#| msgid "Show Part Details"
+msgid "Part Details"
+msgstr "显示商品详细信息"
+
+#: part/templates/part/detail.html:66
+#, fuzzy
+#| msgid "Minimum Stock"
+msgid "Minimum stock level"
+msgstr "最低库存"
+
+#: part/templates/part/detail.html:97
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/detail.html:124
msgid "Part Stock"
msgstr "商品库存"
-#: part/templates/part/detail.html:21
+#: part/templates/part/detail.html:136
#, python-format
msgid "Showing stock for all variants of %(full_name)s"
msgstr ""
-#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99
+#: part/templates/part/detail.html:146
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/detail.html:36
+#: part/templates/part/detail.html:151
msgid "Add Test Template"
msgstr ""
-#: part/templates/part/detail.html:77
-msgid "New sales order"
-msgstr ""
-
-#: part/templates/part/detail.html:77
-msgid "New Order"
-msgstr ""
-
-#: part/templates/part/detail.html:90
+#: part/templates/part/detail.html:208
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27
+#: part/templates/part/detail.html:249
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:137
+#: part/templates/part/detail.html:253
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:138
+#: part/templates/part/detail.html:254
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:161
+#: part/templates/part/detail.html:281
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107
-#: part/templates/part/navbar.html:110
+#: part/templates/part/detail.html:315
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:188
+#: part/templates/part/detail.html:319 part/templates/part/detail.html:320
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43
-#: part/templates/part/navbar.html:46
+#: part/templates/part/detail.html:366
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:237
+#: part/templates/part/detail.html:371
+#, fuzzy
+#| msgid "Print actions"
+msgid "Export actions"
+msgstr "打印操作"
+
+#: part/templates/part/detail.html:375
+#, fuzzy
+#| msgid "Export"
+msgid "Export BOM"
+msgstr "导出"
+
+#: part/templates/part/detail.html:377
+msgid "Print BOM Report"
+msgstr ""
+
+#: part/templates/part/detail.html:387
+#, fuzzy
+#| msgid "Upload File"
+msgid "Upload BOM"
+msgstr "上传文件"
+
+#: part/templates/part/detail.html:389 templates/js/translated/part.js:266
+msgid "Copy BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:391 part/views.py:820
+msgid "Validate BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:396
+msgid "New BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:397
+msgid "Add BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:410
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:253
+#: part/templates/part/detail.html:427
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:260
-msgid "Start New Build"
-msgstr ""
-
-#: part/templates/part/detail.html:274
+#: part/templates/part/detail.html:452
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:283
+#: part/templates/part/detail.html:462
msgid "Part Suppliers"
msgstr "商品供应商"
-#: part/templates/part/detail.html:305
+#: part/templates/part/detail.html:489
msgid "Part Manufacturers"
msgstr "商品制造商"
-#: part/templates/part/detail.html:317
+#: part/templates/part/detail.html:505
msgid "Delete manufacturer parts"
msgstr "删除制造商商品"
-#: part/templates/part/detail.html:502
+#: part/templates/part/detail.html:686
msgid "Delete selected BOM items?"
msgstr ""
-#: part/templates/part/detail.html:503
+#: part/templates/part/detail.html:687
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:554
+#: part/templates/part/detail.html:738
msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:699
+#: part/templates/part/detail.html:876
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:755
+#: part/templates/part/detail.html:933
msgid "Edit Part Notes"
msgstr "编辑商品注释"
-#: part/templates/part/detail.html:907
+#: part/templates/part/detail.html:1085
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:919
+#: part/templates/part/detail.html:1097
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:931
+#: part/templates/part/detail.html:1109
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1020
+#: part/templates/part/detail.html:1198
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
#: part/templates/part/import_wizard/ajax_part_upload.html:29
-#: part/templates/part/import_wizard/part_upload.html:51
+#: part/templates/part/import_wizard/part_upload.html:52
msgid "Unsuffitient privileges."
msgstr ""
-#: part/templates/part/import_wizard/part_upload.html:14
+#: part/templates/part/import_wizard/part_upload.html:15
msgid "Import Parts from File"
msgstr "从文件导入商品"
-#: part/templates/part/navbar.html:30
-msgid "Variants"
-msgstr ""
-
-#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/navbar.html:70
-msgid "Prices"
-msgstr ""
-
-#: part/templates/part/navbar.html:102
-msgid "Test Templates"
-msgstr ""
-
#: part/templates/part/part_app_base.html:12
msgid "Part List"
msgstr "商品列表"
+#: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31
+msgid "You are subscribed to notifications for this part"
+msgstr ""
+
#: part/templates/part/part_base.html:35
-msgid "Part is a template part (variants can be made from this part)"
+msgid "Subscribe to notifications for this part"
msgstr ""
-#: part/templates/part/part_base.html:38
-msgid "Part can be assembled from other parts"
-msgstr "商品可以由其他部件组装"
-
-#: part/templates/part/part_base.html:41
-msgid "Part can be used in assemblies"
-msgstr "商品可以用于组装成品"
-
-#: part/templates/part/part_base.html:44
-msgid "Part stock is tracked by serial number"
-msgstr ""
-
-#: part/templates/part/part_base.html:47
-msgid "Part can be purchased from external suppliers"
-msgstr "商品可以从外部供应商处购买"
-
-#: part/templates/part/part_base.html:50
-msgid "Part can be sold to customers"
-msgstr "商品可以销售给客户"
-
-#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65
-msgid "Part is virtual (not a physical part)"
-msgstr "商品是虚拟的(不是实体零件)"
-
-#: part/templates/part/part_base.html:58 templates/js/translated/company.js:504
-#: templates/js/translated/company.js:761 templates/js/translated/part.js:443
-#: templates/js/translated/part.js:520
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:73
-msgid "Star this part"
-msgstr "标记此商品"
-
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:75
-#: stock/templates/stock/location.html:51
+#: part/templates/part/part_base.html:43
+#: stock/templates/stock/item_base.html:28
+#: stock/templates/stock/location.html:29
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:82
-#: stock/templates/stock/item_base.html:77
-#: stock/templates/stock/location.html:53 templates/qr_button.html:1
+#: part/templates/part/part_base.html:45
+#: stock/templates/stock/item_base.html:32
+#: stock/templates/stock/location.html:31 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:83
-#: stock/templates/stock/item_base.html:93
-#: stock/templates/stock/location.html:54
+#: part/templates/part/part_base.html:46
+#: stock/templates/stock/item_base.html:48
+#: stock/templates/stock/location.html:32
msgid "Print Label"
msgstr "打印标签"
-#: part/templates/part/part_base.html:89
+#: part/templates/part/part_base.html:51
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:95
-#: stock/templates/stock/item_base.html:142
-#: stock/templates/stock/location.html:62
+#: part/templates/part/part_base.html:56
+#: stock/templates/stock/item_base.html:103
+#: stock/templates/stock/location.html:40
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:102
+#: part/templates/part/part_base.html:63
msgid "Count part stock"
msgstr "清点商品库存"
-#: part/templates/part/part_base.html:108
+#: part/templates/part/part_base.html:69
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:125
+#: part/templates/part/part_base.html:84
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:128
+#: part/templates/part/part_base.html:87
msgid "Duplicate part"
msgstr "重复的商品"
-#: part/templates/part/part_base.html:131
+#: part/templates/part/part_base.html:90
msgid "Edit part"
msgstr "编辑商品"
-#: part/templates/part/part_base.html:134
+#: part/templates/part/part_base.html:93
msgid "Delete part"
msgstr "删除商品"
-#: part/templates/part/part_base.html:146
+#: part/templates/part/part_base.html:109
+msgid "Part is a template part (variants can be made from this part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:113
+msgid "Part can be assembled from other parts"
+msgstr "商品可以由其他部件组装"
+
+#: part/templates/part/part_base.html:117
+msgid "Part can be used in assemblies"
+msgstr "商品可以用于组装成品"
+
+#: part/templates/part/part_base.html:121
+msgid "Part stock is tracked by serial number"
+msgstr ""
+
+#: part/templates/part/part_base.html:125
+msgid "Part can be purchased from external suppliers"
+msgstr "商品可以从外部供应商处购买"
+
+#: part/templates/part/part_base.html:129
+msgid "Part can be sold to customers"
+msgstr "商品可以销售给客户"
+
+#: part/templates/part/part_base.html:135
+#: part/templates/part/part_base.html:143
+msgid "Part is virtual (not a physical part)"
+msgstr "商品是虚拟的(不是实体零件)"
+
+#: part/templates/part/part_base.html:136
+#: templates/js/translated/company.js:504
+#: templates/js/translated/company.js:761
+#: templates/js/translated/model_renderers.js:175
+#: templates/js/translated/part.js:464 templates/js/translated/part.js:541
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:155
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:161
-#: templates/js/translated/model_renderers.js:169
-#: templates/js/translated/order.js:1503
-#: templates/js/translated/table_filters.js:166
+#: part/templates/part/part_base.html:172 templates/js/translated/order.js:1524
+#: templates/js/translated/table_filters.js:182
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:167 templates/js/translated/part.js:960
+#: part/templates/part/part_base.html:185 templates/js/translated/part.js:961
msgid "On Order"
msgstr ""
-#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:192 templates/InvenTree/index.html:178
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:181
+#: part/templates/part/part_base.html:199
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:188
+#: part/templates/part/part_base.html:206
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:373
+#: part/templates/part/part_base.html:221 templates/js/translated/bom.js:564
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:209 templates/js/translated/part.js:776
-#: templates/js/translated/part.js:964
+#: part/templates/part/part_base.html:227 templates/js/translated/part.js:793
+#: templates/js/translated/part.js:965
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:223
-#: part/templates/part/part_base.html:531
-#: part/templates/part/part_base.html:557
-msgid "Show Part Details"
-msgstr "显示商品详细信息"
-
-#: part/templates/part/part_base.html:283
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:402 part/templates/part/prices.html:144
+#: part/templates/part/part_base.html:320 part/templates/part/prices.html:144
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:445
+#: part/templates/part/part_base.html:363
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:526
-#: part/templates/part/part_base.html:551
-msgid "Hide Part Details"
-msgstr "隐藏商品详细信息"
-
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4877,7 +4797,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
-#: templates/js/translated/bom.js:327
+#: templates/js/translated/bom.js:518
msgid "No supplier pricing available"
msgstr ""
@@ -4911,13 +4831,14 @@ msgstr ""
msgid "No pricing information is available for this part."
msgstr "此商品无价格信息可用。"
-#: part/templates/part/part_thumb.html:20
+#: part/templates/part/part_thumb.html:11
msgid "Select from existing images"
msgstr ""
#: part/templates/part/partial_delete.html:9
#, python-format
-msgid "Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
+msgid ""
+"Part '%(full_name)s' cannot be deleted as it is still marked as active.\n"
"
Disable the \"Active\" part attribute and re-try.\n"
" "
msgstr ""
@@ -4980,7 +4901,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:155 templates/js/translated/bom.js:321
+#: part/templates/part/prices.html:155 templates/js/translated/bom.js:512
msgid "Supplier Cost"
msgstr ""
@@ -5002,7 +4923,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:215 part/views.py:1801
+#: part/templates/part/prices.html:215 part/views.py:1853
msgid "Add Internal Price Break"
msgstr ""
@@ -5022,13 +4943,13 @@ msgstr ""
msgid "Set category for the following parts"
msgstr "为以下商品设置类别"
-#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:297
-#: templates/js/translated/model_renderers.js:167
-#: templates/js/translated/part.js:766 templates/js/translated/part.js:968
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:474
+#: templates/js/translated/part.js:428 templates/js/translated/part.js:783
+#: templates/js/translated/part.js:969
msgid "No Stock"
msgstr ""
-#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:166
+#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:158
msgid "Low Stock"
msgstr ""
@@ -5041,135 +4962,140 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:106
+#: part/templatetags/inventree_extras.py:113
msgid "Unknown database"
msgstr ""
-#: part/views.py:94
+#: part/views.py:95
msgid "Add Related Part"
msgstr ""
-#: part/views.py:149
+#: part/views.py:150
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:160
+#: part/views.py:161
msgid "Set Part Category"
msgstr "设置商品类别"
-#: part/views.py:210
+#: part/views.py:211
#, python-brace-format
msgid "Set category for {n} parts"
msgstr "为 {n} 个商品设置类别"
-#: part/views.py:270
+#: part/views.py:283
msgid "Match References"
msgstr ""
-#: part/views.py:526
+#: part/views.py:567
msgid "None"
msgstr ""
-#: part/views.py:585
+#: part/views.py:626
msgid "Part QR Code"
msgstr "商品二维码"
-#: part/views.py:687
+#: part/views.py:728
msgid "Select Part Image"
msgstr "选择商品图像"
-#: part/views.py:713
+#: part/views.py:754
msgid "Updated part image"
msgstr "更新商品图像"
-#: part/views.py:716
+#: part/views.py:757
msgid "Part image not found"
msgstr "未找到商品图像"
-#: part/views.py:728
+#: part/views.py:769
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:758
+#: part/views.py:799
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:779
-msgid "Validate BOM"
-msgstr ""
-
-#: part/views.py:800
+#: part/views.py:841
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:811
+#: part/views.py:852
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:884
+#: part/views.py:925
msgid "Match Parts"
msgstr "匹配商品"
-#: part/views.py:1272
+#: part/views.py:1261
+msgid "Export Bill of Materials"
+msgstr ""
+
+#: part/views.py:1313
msgid "Confirm Part Deletion"
msgstr "确认删除商品"
-#: part/views.py:1279
+#: part/views.py:1320
msgid "Part was deleted"
msgstr "商品已删除"
-#: part/views.py:1288
+#: part/views.py:1329
msgid "Part Pricing"
msgstr "商品价格"
-#: part/views.py:1437
+#: part/views.py:1478
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1447
+#: part/views.py:1488
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1454
+#: part/views.py:1495
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1502 templates/js/translated/part.js:308
+#: part/views.py:1554 templates/js/translated/part.js:309
msgid "Edit Part Category"
msgstr "编辑商品类别"
-#: part/views.py:1540
+#: part/views.py:1592
msgid "Delete Part Category"
msgstr "删除商品类别"
-#: part/views.py:1546
+#: part/views.py:1598
msgid "Part category was deleted"
msgstr "商品类别已删除"
-#: part/views.py:1555
+#: part/views.py:1607
msgid "Create Category Parameter Template"
msgstr "创建类别参数模板"
-#: part/views.py:1656
+#: part/views.py:1708
msgid "Edit Category Parameter Template"
msgstr "编辑类别参数模板"
-#: part/views.py:1712
+#: part/views.py:1764
msgid "Delete Category Parameter Template"
msgstr "删除类别参数模板"
-#: part/views.py:1734
+#: part/views.py:1786
msgid "Added new price break"
msgstr ""
-#: part/views.py:1810
+#: part/views.py:1862
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:1818
+#: part/views.py:1870
msgid "Delete Internal Price Break"
msgstr ""
+#: report/api.py:234 report/api.py:278
+#, python-brace-format
+msgid "Template file '{filename}' is missing or does not exist"
+msgstr ""
+
#: report/models.py:182
msgid "Template name"
msgstr ""
@@ -5206,51 +5132,51 @@ msgstr ""
msgid "Include test results for stock items installed inside assembled item"
msgstr ""
-#: report/models.py:380
+#: report/models.py:382
msgid "Build Filters"
msgstr ""
-#: report/models.py:381
+#: report/models.py:383
msgid "Build query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:423
+#: report/models.py:425
msgid "Part Filters"
msgstr "商品过滤器"
-#: report/models.py:424
+#: report/models.py:426
msgid "Part query filters (comma-separated list of key=value pairs"
msgstr ""
-#: report/models.py:458
+#: report/models.py:460
msgid "Purchase order query filters"
msgstr ""
-#: report/models.py:496
+#: report/models.py:498
msgid "Sales order query filters"
msgstr ""
-#: report/models.py:546
+#: report/models.py:548
msgid "Snippet"
msgstr ""
-#: report/models.py:547
+#: report/models.py:549
msgid "Report snippet file"
msgstr ""
-#: report/models.py:551
+#: report/models.py:553
msgid "Snippet file description"
msgstr ""
-#: report/models.py:586
+#: report/models.py:588
msgid "Asset"
msgstr ""
-#: report/models.py:587
+#: report/models.py:589
msgid "Report asset file"
msgstr ""
-#: report/models.py:590
+#: report/models.py:592
msgid "Asset file description"
msgstr ""
@@ -5267,543 +5193,595 @@ msgstr ""
msgid "Stock Item Test Report"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:83
+#: report/templates/report/inventree_test_report_base.html:79
+#: stock/models.py:530 stock/templates/stock/item_base.html:238
+#: templates/js/translated/build.js:233 templates/js/translated/build.js:637
+#: templates/js/translated/build.js:1013
+#: templates/js/translated/model_renderers.js:95
+#: templates/js/translated/order.js:1266 templates/js/translated/order.js:1355
+msgid "Serial Number"
+msgstr "序列号"
+
+#: report/templates/report/inventree_test_report_base.html:88
msgid "Test Results"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:1804
+#: report/templates/report/inventree_test_report_base.html:93
+#: stock/models.py:1855
msgid "Test"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:89
-#: stock/models.py:1810
+#: report/templates/report/inventree_test_report_base.html:94
+#: stock/models.py:1861
msgid "Result"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/translated/order.js:684 templates/js/translated/stock.js:1502
+#: report/templates/report/inventree_test_report_base.html:97
+#: templates/js/translated/order.js:685 templates/js/translated/stock.js:1887
msgid "Date"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:103
+#: report/templates/report/inventree_test_report_base.html:108
msgid "Pass"
msgstr ""
-#: report/templates/report/inventree_test_report_base.html:105
+#: report/templates/report/inventree_test_report_base.html:110
msgid "Fail"
msgstr ""
-#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556
-#: stock/templates/stock/item_base.html:395
-#: templates/js/translated/stock.js:946
+#: report/templates/report/inventree_test_report_base.html:123
+msgid "Installed Items"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:137
+#: templates/js/translated/stock.js:2147
+msgid "Serial"
+msgstr ""
+
+#: stock/api.py:422
+#, fuzzy
+#| msgid "This field is required"
+msgid "Quantity is required"
+msgstr "此字段为必填"
+
+#: stock/forms.py:91 stock/forms.py:265 stock/models.py:587
+#: stock/templates/stock/item_base.html:382
+#: templates/js/translated/stock.js:1246
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:308
+#: stock/forms.py:92 stock/forms.py:266
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:83
+#: stock/forms.py:95
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:134
+#: stock/forms.py:150
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:136
+#: stock/forms.py:152
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:138 stock/forms.py:282
+#: stock/forms.py:154 stock/forms.py:238
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:168 stock/forms.py:224
-msgid "Select test report template"
-msgstr ""
-
-#: stock/forms.py:240
+#: stock/forms.py:194
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:270
+#: stock/forms.py:224
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:280
+#: stock/forms.py:236
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:284
+#: stock/forms.py:240
msgid "Confirm removal of installed stock items"
msgstr ""
-#: stock/models.py:57 stock/models.py:593
+#: stock/models.py:60 stock/models.py:624
+#: stock/templates/stock/item_base.html:422
msgid "Owner"
msgstr ""
-#: stock/models.py:58 stock/models.py:594
+#: stock/models.py:61 stock/models.py:625
msgid "Select Owner"
msgstr ""
-#: stock/models.py:322
+#: stock/models.py:352
msgid "StockItem with this serial number already exists"
msgstr ""
-#: stock/models.py:358
+#: stock/models.py:388
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr "商品类型 ('{pf}') 必须是 {pe}"
-#: stock/models.py:368 stock/models.py:377
+#: stock/models.py:398 stock/models.py:407
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:369
+#: stock/models.py:399
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:391
+#: stock/models.py:421
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:397
+#: stock/models.py:427
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:404
+#: stock/models.py:434
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:446
+#: stock/models.py:476
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:455
+#: stock/models.py:485
msgid "Base part"
msgstr ""
-#: stock/models.py:464
+#: stock/models.py:493
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8
+#: stock/models.py:498 stock/templates/stock/location.html:12
+#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "仓储地点"
-#: stock/models.py:472
+#: stock/models.py:501
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:479
+#: stock/models.py:508
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:484 stock/templates/stock/item_base.html:284
+#: stock/models.py:513 stock/templates/stock/item_base.html:271
msgid "Installed In"
msgstr ""
-#: stock/models.py:487
+#: stock/models.py:516
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:503
+#: stock/models.py:532
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:515
+#: stock/models.py:546
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:519
+#: stock/models.py:550
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:528
+#: stock/models.py:559
msgid "Source Build"
msgstr ""
-#: stock/models.py:530
+#: stock/models.py:561
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:541
+#: stock/models.py:572
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:544
+#: stock/models.py:575
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:550
+#: stock/models.py:581
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:557
+#: stock/models.py:588
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:570
+#: stock/models.py:601
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:580 stock/templates/stock/item.html:99
-#: stock/templates/stock/navbar.html:54
+#: stock/models.py:611 stock/templates/stock/item.html:111
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:589
+#: stock/models.py:620
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:599
+#: stock/models.py:630
msgid "Scheduled for deletion"
msgstr ""
-#: stock/models.py:600
+#: stock/models.py:631
msgid "This StockItem will be deleted by the background worker"
msgstr ""
-#: stock/models.py:1063
+#: stock/models.py:1094
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1069
+#: stock/models.py:1100
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1075
+#: stock/models.py:1106
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1078
+#: stock/models.py:1109
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1081
+#: stock/models.py:1112
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1088
+#: stock/models.py:1119
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1246
+#: stock/models.py:1277
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:1724
+#: stock/models.py:1775
msgid "Entry notes"
msgstr ""
-#: stock/models.py:1781
+#: stock/models.py:1832
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:1787
+#: stock/models.py:1838
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:1805
+#: stock/models.py:1856
msgid "Test name"
msgstr ""
-#: stock/models.py:1811 templates/js/translated/table_filters.js:244
+#: stock/models.py:1862 templates/js/translated/table_filters.js:260
msgid "Test result"
msgstr ""
-#: stock/models.py:1817
+#: stock/models.py:1868
msgid "Test output value"
msgstr ""
-#: stock/models.py:1824
+#: stock/models.py:1875
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:1830
+#: stock/models.py:1881
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:424
-msgid "StockItem primary key value"
+#: stock/serializers.py:166
+#, fuzzy
+#| msgid "Source stock item"
+msgid "Purchase price of this stock item"
+msgstr "源库存项"
+
+#: stock/serializers.py:173
+msgid "Purchase currency of this stock item"
msgstr ""
-#: stock/serializers.py:452
-msgid "Stock transaction notes"
-msgstr ""
+#: stock/serializers.py:287
+#, fuzzy
+#| msgid "Number of stock items to build"
+msgid "Enter number of stock items to serialize"
+msgstr "要生产的项目数量"
-#: stock/serializers.py:462
-msgid "A list of stock items must be provided"
-msgstr ""
+#: stock/serializers.py:302
+#, fuzzy, python-brace-format
+#| msgid "Quantity to complete cannot exceed build output quantity"
+msgid "Quantity must not exceed available stock quantity ({q})"
+msgstr "完成数量不能超过生产产出数量"
-#: stock/serializers.py:554
+#: stock/serializers.py:308
+#, fuzzy
+#| msgid "Enter serial numbers for build outputs"
+msgid "Enter serial numbers for new items"
+msgstr "输入生产产出的序列号"
+
+#: stock/serializers.py:319 stock/serializers.py:687
msgid "Destination stock location"
msgstr ""
-#: stock/templates/stock/item.html:17
+#: stock/serializers.py:326
+#, fuzzy
+#| msgid "Location not specified"
+msgid "Optional note field"
+msgstr "未指定仓储地点"
+
+#: stock/serializers.py:339
+#, fuzzy
+#| msgid "Select which users are assigned to this group"
+msgid "Serial numbers cannot be assigned to this part"
+msgstr "选择分配给该组的用户"
+
+#: stock/serializers.py:557
+msgid "StockItem primary key value"
+msgstr ""
+
+#: stock/serializers.py:585
+msgid "Stock transaction notes"
+msgstr ""
+
+#: stock/serializers.py:595
+msgid "A list of stock items must be provided"
+msgstr ""
+
+#: stock/templates/stock/item.html:18
msgid "Stock Tracking Information"
msgstr ""
-#: stock/templates/stock/item.html:30
+#: stock/templates/stock/item.html:29
msgid "New Entry"
msgstr ""
-#: stock/templates/stock/item.html:43
+#: stock/templates/stock/item.html:48
msgid "Child Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:50
+#: stock/templates/stock/item.html:55
msgid "This stock item does not have any child items"
msgstr ""
-#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19
-#: stock/templates/stock/navbar.html:22
+#: stock/templates/stock/item.html:64
msgid "Test Data"
msgstr ""
-#: stock/templates/stock/item.html:66
-msgid "Delete Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:70
-msgid "Add Test Data"
-msgstr ""
-
-#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95
+#: stock/templates/stock/item.html:68 stock/templates/stock/item_base.html:50
msgid "Test Report"
msgstr ""
-#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27
+#: stock/templates/stock/item.html:72
+msgid "Delete Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:76
+msgid "Add Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:133
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:125 stock/views.py:511
+#: stock/templates/stock/item.html:137 stock/views.py:515
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326
+#: stock/templates/stock/item.html:318 stock/templates/stock/item.html:343
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:346
+#: stock/templates/stock/item.html:363
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:360
+#: stock/templates/stock/item.html:377
msgid "Delete Test Result"
msgstr ""
-#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:399
-#: templates/js/translated/table_filters.js:225
-msgid "Expired"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:401
-#: templates/js/translated/table_filters.js:231
-msgid "Stale"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:80
-#: templates/js/translated/barcode.js:331
-#: templates/js/translated/barcode.js:336
+#: stock/templates/stock/item_base.html:35
+#: templates/js/translated/barcode.js:330
+#: templates/js/translated/barcode.js:335
msgid "Unlink Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/item_base.html:37
msgid "Link Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31
+#: stock/templates/stock/item_base.html:39 templates/stock_table.html:24
msgid "Scan to Location"
msgstr ""
-#: stock/templates/stock/item_base.html:91
+#: stock/templates/stock/item_base.html:46
msgid "Printing actions"
msgstr ""
-#: stock/templates/stock/item_base.html:104
+#: stock/templates/stock/item_base.html:65
msgid "Stock adjustment actions"
msgstr ""
-#: stock/templates/stock/item_base.html:108
-#: stock/templates/stock/location.html:69 templates/stock_table.html:57
+#: stock/templates/stock/item_base.html:69
+#: stock/templates/stock/location.html:47 templates/stock_table.html:50
msgid "Count stock"
msgstr ""
-#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55
+#: stock/templates/stock/item_base.html:72 templates/stock_table.html:48
msgid "Add stock"
msgstr ""
-#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56
+#: stock/templates/stock/item_base.html:75 templates/stock_table.html:49
msgid "Remove stock"
msgstr ""
-#: stock/templates/stock/item_base.html:117
+#: stock/templates/stock/item_base.html:78
msgid "Serialize stock"
msgstr ""
-#: stock/templates/stock/item_base.html:121
-#: stock/templates/stock/location.html:75
+#: stock/templates/stock/item_base.html:82
+#: stock/templates/stock/location.html:53
msgid "Transfer stock"
msgstr ""
-#: stock/templates/stock/item_base.html:124
+#: stock/templates/stock/item_base.html:85
msgid "Assign to customer"
msgstr ""
-#: stock/templates/stock/item_base.html:127
+#: stock/templates/stock/item_base.html:88
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:130
+#: stock/templates/stock/item_base.html:91
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/item_base.html:94
msgid "Install"
msgstr ""
-#: stock/templates/stock/item_base.html:145
+#: stock/templates/stock/item_base.html:106
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:109
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:150
+#: stock/templates/stock/item_base.html:111
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:153
+#: stock/templates/stock/item_base.html:114
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:173
+#: stock/templates/stock/item_base.html:136
+#: stock/templates/stock/item_base.html:386
+#: templates/js/translated/table_filters.js:241
+msgid "Expired"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/table_filters.js:247
+msgid "Stale"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:161
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:180
+#: stock/templates/stock/item_base.html:168
msgid "This stock item is in production and cannot be edited."
msgstr "此库存项目正在生产中,无法编辑。"
-#: stock/templates/stock/item_base.html:181
+#: stock/templates/stock/item_base.html:169
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:194
+#: stock/templates/stock/item_base.html:182
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:202
+#: stock/templates/stock/item_base.html:190
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:210
+#: stock/templates/stock/item_base.html:198
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:216
+#: stock/templates/stock/item_base.html:204
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:220
+#: stock/templates/stock/item_base.html:208
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:224
+#: stock/templates/stock/item_base.html:212
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:232
-msgid "Stock Item Details"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:254
+#: stock/templates/stock/item_base.html:241
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:260
+#: stock/templates/stock/item_base.html:247
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:303
-#: templates/js/translated/build.js:658
+#: stock/templates/stock/item_base.html:290
+#: templates/js/translated/build.js:1035
msgid "No location set"
msgstr "未设置仓储地点"
-#: stock/templates/stock/item_base.html:310
+#: stock/templates/stock/item_base.html:297
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:352
+#: stock/templates/stock/item_base.html:339
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:370
+#: stock/templates/stock/item_base.html:357
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:399
+#: stock/templates/stock/item_base.html:386
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:401
+#: stock/templates/stock/item_base.html:388
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:408
-#: templates/js/translated/stock.js:959
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1259
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:413
+#: stock/templates/stock/item_base.html:400
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:417
+#: stock/templates/stock/item_base.html:404
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:428
+#: stock/templates/stock/item_base.html:415
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:516
-msgid "Save"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:528
+#: stock/templates/stock/item_base.html:504
msgid "Edit Stock Status"
msgstr ""
@@ -5857,106 +5835,70 @@ msgstr ""
msgid "Select quantity to serialize, and unique serial numbers."
msgstr ""
-#: stock/templates/stock/location.html:20
-msgid "You are not in the list of owners of this location. This stock location cannot be edited."
-msgstr "您不在此仓储地的所有者列表中,无法编辑此仓储地。"
-
-#: stock/templates/stock/location.html:37
-msgid "All stock items"
-msgstr ""
-
-#: stock/templates/stock/location.html:42
-msgid "Create new stock location"
-msgstr "新建仓储地点"
-
-#: stock/templates/stock/location.html:55
+#: stock/templates/stock/location.html:33
msgid "Check-in Items"
msgstr ""
-#: stock/templates/stock/location.html:83
+#: stock/templates/stock/location.html:61
msgid "Location actions"
msgstr "仓储地操作"
-#: stock/templates/stock/location.html:85
+#: stock/templates/stock/location.html:63
msgid "Edit location"
msgstr "编辑仓储地"
-#: stock/templates/stock/location.html:87
+#: stock/templates/stock/location.html:65
msgid "Delete location"
msgstr "删除仓储地"
-#: stock/templates/stock/location.html:99
-msgid "Location Details"
-msgstr "仓储地详细信息"
+#: stock/templates/stock/location.html:75
+msgid "Create new stock location"
+msgstr "新建仓储地点"
-#: stock/templates/stock/location.html:104
-msgid "Location Path"
-msgstr "仓储地路径"
+#: stock/templates/stock/location.html:76
+msgid "New Location"
+msgstr "新建仓储地点"
-#: stock/templates/stock/location.html:109
-msgid "Location Description"
-msgstr "仓储地描述信息"
+#: stock/templates/stock/location.html:86
+#, fuzzy
+#| msgid "No stock location set"
+msgid "Top level stock location"
+msgstr "未设置仓储地点"
-#: stock/templates/stock/location.html:114
-#: stock/templates/stock/location.html:155
-#: stock/templates/stock/location_navbar.html:11
-#: stock/templates/stock/location_navbar.html:14
+#: stock/templates/stock/location.html:95
+msgid "You are not in the list of owners of this location. This stock location cannot be edited."
+msgstr "您不在此仓储地的所有者列表中,无法编辑此仓储地。"
+
+#: stock/templates/stock/location.html:113
+#: stock/templates/stock/location.html:160
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:124
-msgid "Stock Details"
-msgstr ""
+#: stock/templates/stock/location.html:118
+#: stock/templates/stock/location.html:132
+#: stock/templates/stock/location.html:144 templates/InvenTree/search.html:158
+#: templates/js/translated/stock.js:1871 templates/stats.html:93
+#: templates/stats.html:102 users/models.py:43
+msgid "Stock Items"
+msgstr "库存项"
-#: stock/templates/stock/location.html:129 templates/InvenTree/search.html:196
+#: stock/templates/stock/location.html:127 templates/InvenTree/search.html:170
#: templates/stats.html:97 users/models.py:42
msgid "Stock Locations"
msgstr "仓储地点"
-#: stock/templates/stock/location.html:162 templates/stock_table.html:37
+#: stock/templates/stock/location.html:167 templates/stock_table.html:30
msgid "Printing Actions"
msgstr "打印操作"
-#: stock/templates/stock/location.html:166 templates/stock_table.html:41
+#: stock/templates/stock/location.html:171 templates/stock_table.html:34
msgid "Print labels"
msgstr "打印标签"
-#: stock/templates/stock/location.html:250
-msgid "New Location"
-msgstr "新建仓储地点"
-
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
-msgstr "新建仓储地点"
-
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr "确实要删除此仓储地点吗?"
-#: stock/templates/stock/navbar.html:11
-msgid "Stock Item Tracking"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:14
-msgid "History"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:30
-msgid "Installed Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:38
-msgid "Child Items"
-msgstr ""
-
-#: stock/templates/stock/navbar.html:41
-msgid "Children"
-msgstr ""
-
-#: stock/templates/stock/stock_adjust.html:43
-msgid "Remove item"
-msgstr ""
-
#: stock/templates/stock/stock_app_base.html:16
msgid "Loading..."
msgstr ""
@@ -5965,7 +5907,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:909
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:912
msgid "Convert Stock Item"
msgstr ""
@@ -5986,104 +5928,100 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:158
+#: stock/views.py:162
msgid "Edit Stock Location"
msgstr "编辑仓储地点"
-#: stock/views.py:265 stock/views.py:888 stock/views.py:1010
-#: stock/views.py:1375
+#: stock/views.py:269 stock/views.py:891 stock/views.py:1017
+#: stock/views.py:1299
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:280
+#: stock/views.py:284
msgid "Stock Location QR code"
msgstr "仓储地点二维码"
-#: stock/views.py:299
+#: stock/views.py:303
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:308
+#: stock/views.py:312
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:332
+#: stock/views.py:336
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:345
msgid "Specify a valid location"
msgstr "指定一个有效仓储地点"
-#: stock/views.py:352
+#: stock/views.py:356
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:363
+#: stock/views.py:367
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:380
+#: stock/views.py:384
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:485
+#: stock/views.py:489
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:660
+#: stock/views.py:663
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:757 templates/js/translated/stock.js:321
+#: stock/views.py:760 templates/js/translated/stock.js:618
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:768
+#: stock/views.py:771
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:790
+#: stock/views.py:793 templates/js/translated/stock.js:288
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:936
+#: stock/views.py:943
msgid "Create new Stock Location"
msgstr "新建仓储地点"
-#: stock/views.py:1027
-msgid "Serialize Stock"
-msgstr ""
-
-#: stock/views.py:1120
+#: stock/views.py:1044
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1262
+#: stock/views.py:1186 templates/js/translated/stock.js:268
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1344
+#: stock/views.py:1268
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1444
+#: stock/views.py:1368
msgid "Delete Stock Location"
msgstr "删除仓储地点"
-#: stock/views.py:1457
+#: stock/views.py:1381
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1468
+#: stock/views.py:1392
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1475
+#: stock/views.py:1399
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1484
+#: stock/views.py:1408
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6107,63 +6045,71 @@ msgstr ""
msgid "Index"
msgstr ""
-#: templates/InvenTree/index.html:105
-msgid "Starred Parts"
-msgstr "已加星标商品"
+#: templates/InvenTree/index.html:88
+#, fuzzy
+#| msgid "Supplied Parts"
+msgid "Subscribed Parts"
+msgstr "供应商商品"
-#: templates/InvenTree/index.html:115
+#: templates/InvenTree/index.html:98
+#, fuzzy
+#| msgid "Subcategories"
+msgid "Subscribed Categories"
+msgstr "子类别"
+
+#: templates/InvenTree/index.html:108
msgid "Latest Parts"
msgstr "最近商品"
-#: templates/InvenTree/index.html:126
+#: templates/InvenTree/index.html:119
msgid "BOM Waiting Validation"
msgstr ""
-#: templates/InvenTree/index.html:153
+#: templates/InvenTree/index.html:145
msgid "Recently Updated"
msgstr ""
-#: templates/InvenTree/index.html:176
+#: templates/InvenTree/index.html:168
msgid "Depleted Stock"
msgstr ""
-#: templates/InvenTree/index.html:199
+#: templates/InvenTree/index.html:191
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:202
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:232
+#: templates/InvenTree/index.html:224
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:243
+#: templates/InvenTree/index.html:235
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:263
+#: templates/InvenTree/index.html:255
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:274
+#: templates/InvenTree/index.html:266
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:294
+#: templates/InvenTree/index.html:286
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:305
+#: templates/InvenTree/index.html:297
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14
+#: templates/InvenTree/search.html:8
msgid "Search Results"
msgstr ""
-#: templates/InvenTree/search.html:24
+#: templates/InvenTree/search.html:22
msgid "Enter a search query"
msgstr ""
@@ -6183,23 +6129,23 @@ msgstr "类别设置"
msgid "Currency Settings"
msgstr "货币设置"
-#: templates/InvenTree/settings/currencies.html:23
+#: templates/InvenTree/settings/currencies.html:19
msgid "Base Currency"
msgstr "基础货币"
-#: templates/InvenTree/settings/currencies.html:27
+#: templates/InvenTree/settings/currencies.html:24
msgid "Exchange Rates"
msgstr "汇率"
-#: templates/InvenTree/settings/currencies.html:37
+#: templates/InvenTree/settings/currencies.html:38
msgid "Last Update"
msgstr "上次更新"
-#: templates/InvenTree/settings/currencies.html:43
+#: templates/InvenTree/settings/currencies.html:44
msgid "Never"
msgstr "从不"
-#: templates/InvenTree/settings/currencies.html:48
+#: templates/InvenTree/settings/currencies.html:49
msgid "Update Now"
msgstr "立即更新"
@@ -6207,147 +6153,78 @@ msgstr "立即更新"
msgid "Server Settings"
msgstr ""
-#: templates/InvenTree/settings/header.html:7
-msgid "Setting"
-msgstr "设置"
-
#: templates/InvenTree/settings/login.html:9
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:22 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:20 templates/account/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:12
-#: templates/InvenTree/settings/user_settings.html:9
-msgid "User Settings"
-msgstr "用户设置"
-
-#: templates/InvenTree/settings/navbar.html:15
-#: templates/InvenTree/settings/navbar.html:17
-msgid "Account"
-msgstr "帐户"
-
-#: templates/InvenTree/settings/navbar.html:21
-#: templates/InvenTree/settings/navbar.html:23
-msgid "Home Page"
-msgstr "主页"
-
-#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29
-#: templates/js/translated/tables.js:375 templates/search_form.html:6
-#: templates/search_form.html:8
-msgid "Search"
-msgstr "搜索"
-
-#: templates/InvenTree/settings/navbar.html:33
-#: templates/InvenTree/settings/navbar.html:35
-msgid "Labels"
-msgstr "标签"
-
-#: templates/InvenTree/settings/navbar.html:39
-#: templates/InvenTree/settings/navbar.html:41
-msgid "Reports"
-msgstr "报表"
-
-#: templates/InvenTree/settings/navbar.html:45
-#: templates/InvenTree/settings/navbar.html:47
-msgid "Forms"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:52
-#: templates/InvenTree/settings/navbar.html:54
-#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:90
-msgid "Settings"
-msgstr "设置"
-
-#: templates/InvenTree/settings/navbar.html:62
-msgid "InvenTree Settings"
-msgstr "InventTree 设置"
-
-#: templates/InvenTree/settings/navbar.html:65
-#: templates/InvenTree/settings/navbar.html:67 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/navbar.html:87
-msgid "Login"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:77
-#: templates/InvenTree/settings/navbar.html:79
-msgid "Barcodes"
-msgstr "条形码"
-
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85
-msgid "Currencies"
-msgstr "币种"
-
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91
-msgid "Reporting"
-msgstr "报表"
-
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103
-msgid "Categories"
-msgstr "类别管理"
-
#: templates/InvenTree/settings/part.html:7
msgid "Part Settings"
msgstr "商品设置"
-#: templates/InvenTree/settings/part.html:12
-msgid "Part Options"
-msgstr "商品选项"
-
#: templates/InvenTree/settings/part.html:43
msgid "Part Import"
msgstr "商品导入"
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:47
msgid "Import Part"
msgstr "导入商品"
-#: templates/InvenTree/settings/part.html:59
+#: templates/InvenTree/settings/part.html:61
msgid "Part Parameter Templates"
msgstr "商品参数模板"
-#: templates/InvenTree/settings/po.html:9
+#: templates/InvenTree/settings/po.html:7
msgid "Purchase Order Settings"
msgstr "采购订单设置"
-#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr "报表设置"
-#: templates/InvenTree/settings/setting.html:29
+#: templates/InvenTree/settings/setting.html:28
msgid "No value set"
msgstr "未设置值"
-#: templates/InvenTree/settings/setting.html:41
+#: templates/InvenTree/settings/setting.html:39
msgid "Edit setting"
msgstr "编辑设置"
-#: templates/InvenTree/settings/settings.html:154
+#: templates/InvenTree/settings/settings.html:11 templates/navbar.html:93
+msgid "Settings"
+msgstr "设置"
+
+#: templates/InvenTree/settings/settings.html:65
+#, fuzzy
+#| msgid "Edit setting"
+msgid "Edit Global Setting"
+msgstr "编辑设置"
+
+#: templates/InvenTree/settings/settings.html:65
+#, fuzzy
+#| msgid "Edit setting"
+msgid "Edit User Setting"
+msgstr "编辑设置"
+
+#: templates/InvenTree/settings/settings.html:148
msgid "No category parameter templates found"
msgstr "未找到类别参数模板"
-#: templates/InvenTree/settings/settings.html:176
-#: templates/InvenTree/settings/settings.html:275
+#: templates/InvenTree/settings/settings.html:170
+#: templates/InvenTree/settings/settings.html:269
msgid "Edit Template"
msgstr "编辑模板"
-#: templates/InvenTree/settings/settings.html:177
-#: templates/InvenTree/settings/settings.html:276
+#: templates/InvenTree/settings/settings.html:171
+#: templates/InvenTree/settings/settings.html:270
msgid "Delete Template"
msgstr "删除模板"
-#: templates/InvenTree/settings/settings.html:255
+#: templates/InvenTree/settings/settings.html:249
msgid "No part parameter templates found"
msgstr "未找到商品参数模板"
@@ -6363,135 +6240,169 @@ msgstr "库存设置"
msgid "Account Settings"
msgstr "帐户设置"
-#: templates/InvenTree/settings/user.html:19
+#: templates/InvenTree/settings/user.html:18
#: templates/js/translated/helpers.js:26
msgid "Edit"
msgstr "编辑"
-#: templates/InvenTree/settings/user.html:21
+#: templates/InvenTree/settings/user.html:20
#: templates/account/password_reset_from_key.html:4
#: templates/account/password_reset_from_key.html:7
msgid "Change Password"
msgstr "更改密码"
-#: templates/InvenTree/settings/user.html:28
+#: templates/InvenTree/settings/user.html:31
msgid "Username"
msgstr "用户名"
-#: templates/InvenTree/settings/user.html:32
+#: templates/InvenTree/settings/user.html:35
msgid "First Name"
msgstr "名字"
-#: templates/InvenTree/settings/user.html:36
+#: templates/InvenTree/settings/user.html:39
msgid "Last Name"
msgstr "姓氏"
-#: templates/InvenTree/settings/user.html:42
-msgid "E-Mail"
+#: templates/InvenTree/settings/user.html:54
+msgid "The following email addresses are associated with your account:"
msgstr ""
-#: templates/InvenTree/settings/user.html:47
-msgid "The following e-mail addresses are associated with your account:"
-msgstr ""
-
-#: templates/InvenTree/settings/user.html:61
+#: templates/InvenTree/settings/user.html:74
msgid "Verified"
msgstr ""
-#: templates/InvenTree/settings/user.html:63
+#: templates/InvenTree/settings/user.html:76
msgid "Unverified"
msgstr ""
-#: templates/InvenTree/settings/user.html:65
+#: templates/InvenTree/settings/user.html:78
msgid "Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:71
+#: templates/InvenTree/settings/user.html:84
msgid "Make Primary"
msgstr ""
-#: templates/InvenTree/settings/user.html:72
+#: templates/InvenTree/settings/user.html:85
msgid "Re-send Verification"
msgstr ""
-#: templates/InvenTree/settings/user.html:73
-#: templates/InvenTree/settings/user.html:130
+#: templates/InvenTree/settings/user.html:86
+#: templates/InvenTree/settings/user.html:153
msgid "Remove"
msgstr ""
-#: templates/InvenTree/settings/user.html:80
+#: templates/InvenTree/settings/user.html:93
msgid "Warning:"
msgstr ""
-#: templates/InvenTree/settings/user.html:81
-msgid "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc."
+#: templates/InvenTree/settings/user.html:94
+msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc."
msgstr ""
-#: templates/InvenTree/settings/user.html:88
-msgid "Add E-mail Address"
-msgstr ""
+#: templates/InvenTree/settings/user.html:101
+#, fuzzy
+#| msgid "Contact email address"
+msgid "Add Email Address"
+msgstr "联系人电子邮件"
-#: templates/InvenTree/settings/user.html:93
-msgid "Add E-mail"
-msgstr ""
+#: templates/InvenTree/settings/user.html:111
+#, fuzzy
+#| msgid "Contact email address"
+msgid "Enter e-mail address"
+msgstr "联系人电子邮件"
-#: templates/InvenTree/settings/user.html:100
+#: templates/InvenTree/settings/user.html:113
+#, fuzzy
+#| msgid "Email"
+msgid "Add Email"
+msgstr "电子邮件"
+
+#: templates/InvenTree/settings/user.html:123
msgid "Social Accounts"
msgstr ""
-#: templates/InvenTree/settings/user.html:105
+#: templates/InvenTree/settings/user.html:128
msgid "You can sign in to your account using any of the following third party accounts:"
msgstr ""
-#: templates/InvenTree/settings/user.html:138
-msgid "You currently have no social network accounts connected to this account."
+#: templates/InvenTree/settings/user.html:162
+msgid "There are no social network accounts connected to your InvenTree account"
msgstr ""
-#: templates/InvenTree/settings/user.html:142
+#: templates/InvenTree/settings/user.html:167
msgid "Add a 3rd Party Account"
msgstr ""
-#: templates/InvenTree/settings/user.html:153
-msgid "Theme Settings"
-msgstr "主题设置"
-
-#: templates/InvenTree/settings/user.html:174
-msgid "Set Theme"
-msgstr "设置主题"
-
-#: templates/InvenTree/settings/user.html:181
+#: templates/InvenTree/settings/user.html:177
msgid "Language Settings"
msgstr "语言设置"
-#: templates/InvenTree/settings/user.html:200
+#: templates/InvenTree/settings/user.html:186
+#, fuzzy
+#| msgid "Set Language"
+msgid "Select language"
+msgstr "设置语言"
+
+#: templates/InvenTree/settings/user.html:202
#, python-format
msgid "%(lang_translated)s%% translated"
msgstr "%(lang_translated)s%% 已翻译"
-#: templates/InvenTree/settings/user.html:202
+#: templates/InvenTree/settings/user.html:204
msgid "No translations available"
msgstr "无可用翻译"
-#: templates/InvenTree/settings/user.html:209
+#: templates/InvenTree/settings/user.html:211
msgid "Set Language"
msgstr "设置语言"
-#: templates/InvenTree/settings/user.html:214
+#: templates/InvenTree/settings/user.html:213
+msgid "Some languages are not complete"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:215
+msgid "Show only sufficent"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:217
+#, fuzzy
+#| msgid "Show latest parts"
+msgid "Show them too"
+msgstr "显示最近商品"
+
+#: templates/InvenTree/settings/user.html:224
msgid "Help the translation efforts!"
msgstr "帮助翻译工作!"
-#: templates/InvenTree/settings/user.html:215
+#: templates/InvenTree/settings/user.html:225
#, python-format
msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
msgstr "InventTree web 应用程序的本地语言翻译是 社区通过crowdin贡献。欢迎并鼓励提交信息。"
-#: templates/InvenTree/settings/user.html:223
-msgid "Do you really want to remove the selected e-mail address?"
+#: templates/InvenTree/settings/user.html:233
+msgid "Do you really want to remove the selected email address?"
msgstr ""
-#: templates/InvenTree/settings/user_forms.html:9
-msgid "Form Settings"
-msgstr ""
+#: templates/InvenTree/settings/user_display.html:9
+#, fuzzy
+#| msgid "Email Settings"
+msgid "Display Settings"
+msgstr "电子邮件设置"
+
+#: templates/InvenTree/settings/user_display.html:25
+msgid "Theme Settings"
+msgstr "主题设置"
+
+#: templates/InvenTree/settings/user_display.html:35
+#, fuzzy
+#| msgid "Set Theme"
+msgid "Select theme"
+msgstr "设置主题"
+
+#: templates/InvenTree/settings/user_display.html:46
+msgid "Set Theme"
+msgstr "设置主题"
#: templates/InvenTree/settings/user_homepage.html:9
msgid "Home Page Settings"
@@ -6505,124 +6416,143 @@ msgstr "标签设置"
msgid "Search Settings"
msgstr "搜索设置"
-#: templates/about.html:13
+#: templates/InvenTree/settings/user_settings.html:9
+msgid "User Settings"
+msgstr "用户设置"
+
+#: templates/about.html:10
msgid "InvenTree Version Information"
msgstr ""
-#: templates/about.html:22
+#: templates/about.html:11 templates/about.html:105
+#: templates/js/translated/bom.js:281 templates/js/translated/modals.js:53
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:964 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
+msgid "Close"
+msgstr ""
+
+#: templates/about.html:20
msgid "InvenTree Version"
msgstr ""
-#: templates/about.html:27
+#: templates/about.html:25
msgid "Development Version"
msgstr ""
-#: templates/about.html:30
+#: templates/about.html:28
msgid "Up to Date"
msgstr ""
-#: templates/about.html:32
+#: templates/about.html:30
msgid "Update Available"
msgstr ""
-#: templates/about.html:42
+#: templates/about.html:40
msgid "Commit Hash"
msgstr ""
-#: templates/about.html:49
+#: templates/about.html:47
msgid "Commit Date"
msgstr ""
-#: templates/about.html:55
+#: templates/about.html:53
msgid "InvenTree Documentation"
msgstr ""
-#: templates/about.html:60
+#: templates/about.html:58
msgid "API Version"
msgstr ""
-#: templates/about.html:65
+#: templates/about.html:63
msgid "Python Version"
msgstr ""
-#: templates/about.html:70
+#: templates/about.html:68
msgid "Django Version"
msgstr ""
-#: templates/about.html:75
+#: templates/about.html:73
msgid "View Code on GitHub"
msgstr ""
-#: templates/about.html:80
+#: templates/about.html:78
msgid "Credits"
msgstr ""
-#: templates/about.html:85
+#: templates/about.html:83
msgid "Mobile App"
msgstr ""
-#: templates/about.html:90
+#: templates/about.html:88
msgid "Submit Bug Report"
msgstr ""
-#: templates/about.html:97 templates/clip.html:4
+#: templates/about.html:95 templates/clip.html:4
msgid "copy to clipboard"
msgstr ""
-#: templates/about.html:97
+#: templates/about.html:95
msgid "copy version information"
msgstr ""
-#: templates/about.html:107 templates/js/translated/modals.js:50
-#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678
-#: templates/js/translated/modals.js:982 templates/modals.html:29
-#: templates/modals.html:54
-msgid "Close"
-msgstr ""
-
#: templates/account/email_confirm.html:6
#: templates/account/email_confirm.html:10
-msgid "Confirm E-mail Address"
-msgstr ""
+#, fuzzy
+#| msgid "Contact email address"
+msgid "Confirm Email Address"
+msgstr "联系人电子邮件"
#: templates/account/email_confirm.html:16
#, python-format
-msgid "Please confirm that %(email)s is an e-mail address for user %(user_display)s."
+msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
#: templates/account/email_confirm.html:27
#, python-format
-msgid "This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request."
+msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:5 templates/account/login.html:14
-#: templates/account/login.html:36
+#: templates/account/login.html:6 templates/account/login.html:16
+#: templates/account/login.html:39
msgid "Sign In"
msgstr ""
-#: templates/account/login.html:19
+#: templates/account/login.html:21
#, python-format
-msgid "Please sign in with one\n"
+msgid ""
+"Please sign in with one\n"
"of your existing third party accounts or sign up\n"
"for a account and sign in below:"
msgstr ""
-#: templates/account/login.html:23
+#: templates/account/login.html:25
#, python-format
-msgid "If you have not created an account yet, then please\n"
+msgid ""
+"If you have not created an account yet, then please\n"
"sign up first."
msgstr ""
-#: templates/account/login.html:38
+#: templates/account/login.html:42
msgid "Forgot Password?"
msgstr ""
-#: templates/account/login.html:45
+#: templates/account/login.html:47
+#, fuzzy
+#| msgid "InvenTree Settings"
+msgid "InvenTree demo instance"
+msgstr "InventTree 设置"
+
+#: templates/account/login.html:47
+msgid "Click here for login details"
+msgstr ""
+
+#: templates/account/login.html:55
msgid "or use SSO"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
-#: templates/account/logout.html:17
+#: templates/account/logout.html:20
msgid "Sign Out"
msgstr ""
@@ -6630,13 +6560,17 @@ msgstr ""
msgid "Are you sure you want to sign out?"
msgstr ""
+#: templates/account/logout.html:19
+msgid "Back to Site"
+msgstr ""
+
#: templates/account/password_reset.html:5
#: templates/account/password_reset.html:12
msgid "Password Reset"
msgstr ""
#: templates/account/password_reset.html:18
-msgid "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it."
+msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it."
msgstr ""
#: templates/account/password_reset.html:23
@@ -6656,11 +6590,13 @@ msgstr ""
msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset."
msgstr ""
-#: templates/account/password_reset_from_key.html:17
-msgid "change password"
-msgstr ""
+#: templates/account/password_reset_from_key.html:18
+#, fuzzy
+#| msgid "Change Password"
+msgid "Change password"
+msgstr "更改密码"
-#: templates/account/password_reset_from_key.html:20
+#: templates/account/password_reset_from_key.html:22
msgid "Your password is now changed."
msgstr ""
@@ -6677,6 +6613,89 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/admin_button.html:2
+msgid "View in administration panel"
+msgstr ""
+
+#: templates/base.html:96
+msgid "Server Restart Required"
+msgstr ""
+
+#: templates/base.html:99
+msgid "A configuration option has been changed which requires a server restart"
+msgstr ""
+
+#: templates/base.html:99
+msgid "Contact your system administrator for further information"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:7
+#, fuzzy
+#| msgid "User responsible for this build order"
+msgid "Stock is required for the following build order"
+msgstr "负责此生产订单的用户"
+
+#: templates/email/build_order_required_stock.html:8
+#, python-format
+msgid "Build order %(build)s - building %(quantity)s x %(part)s"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:10
+msgid "Click on the following link to view this build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:14
+#, fuzzy
+#| msgid "Allow sale of expired stock"
+msgid "The following parts are low on required stock"
+msgstr "允许销售过期库存"
+
+#: templates/email/build_order_required_stock.html:18
+#: templates/js/translated/bom.js:989
+#, fuzzy
+#| msgid "Build Quantity"
+msgid "Required Quantity"
+msgstr "生产数量"
+
+#: templates/email/build_order_required_stock.html:19
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/bom.js:465 templates/js/translated/build.js:1129
+#: templates/js/translated/build.js:1749
+msgid "Available"
+msgstr "空闲"
+
+#: templates/email/build_order_required_stock.html:38
+#: templates/email/low_stock_notification.html:31
+msgid "You are receiving this email because you are subscribed to notifications for this part "
+msgstr ""
+
+#: templates/email/email.html:35
+#, fuzzy
+#| msgid "InvenTree Settings"
+msgid "InvenTree version"
+msgstr "InventTree 设置"
+
+#: templates/email/low_stock_notification.html:7
+#, python-format
+msgid " The available stock for %(part)s has fallen below the configured minimum level"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:9
+msgid "Click on the following link to view this part"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:17
+#, fuzzy
+#| msgid "Part Stock"
+msgid "Total Stock"
+msgstr "商品库存"
+
+#: templates/email/low_stock_notification.html:19
+#, fuzzy
+#| msgid "Build Quantity"
+msgid "Minimum Quantity"
+msgstr "生产数量"
+
#: templates/image_download.html:8
msgid "Specify URL for downloading image"
msgstr ""
@@ -6693,138 +6712,59 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/report.js:47 templates/js/translated/report.js:67
-msgid "items selected"
-msgstr ""
-
-#: templates/js/report.js:55 templates/js/translated/report.js:75
-msgid "Select Report Template"
-msgstr ""
-
-#: templates/js/report.js:70 templates/js/translated/report.js:90
-msgid "Select Test Report Template"
-msgstr ""
-
-#: templates/js/report.js:98 templates/js/translated/label.js:29
-#: templates/js/translated/report.js:118 templates/js/translated/stock.js:297
-msgid "Select Stock Items"
-msgstr "选择库存项"
-
-#: templates/js/report.js:99 templates/js/translated/report.js:119
-msgid "Stock item(s) must be selected before printing reports"
-msgstr "在打印报表之前必须选择库存项目"
-
-#: templates/js/report.js:116 templates/js/report.js:169
-#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331 templates/js/translated/report.js:136
-#: templates/js/translated/report.js:189 templates/js/translated/report.js:243
-#: templates/js/translated/report.js:297 templates/js/translated/report.js:351
-msgid "No Reports Found"
-msgstr "没有找到报表"
-
-#: templates/js/report.js:117 templates/js/translated/report.js:137
-msgid "No report templates found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/report.js:152 templates/js/translated/report.js:172
-msgid "Select Builds"
-msgstr ""
-
-#: templates/js/report.js:153 templates/js/translated/report.js:173
-msgid "Build(s) must be selected before printing reports"
-msgstr "打印报表前必须选择Build(s)"
-
-#: templates/js/report.js:170 templates/js/translated/report.js:190
-msgid "No report templates found which match selected build(s)"
-msgstr ""
-
-#: templates/js/report.js:205 templates/js/translated/build.js:948
-#: templates/js/translated/label.js:134 templates/js/translated/report.js:225
-msgid "Select Parts"
-msgstr "选择商品"
-
-#: templates/js/report.js:206 templates/js/translated/report.js:226
-msgid "Part(s) must be selected before printing reports"
-msgstr "打印报表前必须选择商品"
-
-#: templates/js/report.js:224 templates/js/translated/report.js:244
-msgid "No report templates found which match selected part(s)"
-msgstr ""
-
-#: templates/js/report.js:259 templates/js/translated/report.js:279
-msgid "Select Purchase Orders"
-msgstr ""
-
-#: templates/js/report.js:260 templates/js/translated/report.js:280
-msgid "Purchase Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/report.js:278 templates/js/report.js:332
-#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
-msgid "No report templates found which match selected orders"
-msgstr ""
-
-#: templates/js/report.js:313 templates/js/translated/report.js:333
-msgid "Select Sales Orders"
-msgstr ""
-
-#: templates/js/report.js:314 templates/js/translated/report.js:334
-msgid "Sales Order(s) must be selected before printing report"
-msgstr ""
-
-#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1052
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1034
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1053
+#: templates/js/translated/api.js:185 templates/js/translated/modals.js:1035
msgid "No response from the InvenTree server"
msgstr ""
-#: templates/js/translated/api.js:181
+#: templates/js/translated/api.js:191
msgid "Error 400: Bad request"
msgstr ""
-#: templates/js/translated/api.js:182
+#: templates/js/translated/api.js:192
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1062
+#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1044
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1063
+#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1045
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1049
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1068
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1050
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:206 templates/js/translated/modals.js:1054
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1073
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1055
msgid "The requested resource could not be located on the server"
msgstr ""
-#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:211 templates/js/translated/modals.js:1059
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1078
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1060
msgid "Connection timeout while requesting data from server"
msgstr ""
-#: templates/js/translated/api.js:205
+#: templates/js/translated/api.js:215
msgid "Unhandled Error Code"
msgstr ""
-#: templates/js/translated/api.js:206
+#: templates/js/translated/api.js:216
msgid "Error code"
msgstr ""
@@ -6832,292 +6772,399 @@ msgstr ""
msgid "No attachments found"
msgstr ""
-#: templates/js/translated/attachment.js:91
+#: templates/js/translated/attachment.js:95
msgid "Upload Date"
msgstr ""
-#: templates/js/translated/attachment.js:104
+#: templates/js/translated/attachment.js:108
msgid "Edit attachment"
msgstr ""
-#: templates/js/translated/attachment.js:111
+#: templates/js/translated/attachment.js:115
msgid "Delete attachment"
msgstr ""
-#: templates/js/translated/barcode.js:30
+#: templates/js/translated/barcode.js:29
msgid "Scan barcode data here using wedge scanner"
msgstr ""
-#: templates/js/translated/barcode.js:32
+#: templates/js/translated/barcode.js:31
msgid "Enter barcode data"
msgstr "输入条形码数据"
-#: templates/js/translated/barcode.js:36
+#: templates/js/translated/barcode.js:35
msgid "Barcode"
msgstr "条形码"
-#: templates/js/translated/barcode.js:54
+#: templates/js/translated/barcode.js:53
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:55
+#: templates/js/translated/barcode.js:54
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:93
+#: templates/js/translated/barcode.js:92
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:114
+#: templates/js/translated/barcode.js:113
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:141
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/barcode.js:140
+#: templates/js/translated/modals.js:1024
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:234
+#: templates/js/translated/barcode.js:233
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:281 templates/navbar.html:65
+#: templates/js/translated/barcode.js:280 templates/navbar.html:69
msgid "Scan Barcode"
msgstr "扫描条形码"
-#: templates/js/translated/barcode.js:292
+#: templates/js/translated/barcode.js:291
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:310
+#: templates/js/translated/barcode.js:309
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:333
+#: templates/js/translated/barcode.js:332
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:339
+#: templates/js/translated/barcode.js:338
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:273
+#: templates/js/translated/barcode.js:397 templates/js/translated/stock.js:570
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:440
+#: templates/js/translated/barcode.js:439
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:444
-#: templates/js/translated/barcode.js:571
+#: templates/js/translated/barcode.js:443
+#: templates/js/translated/barcode.js:573
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:486
-#: templates/js/translated/barcode.js:610
+#: templates/js/translated/barcode.js:485
+#: templates/js/translated/barcode.js:612
msgid "Error transferring stock"
msgstr ""
-#: templates/js/translated/barcode.js:505
+#: templates/js/translated/barcode.js:507
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:509
+#: templates/js/translated/barcode.js:511
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:516
+#: templates/js/translated/barcode.js:518
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:523
+#: templates/js/translated/barcode.js:525
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:566
+#: templates/js/translated/barcode.js:568
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:629
+#: templates/js/translated/barcode.js:633
msgid "Barcode does not match a valid location"
msgstr ""
-#: templates/js/translated/bom.js:234 templates/js/translated/build.js:1495
+#: templates/js/translated/bom.js:184
+#, fuzzy
+#| msgid "Remove part"
+msgid "Remove substitute part"
+msgstr "移除商品"
+
+#: templates/js/translated/bom.js:226
+msgid "Select and add a new variant item using the input below"
+msgstr ""
+
+#: templates/js/translated/bom.js:237
+#, fuzzy
+#| msgid "Are you sure you wish to cancel this build?"
+msgid "Are you sure you wish to remove this substitute part link?"
+msgstr "是否确定取消生产?"
+
+#: templates/js/translated/bom.js:243
+#, fuzzy
+#| msgid "Remove part"
+msgid "Remove Substitute Part"
+msgstr "移除商品"
+
+#: templates/js/translated/bom.js:282
+#, fuzzy
+#| msgid "Add Supplier"
+msgid "Add Substitute"
+msgstr "添加供应商"
+
+#: templates/js/translated/bom.js:283
+msgid "Edit BOM Item Substitutes"
+msgstr ""
+
+#: templates/js/translated/bom.js:402
+#, fuzzy
+#| msgid "Available"
+msgid "Substitutes Available"
+msgstr "空闲"
+
+#: templates/js/translated/bom.js:406 templates/js/translated/build.js:1111
+msgid "Variant stock allowed"
+msgstr ""
+
+#: templates/js/translated/bom.js:411
msgid "Open subassembly"
msgstr ""
-#: templates/js/translated/bom.js:288 templates/js/translated/build.js:744
-#: templates/js/translated/build.js:1345 templates/js/translated/build.js:1522
-msgid "Available"
-msgstr "空闲"
+#: templates/js/translated/bom.js:483
+msgid "Substitutes"
+msgstr ""
-#: templates/js/translated/bom.js:307
+#: templates/js/translated/bom.js:498
msgid "Purchase Price Range"
msgstr ""
-#: templates/js/translated/bom.js:314
+#: templates/js/translated/bom.js:505
msgid "Purchase Price Average"
msgstr ""
-#: templates/js/translated/bom.js:363 templates/js/translated/bom.js:449
+#: templates/js/translated/bom.js:554 templates/js/translated/bom.js:643
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:415 templates/js/translated/build.js:798
-#: templates/js/translated/build.js:1545 templates/js/translated/order.js:1285
+#: templates/js/translated/bom.js:606 templates/js/translated/build.js:1183
+#: templates/js/translated/order.js:1298
msgid "Actions"
msgstr ""
-#: templates/js/translated/bom.js:423
+#: templates/js/translated/bom.js:614
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:425
+#: templates/js/translated/bom.js:616
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:427 templates/js/translated/bom.js:590
+#: templates/js/translated/bom.js:618
+#, fuzzy
+#| msgid "Edit supplier part"
+msgid "Edit substitute parts"
+msgstr "编辑供应商商品"
+
+#: templates/js/translated/bom.js:620 templates/js/translated/bom.js:794
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:429 templates/js/translated/bom.js:575
+#: templates/js/translated/bom.js:622 templates/js/translated/bom.js:777
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:520 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:1593
+#: templates/js/translated/bom.js:716 templates/js/translated/build.js:855
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/build.js:71
-msgid "Edit Build Order"
-msgstr ""
+#: templates/js/translated/bom.js:772
+#, fuzzy
+#| msgid "Are you sure you want to delete this stock location?"
+msgid "Are you sure you want to delete this BOM item?"
+msgstr "确实要删除此仓储地点吗?"
-#: templates/js/translated/build.js:105
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/translated/build.js:138
-msgid "Allocate stock items to this build output"
-msgstr ""
-
-#: templates/js/translated/build.js:146
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/translated/build.js:155
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:164
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/translated/build.js:265
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/translated/build.js:303 templates/js/translated/order.js:1159
-msgid "Location not specified"
-msgstr "未指定仓储地点"
-
-#: templates/js/translated/build.js:675 templates/js/translated/build.js:1356
-#: templates/js/translated/order.js:1292
-msgid "Edit stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:677 templates/js/translated/build.js:1357
-#: templates/js/translated/order.js:1293
-msgid "Delete stock allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:695
-msgid "Edit Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:705
-msgid "Remove Allocation"
-msgstr ""
-
-#: templates/js/translated/build.js:718
+#: templates/js/translated/bom.js:972 templates/js/translated/build.js:1095
msgid "Required Part"
msgstr ""
-#: templates/js/translated/build.js:739
+#: templates/js/translated/bom.js:994
+#, fuzzy
+#| msgid "Split from parent item"
+msgid "Inherited from parent BOM"
+msgstr "从父项拆分"
+
+#: templates/js/translated/build.js:78
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:112
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:133
+msgid "Allocate stock items to this build output"
+msgstr ""
+
+#: templates/js/translated/build.js:144
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:153
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:161
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:184
+#, fuzzy
+#| msgid "Are you sure you wish to unallocate all stock for this build?"
+msgid "Are you sure you wish to unallocate stock items from this build?"
+msgstr "您确定要取消此生产的所有库存分配?"
+
+#: templates/js/translated/build.js:202
+#, fuzzy
+#| msgid "Unallocate Stock"
+msgid "Unallocate Stock Items"
+msgstr "未分配库存"
+
+#: templates/js/translated/build.js:220
+#, fuzzy
+#| msgid "Delete Build Output"
+msgid "Select Build Outputs"
+msgstr "删除生产产出"
+
+#: templates/js/translated/build.js:221
+#, fuzzy
+#| msgid "Build output must be specified"
+msgid "At least one build output must be selected"
+msgstr "必须指定生成产出"
+
+#: templates/js/translated/build.js:275
+#, fuzzy
+#| msgid "Build Outputs"
+msgid "Output"
+msgstr "生产产出"
+
+#: templates/js/translated/build.js:291
+#, fuzzy
+#| msgid "Incomplete Build Outputs"
+msgid "Complete Build Outputs"
+msgstr "未完成的生产产出"
+
+#: templates/js/translated/build.js:386
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:424 templates/js/translated/order.js:1172
+msgid "Location not specified"
+msgstr "未指定仓储地点"
+
+#: templates/js/translated/build.js:603
+#, fuzzy
+#| msgid "No build output specified"
+msgid "No active build outputs found"
+msgstr "未指定生产产出"
+
+#: templates/js/translated/build.js:1052 templates/js/translated/build.js:1760
+#: templates/js/translated/order.js:1305
+msgid "Edit stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1054 templates/js/translated/build.js:1761
+#: templates/js/translated/order.js:1306
+msgid "Delete stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1072
+msgid "Edit Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1082
+msgid "Remove Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1107
+msgid "Substitute parts available"
+msgstr ""
+
+#: templates/js/translated/build.js:1124
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:749 templates/js/translated/build.js:975
-#: templates/js/translated/build.js:1352 templates/js/translated/order.js:1514
+#: templates/js/translated/build.js:1134 templates/js/translated/build.js:1360
+#: templates/js/translated/build.js:1756 templates/js/translated/order.js:1535
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:805 templates/js/translated/build.js:1553
-#: templates/js/translated/order.js:1567
+#: templates/js/translated/build.js:1190 templates/js/translated/order.js:1589
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:809 templates/js/translated/build.js:1557
-#: templates/stock_table.html:59
+#: templates/js/translated/build.js:1194 templates/stock_table.html:52
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:812 templates/js/translated/order.js:1560
+#: templates/js/translated/build.js:1197 templates/js/translated/order.js:1582
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:880
+#: templates/js/translated/build.js:1262
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:949
+#: templates/js/translated/build.js:1333 templates/js/translated/label.js:134
+#: templates/js/translated/report.js:225
+msgid "Select Parts"
+msgstr "选择商品"
+
+#: templates/js/translated/build.js:1334
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:963
+#: templates/js/translated/build.js:1348
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:992
+#: templates/js/translated/build.js:1377
msgid "Confirm stock allocation"
msgstr "确认库存分配"
-#: templates/js/translated/build.js:993
+#: templates/js/translated/build.js:1378
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:1004
+#: templates/js/translated/build.js:1389
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:1048
+#: templates/js/translated/build.js:1451
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:1172
+#: templates/js/translated/build.js:1576
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:1189 templates/js/translated/part.js:856
-#: templates/js/translated/part.js:1134 templates/js/translated/stock.js:762
-#: templates/js/translated/stock.js:1456
+#: templates/js/translated/build.js:1593 templates/js/translated/part.js:873
+#: templates/js/translated/part.js:1265 templates/js/translated/stock.js:1064
+#: templates/js/translated/stock.js:1841
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:1209
+#: templates/js/translated/build.js:1613
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:1270 templates/js/translated/stock.js:1675
+#: templates/js/translated/build.js:1674 templates/js/translated/stock.js:2060
msgid "No user information"
msgstr "没有用户信息"
-#: templates/js/translated/build.js:1282
+#: templates/js/translated/build.js:1686
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:1333
+#: templates/js/translated/build.js:1737
msgid "No parts allocated for"
msgstr ""
@@ -7137,7 +7184,7 @@ msgstr "编辑制造商商品"
msgid "Delete Manufacturer Part"
msgstr "删除制造商商品"
-#: templates/js/translated/company.js:164 templates/js/translated/order.js:89
+#: templates/js/translated/company.js:164 templates/js/translated/order.js:90
msgid "Add Supplier"
msgstr "添加供应商"
@@ -7186,34 +7233,34 @@ msgid "No manufacturer parts found"
msgstr ""
#: templates/js/translated/company.js:496
-#: templates/js/translated/company.js:753 templates/js/translated/part.js:427
-#: templates/js/translated/part.js:512
+#: templates/js/translated/company.js:753 templates/js/translated/part.js:448
+#: templates/js/translated/part.js:533
msgid "Template part"
msgstr ""
#: templates/js/translated/company.js:500
-#: templates/js/translated/company.js:757 templates/js/translated/part.js:431
-#: templates/js/translated/part.js:516
+#: templates/js/translated/company.js:757 templates/js/translated/part.js:452
+#: templates/js/translated/part.js:537
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:627 templates/js/translated/part.js:604
+#: templates/js/translated/company.js:627 templates/js/translated/part.js:625
msgid "No parameters found"
msgstr "无指定参数"
-#: templates/js/translated/company.js:664 templates/js/translated/part.js:646
+#: templates/js/translated/company.js:664 templates/js/translated/part.js:667
msgid "Edit parameter"
msgstr "编辑参数"
-#: templates/js/translated/company.js:665 templates/js/translated/part.js:647
+#: templates/js/translated/company.js:665 templates/js/translated/part.js:668
msgid "Delete parameter"
msgstr "删除参数"
-#: templates/js/translated/company.js:684 templates/js/translated/part.js:664
+#: templates/js/translated/company.js:684 templates/js/translated/part.js:685
msgid "Edit Parameter"
msgstr "编辑参数"
-#: templates/js/translated/company.js:695 templates/js/translated/part.js:676
+#: templates/js/translated/company.js:695 templates/js/translated/part.js:697
msgid "Delete Parameter"
msgstr "删除参数"
@@ -7222,12 +7269,12 @@ msgid "No supplier parts found"
msgstr "未找到供应商商品"
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:407
+#: templates/js/translated/filters.js:420
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:408
+#: templates/js/translated/filters.js:421
msgid "false"
msgstr ""
@@ -7235,57 +7282,63 @@ msgstr ""
msgid "Select filter"
msgstr "选择筛选项"
-#: templates/js/translated/filters.js:284
+#: templates/js/translated/filters.js:286
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:286
+#: templates/js/translated/filters.js:290
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:289
+#: templates/js/translated/filters.js:293
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:317
+#: templates/js/translated/filters.js:329
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336
-#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360
+#: templates/js/translated/forms.js:349 templates/js/translated/forms.js:364
+#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:392
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:324
+#: templates/js/translated/forms.js:351
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:337
+#: templates/js/translated/forms.js:366
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:349
+#: templates/js/translated/forms.js:380
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:361
+#: templates/js/translated/forms.js:394
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:968 templates/modals.html:21
-#: templates/modals.html:47
+#: templates/js/translated/forms.js:679
+#, fuzzy
+#| msgid "Must be a valid number"
+msgid "Enter a valid number"
+msgstr "必须是有效数字"
+
+#: templates/js/translated/forms.js:1071 templates/modals.html:19
+#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1323
+#: templates/js/translated/forms.js:1457
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1525
+#: templates/js/translated/forms.js:1661
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:1742
+#: templates/js/translated/forms.js:1878
msgid "Clear input"
msgstr ""
@@ -7297,6 +7350,11 @@ msgstr ""
msgid "NO"
msgstr ""
+#: templates/js/translated/label.js:29 templates/js/translated/report.js:118
+#: templates/js/translated/stock.js:594
+msgid "Select Stock Items"
+msgstr "选择库存项"
+
#: templates/js/translated/label.js:30
msgid "Stock item(s) must be selected before printing labels"
msgstr "打印标签前必须选择库存项目"
@@ -7342,62 +7400,62 @@ msgstr "选择标签"
msgid "Select Label Template"
msgstr "选择标签模板"
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:75 templates/js/translated/modals.js:119
+#: templates/js/translated/modals.js:593
msgid "Cancel"
msgstr "取消"
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:981
-#: templates/modals.html:30 templates/modals.html:55
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:963
+#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:117
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:397
+#: templates/js/translated/modals.js:380
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:556
+#: templates/js/translated/modals.js:539
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:592
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:649
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:933
+#: templates/js/translated/modals.js:915
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:945
+#: templates/js/translated/modals.js:927
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1042
+#: templates/js/translated/modals.js:1024
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1057
+#: templates/js/translated/modals.js:1039
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1058
+#: templates/js/translated/modals.js:1040
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1081
+#: templates/js/translated/modals.js:1063
msgid "Error requesting form data"
msgstr ""
@@ -7405,35 +7463,35 @@ msgstr ""
msgid "Company ID"
msgstr "公司ID"
-#: templates/js/translated/model_renderers.js:90
+#: templates/js/translated/model_renderers.js:77
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:125
+#: templates/js/translated/model_renderers.js:130
msgid "Location ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:142
+#: templates/js/translated/model_renderers.js:147
msgid "Build ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:177
+#: templates/js/translated/model_renderers.js:182
msgid "Part ID"
msgstr "商品ID"
-#: templates/js/translated/model_renderers.js:231
+#: templates/js/translated/model_renderers.js:236
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:251
+#: templates/js/translated/model_renderers.js:256
msgid "Category ID"
msgstr "类别 ID"
-#: templates/js/translated/model_renderers.js:288
+#: templates/js/translated/model_renderers.js:293
msgid "Manufacturer Part ID"
msgstr "制造商商品ID"
-#: templates/js/translated/model_renderers.js:317
+#: templates/js/translated/model_renderers.js:322
msgid "Supplier Part ID"
msgstr "供应商商品ID"
@@ -7445,565 +7503,714 @@ msgstr ""
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:207
+#: templates/js/translated/order.js:208
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:210 templates/js/translated/stock.js:96
+#: templates/js/translated/order.js:211 templates/js/translated/stock.js:393
msgid "Format"
msgstr ""
-#: templates/js/translated/order.js:211 templates/js/translated/stock.js:97
+#: templates/js/translated/order.js:212 templates/js/translated/stock.js:394
msgid "Select file format"
msgstr ""
-#: templates/js/translated/order.js:299
+#: templates/js/translated/order.js:300
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:300
+#: templates/js/translated/order.js:301
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:325
+#: templates/js/translated/order.js:326
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:359 templates/js/translated/stock.js:1343
+#: templates/js/translated/order.js:360 templates/js/translated/stock.js:1643
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:426
+#: templates/js/translated/order.js:427
msgid "Order Code"
msgstr "订单编码"
-#: templates/js/translated/order.js:427
+#: templates/js/translated/order.js:428
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:429
+#: templates/js/translated/order.js:430
msgid "Receive"
msgstr ""
-#: templates/js/translated/order.js:448
+#: templates/js/translated/order.js:449
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:449
+#: templates/js/translated/order.js:450
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:626
+#: templates/js/translated/order.js:627
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:651 templates/js/translated/order.js:1028
+#: templates/js/translated/order.js:652 templates/js/translated/order.js:1041
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:749 templates/js/translated/order.js:1602
+#: templates/js/translated/order.js:750 templates/js/translated/order.js:1624
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:761 templates/js/translated/order.js:1613
+#: templates/js/translated/order.js:762 templates/js/translated/order.js:1635
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:800
+#: templates/js/translated/order.js:801
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:827 templates/js/translated/order.js:1432
+#: templates/js/translated/order.js:828 templates/js/translated/order.js:1445
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:880 templates/js/translated/order.js:1457
-#: templates/js/translated/part.js:1343 templates/js/translated/part.js:1554
+#: templates/js/translated/order.js:882 templates/js/translated/order.js:1470
+#: templates/js/translated/part.js:1482 templates/js/translated/part.js:1693
msgid "Unit Price"
msgstr "单价"
-#: templates/js/translated/order.js:889 templates/js/translated/order.js:1464
-msgid "Total price"
-msgstr ""
+#: templates/js/translated/order.js:897 templates/js/translated/order.js:1486
+#, fuzzy
+#| msgid "Sale Price"
+msgid "Total Price"
+msgstr "销售价格"
-#: templates/js/translated/order.js:962 templates/js/translated/order.js:1573
+#: templates/js/translated/order.js:975 templates/js/translated/order.js:1595
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:963
+#: templates/js/translated/order.js:976
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:967
+#: templates/js/translated/order.js:980
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1004
+#: templates/js/translated/order.js:1017
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1055
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1120
+#: templates/js/translated/order.js:1133
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:1213
+#: templates/js/translated/order.js:1226
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1231
+#: templates/js/translated/order.js:1244
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:1273
+#: templates/js/translated/order.js:1286
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:1514
+#: templates/js/translated/order.js:1535
msgid "Fulfilled"
msgstr ""
-#: templates/js/translated/order.js:1557
+#: templates/js/translated/order.js:1579
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1585
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:1570 templates/js/translated/order.js:1725
+#: templates/js/translated/order.js:1592 templates/js/translated/order.js:1771
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1596
msgid "Delete line item "
msgstr ""
-#: templates/js/translated/order.js:1673
+#: templates/js/translated/order.js:1719
msgid "Allocate Stock Item"
msgstr ""
-#: templates/js/translated/order.js:1733
+#: templates/js/translated/order.js:1779
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1747
+#: templates/js/translated/order.js:1793
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/part.js:49
+#: templates/js/translated/part.js:50
msgid "Part Attributes"
msgstr "商品属性"
-#: templates/js/translated/part.js:53
+#: templates/js/translated/part.js:54
msgid "Part Creation Options"
msgstr "商品创建选项"
-#: templates/js/translated/part.js:57
+#: templates/js/translated/part.js:58
msgid "Part Duplication Options"
msgstr "商品重复选项"
-#: templates/js/translated/part.js:61
+#: templates/js/translated/part.js:62
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:75
+#: templates/js/translated/part.js:76
msgid "Add Part Category"
msgstr "增加商品类别"
-#: templates/js/translated/part.js:164
+#: templates/js/translated/part.js:165
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:165
+#: templates/js/translated/part.js:166
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:172
+#: templates/js/translated/part.js:173
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:173
+#: templates/js/translated/part.js:174
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:180
+#: templates/js/translated/part.js:181
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:191
+#: templates/js/translated/part.js:192
msgid "Copy Category Parameters"
msgstr "复制类别参数"
-#: templates/js/translated/part.js:192
+#: templates/js/translated/part.js:193
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:201
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:202
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:257
+#: templates/js/translated/part.js:258
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:258
+#: templates/js/translated/part.js:259
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:265
-msgid "Copy BOM"
-msgstr ""
-
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:267
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:273
+#: templates/js/translated/part.js:274
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:274
+#: templates/js/translated/part.js:275
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:287
+#: templates/js/translated/part.js:288
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:331
+#: templates/js/translated/part.js:332
msgid "Edit Part"
msgstr "编辑商品"
-#: templates/js/translated/part.js:419 templates/js/translated/part.js:504
+#: templates/js/translated/part.js:334
+#, fuzzy
+#| msgid "Parts imported"
+msgid "Part edited"
+msgstr "已导入商品"
+
+#: templates/js/translated/part.js:402
+msgid "You are subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:404
+msgid "You have subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:409
+msgid "Subscribe to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:411
+msgid "You have unsubscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:440 templates/js/translated/part.js:525
msgid "Trackable part"
msgstr "可追溯商品"
-#: templates/js/translated/part.js:423 templates/js/translated/part.js:508
+#: templates/js/translated/part.js:444 templates/js/translated/part.js:529
msgid "Virtual part"
msgstr "虚拟商品"
-#: templates/js/translated/part.js:435
-msgid "Starred part"
+#: templates/js/translated/part.js:456
+#, fuzzy
+#| msgid "Starred part"
+msgid "Subscribed part"
msgstr "已标记商品"
-#: templates/js/translated/part.js:439
+#: templates/js/translated/part.js:460
msgid "Salable part"
msgstr "可销售商品"
-#: templates/js/translated/part.js:554
+#: templates/js/translated/part.js:575
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:743 templates/js/translated/part.js:1005
+#: templates/js/translated/part.js:764 templates/js/translated/part.js:1008
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:932
+#: templates/js/translated/part.js:933
msgid "No category"
msgstr "没有分类"
-#: templates/js/translated/part.js:955
-#: templates/js/translated/table_filters.js:359
+#: templates/js/translated/part.js:956
+#: templates/js/translated/table_filters.js:375
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1159 templates/js/translated/stock.js:1480
+#: templates/js/translated/part.js:1028 templates/js/translated/part.js:1200
+#: templates/js/translated/stock.js:1802
+#, fuzzy
+#| msgid "Display list view"
+msgid "Display as list"
+msgstr "列表视图"
+
+#: templates/js/translated/part.js:1044
+#, fuzzy
+#| msgid "Display list view"
+msgid "Display as grid"
+msgstr "列表视图"
+
+#: templates/js/translated/part.js:1219 templates/js/translated/stock.js:1821
+#, fuzzy
+#| msgid "Display list view"
+msgid "Display as tree"
+msgstr "列表视图"
+
+#: templates/js/translated/part.js:1283
+#, fuzzy
+#| msgid "Set category"
+msgid "Subscribed category"
+msgstr "设置类别"
+
+#: templates/js/translated/part.js:1297 templates/js/translated/stock.js:1865
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1202
+#: templates/js/translated/part.js:1341
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1253 templates/js/translated/stock.js:493
+#: templates/js/translated/part.js:1392 templates/js/translated/stock.js:786
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1254 templates/js/translated/stock.js:494
+#: templates/js/translated/part.js:1393 templates/js/translated/stock.js:787
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1260
+#: templates/js/translated/part.js:1399
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1282
+#: templates/js/translated/part.js:1421
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1296
+#: templates/js/translated/part.js:1435
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1321
+#: templates/js/translated/part.js:1460
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1376
+#: templates/js/translated/part.js:1515
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1377
+#: templates/js/translated/part.js:1516
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1478
+#: templates/js/translated/part.js:1617
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1497
+#: templates/js/translated/part.js:1636
msgid "Single Price Difference"
msgstr ""
-#: templates/js/translated/stock.js:63
+#: templates/js/translated/report.js:67
+msgid "items selected"
+msgstr ""
+
+#: templates/js/translated/report.js:75
+msgid "Select Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:90
+msgid "Select Test Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:119
+msgid "Stock item(s) must be selected before printing reports"
+msgstr "在打印报表之前必须选择库存项目"
+
+#: templates/js/translated/report.js:136 templates/js/translated/report.js:189
+#: templates/js/translated/report.js:243 templates/js/translated/report.js:297
+#: templates/js/translated/report.js:351
+msgid "No Reports Found"
+msgstr "没有找到报表"
+
+#: templates/js/translated/report.js:137
+msgid "No report templates found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:172
+msgid "Select Builds"
+msgstr ""
+
+#: templates/js/translated/report.js:173
+msgid "Build(s) must be selected before printing reports"
+msgstr "打印报表前必须选择Build(s)"
+
+#: templates/js/translated/report.js:190
+msgid "No report templates found which match selected build(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:226
+msgid "Part(s) must be selected before printing reports"
+msgstr "打印报表前必须选择商品"
+
+#: templates/js/translated/report.js:244
+msgid "No report templates found which match selected part(s)"
+msgstr ""
+
+#: templates/js/translated/report.js:279
+msgid "Select Purchase Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:280
+msgid "Purchase Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/report.js:298 templates/js/translated/report.js:352
+msgid "No report templates found which match selected orders"
+msgstr ""
+
+#: templates/js/translated/report.js:333
+msgid "Select Sales Orders"
+msgstr ""
+
+#: templates/js/translated/report.js:334
+msgid "Sales Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/translated/stock.js:70
+#, fuzzy
+#| msgid "Select Stock Items"
+msgid "Serialize Stock Item"
+msgstr "选择库存项"
+
+#: templates/js/translated/stock.js:90
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:126
+#, fuzzy
+#| msgid "Stock Location"
+msgid "New Stock Location"
+msgstr "仓储地点"
+
+#: templates/js/translated/stock.js:189
+#, fuzzy
+#| msgid "Enter quantity for build output"
+msgid "Enter initial quantity for this stock item"
+msgstr "输入生产产出数量"
+
+#: templates/js/translated/stock.js:195
+#, fuzzy
+#| msgid "Enter serial numbers for build outputs"
+msgid "Enter serial numbers for new stock (or leave blank)"
+msgstr "输入生产产出的序列号"
+
+#: templates/js/translated/stock.js:338
+#, fuzzy
+#| msgid "Create new stock location"
+msgid "Created new stock item"
+msgstr "新建仓储地点"
+
+#: templates/js/translated/stock.js:351
+#, fuzzy
+#| msgid "Create initial stock"
+msgid "Created multiple stock items"
+msgstr "创建初始库存"
+
+#: templates/js/translated/stock.js:390
msgid "Export Stock"
msgstr ""
-#: templates/js/translated/stock.js:104
+#: templates/js/translated/stock.js:401
msgid "Include Sublocations"
msgstr ""
-#: templates/js/translated/stock.js:105
+#: templates/js/translated/stock.js:402
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/translated/stock.js:147
+#: templates/js/translated/stock.js:444
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:148
+#: templates/js/translated/stock.js:445
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:154
+#: templates/js/translated/stock.js:451
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:155
+#: templates/js/translated/stock.js:452
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:159
+#: templates/js/translated/stock.js:456
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:160
+#: templates/js/translated/stock.js:457
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:164
+#: templates/js/translated/stock.js:461
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:165 users/models.py:195
+#: templates/js/translated/stock.js:462 users/models.py:200
msgid "Add"
msgstr "添加"
-#: templates/js/translated/stock.js:169 templates/stock_table.html:63
+#: templates/js/translated/stock.js:466 templates/stock_table.html:56
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:258
+#: templates/js/translated/stock.js:555
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:298
+#: templates/js/translated/stock.js:595
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:456
+#: templates/js/translated/stock.js:753
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:458
+#: templates/js/translated/stock.js:755
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:463
+#: templates/js/translated/stock.js:760
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:489
+#: templates/js/translated/stock.js:782
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:515
+#: templates/js/translated/stock.js:808
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:563
+#: templates/js/translated/stock.js:865
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:670
+#: templates/js/translated/stock.js:972
msgid "In production"
msgstr "正在生产"
-#: templates/js/translated/stock.js:674
+#: templates/js/translated/stock.js:976
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:678
+#: templates/js/translated/stock.js:980
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:984
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:688
+#: templates/js/translated/stock.js:990
msgid "No stock location set"
msgstr "未设置仓储地点"
-#: templates/js/translated/stock.js:844
+#: templates/js/translated/stock.js:1148
msgid "Stock item is in production"
msgstr "库存品正在生产"
-#: templates/js/translated/stock.js:849
+#: templates/js/translated/stock.js:1153
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:852
+#: templates/js/translated/stock.js:1156
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:856
+#: templates/js/translated/stock.js:1160
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:858
+#: templates/js/translated/stock.js:1162
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:862
+#: templates/js/translated/stock.js:1166
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:866
+#: templates/js/translated/stock.js:1170
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:873
+#: templates/js/translated/stock.js:1177
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:1179
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:877
+#: templates/js/translated/stock.js:1181
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:881
-#: templates/js/translated/table_filters.js:161
+#: templates/js/translated/stock.js:1185
+#: templates/js/translated/table_filters.js:177
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:935
+#: templates/js/translated/stock.js:1235
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1308
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1046
+#: templates/js/translated/stock.js:1346
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:1067 templates/js/translated/stock.js:1115
+#: templates/js/translated/stock.js:1367 templates/js/translated/stock.js:1415
msgid "items"
msgstr ""
-#: templates/js/translated/stock.js:1155
+#: templates/js/translated/stock.js:1455
msgid "batches"
msgstr ""
-#: templates/js/translated/stock.js:1182
+#: templates/js/translated/stock.js:1482
msgid "locations"
msgstr ""
-#: templates/js/translated/stock.js:1184
+#: templates/js/translated/stock.js:1484
msgid "Undefined location"
msgstr ""
-#: templates/js/translated/stock.js:1358
+#: templates/js/translated/stock.js:1658
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:1372
+#: templates/js/translated/stock.js:1672
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:1373
+#: templates/js/translated/stock.js:1673
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:1512
+#: templates/js/translated/stock.js:1897
msgid "Invalid date"
msgstr ""
-#: templates/js/translated/stock.js:1559
+#: templates/js/translated/stock.js:1919
+msgid "Details"
+msgstr "详情"
+
+#: templates/js/translated/stock.js:1944
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1578
+#: templates/js/translated/stock.js:1963
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1597
+#: templates/js/translated/stock.js:1982
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1615
+#: templates/js/translated/stock.js:2000
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:1638
+#: templates/js/translated/stock.js:2023
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:1646
+#: templates/js/translated/stock.js:2031
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:1687
+#: templates/js/translated/stock.js:2072
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1688
+#: templates/js/translated/stock.js:2073
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:2124
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:1835
-msgid "Serial"
-msgstr ""
-
-#: templates/js/translated/stock.js:1863
+#: templates/js/translated/stock.js:2175
msgid "Uninstall Stock Item"
msgstr ""
@@ -8023,254 +8230,264 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:156
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:172
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:93
+#: templates/js/translated/table_filters.js:105
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:103
-#: templates/js/translated/table_filters.js:104
-#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:115
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:352
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:114
-#: templates/js/translated/table_filters.js:191
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:117
-#: templates/js/translated/table_filters.js:198
-msgid "Serial number GTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:118
-#: templates/js/translated/table_filters.js:199
-msgid "Serial number greater than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:121
-#: templates/js/translated/table_filters.js:202
-msgid "Serial number LTE"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:122
-#: templates/js/translated/table_filters.js:203
-msgid "Serial number less than or equal to"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:125
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:195
-msgid "Serial number"
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:387
+msgid "Subscribed"
msgstr ""
#: templates/js/translated/table_filters.js:130
-#: templates/js/translated/table_filters.js:212
-msgid "Batch code"
+#: templates/js/translated/table_filters.js:207
+msgid "Is Serialized"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:214
+msgid "Serial number GTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:134
+#: templates/js/translated/table_filters.js:215
+msgid "Serial number greater than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:137
+#: templates/js/translated/table_filters.js:218
+msgid "Serial number LTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:138
+#: templates/js/translated/table_filters.js:219
+msgid "Serial number less than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:141
-#: templates/js/translated/table_filters.js:326
-msgid "Active parts"
-msgstr ""
-
#: templates/js/translated/table_filters.js:142
-msgid "Show stock for active parts"
+#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:211
+msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:147
-msgid "Part is an assembly"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:151
-msgid "Is allocated"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:152
-msgid "Item has been allocated"
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:228
+msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:157
-msgid "Include stock in sublocations"
+#: templates/js/translated/table_filters.js:342
+msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:162
-msgid "Show stock items which are depleted"
+#: templates/js/translated/table_filters.js:158
+msgid "Show stock for active parts"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:163
+msgid "Part is an assembly"
msgstr ""
#: templates/js/translated/table_filters.js:167
+msgid "Is allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:168
+msgid "Item has been allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:173
+msgid "Include stock in sublocations"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:178
+msgid "Show stock items which are depleted"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:183
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:187
msgid "In Production"
msgstr "正在生产"
-#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:188
msgid "Show items which are in production"
msgstr "显示正在生产的项目"
-#: templates/js/translated/table_filters.js:176
+#: templates/js/translated/table_filters.js:192
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:177
+#: templates/js/translated/table_filters.js:193
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:197
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:182
+#: templates/js/translated/table_filters.js:198
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:187
+#: templates/js/translated/table_filters.js:203
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:207
-#: templates/js/translated/table_filters.js:208
+#: templates/js/translated/table_filters.js:223
+#: templates/js/translated/table_filters.js:224
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:216
+#: templates/js/translated/table_filters.js:232
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:217
+#: templates/js/translated/table_filters.js:233
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:226
+#: templates/js/translated/table_filters.js:242
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:232
+#: templates/js/translated/table_filters.js:248
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:279
msgid "Build status"
msgstr "生产状态"
-#: templates/js/translated/table_filters.js:291
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:307
+#: templates/js/translated/table_filters.js:324
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:296
-#: templates/js/translated/table_filters.js:313
+#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:329
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:337
+#: templates/js/translated/table_filters.js:353
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:341
+#: templates/js/translated/table_filters.js:357
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:342
+#: templates/js/translated/table_filters.js:358
msgid "Part has internal part number"
msgstr "商品有内部编号"
-#: templates/js/translated/table_filters.js:347
+#: templates/js/translated/table_filters.js:363
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:355
+#: templates/js/translated/table_filters.js:371
msgid "Stock available"
msgstr ""
-#: templates/js/translated/table_filters.js:371
-msgid "Starred"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:383
+#: templates/js/translated/table_filters.js:399
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/tables.js:366
+#: templates/js/translated/tables.js:368
msgid "Loading data"
msgstr ""
-#: templates/js/translated/tables.js:369
+#: templates/js/translated/tables.js:371
msgid "rows per page"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "Showing"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "to"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "of"
msgstr ""
-#: templates/js/translated/tables.js:372
+#: templates/js/translated/tables.js:374
msgid "rows"
msgstr ""
-#: templates/js/translated/tables.js:378
+#: templates/js/translated/tables.js:377 templates/search_form.html:6
+#: templates/search_form.html:7
+msgid "Search"
+msgstr "搜索"
+
+#: templates/js/translated/tables.js:380
msgid "No matching results"
msgstr ""
-#: templates/js/translated/tables.js:381
+#: templates/js/translated/tables.js:383
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/translated/tables.js:384
+#: templates/js/translated/tables.js:386
msgid "Refresh"
msgstr ""
-#: templates/js/translated/tables.js:387
+#: templates/js/translated/tables.js:389
msgid "Toggle"
msgstr ""
-#: templates/js/translated/tables.js:390
+#: templates/js/translated/tables.js:392
msgid "Columns"
msgstr ""
-#: templates/js/translated/tables.js:393
+#: templates/js/translated/tables.js:395
msgid "All"
msgstr ""
-#: templates/navbar.html:19
-msgid "Toggle navigation"
-msgstr ""
-
-#: templates/navbar.html:39
+#: templates/navbar.html:40
msgid "Buy"
msgstr "采购"
-#: templates/navbar.html:51
+#: templates/navbar.html:52
msgid "Sell"
msgstr "销售"
-#: templates/navbar.html:83 users/models.py:39
+#: templates/navbar.html:86 users/models.py:39
msgid "Admin"
msgstr "管理员"
-#: templates/navbar.html:85
+#: templates/navbar.html:88
msgid "Logout"
msgstr ""
-#: templates/navbar.html:106
+#: templates/navbar.html:90
+msgid "Login"
+msgstr ""
+
+#: templates/navbar.html:111
msgid "About InvenTree"
msgstr ""
+#: templates/navbar_demo.html:5
+msgid "InvenTree demo mode"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -8283,6 +8500,10 @@ msgstr ""
msgid "Log in again"
msgstr ""
+#: templates/stats.html:9
+msgid "Server"
+msgstr ""
+
#: templates/stats.html:13
msgid "Instance Name"
msgstr ""
@@ -8336,54 +8557,50 @@ msgid "Export Stock Information"
msgstr ""
#: templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/stock_table.html:27
msgid "Barcode Actions"
msgstr ""
-#: templates/stock_table.html:43
+#: templates/stock_table.html:36
msgid "Print test reports"
msgstr "打印测试报表"
-#: templates/stock_table.html:50
+#: templates/stock_table.html:43
msgid "Stock Options"
msgstr ""
-#: templates/stock_table.html:55
+#: templates/stock_table.html:48
msgid "Add to selected stock items"
msgstr ""
-#: templates/stock_table.html:56
+#: templates/stock_table.html:49
msgid "Remove from selected stock items"
msgstr ""
-#: templates/stock_table.html:57
+#: templates/stock_table.html:50
msgid "Stocktake selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move selected stock items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:51
msgid "Move stock"
msgstr ""
-#: templates/stock_table.html:59
+#: templates/stock_table.html:52
msgid "Order selected items"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change status"
msgstr ""
-#: templates/stock_table.html:60
+#: templates/stock_table.html:53
msgid "Change stock status"
msgstr ""
-#: templates/stock_table.html:63
+#: templates/stock_table.html:56
msgid "Delete selected items"
msgstr ""
@@ -8419,35 +8636,199 @@ msgstr "权限"
msgid "Important dates"
msgstr "重要日期"
-#: users/models.py:182
+#: users/models.py:187
msgid "Permission set"
msgstr "权限设置"
-#: users/models.py:190
+#: users/models.py:195
msgid "Group"
msgstr "群组"
-#: users/models.py:193
+#: users/models.py:198
msgid "View"
msgstr "视图"
-#: users/models.py:193
+#: users/models.py:198
msgid "Permission to view items"
msgstr "查看项目权限"
-#: users/models.py:195
+#: users/models.py:200
msgid "Permission to add items"
msgstr "添加项目权限"
-#: users/models.py:197
+#: users/models.py:202
msgid "Change"
msgstr "更改"
-#: users/models.py:197
+#: users/models.py:202
msgid "Permissions to edit items"
msgstr "编辑项目权限"
-#: users/models.py:199
+#: users/models.py:204
msgid "Permission to delete items"
msgstr "删除项目权限"
+#~ msgid "Build Order reference"
+#~ msgstr "相关生产订单"
+
+#~ msgid "Order target date"
+#~ msgstr "订单预计日期"
+
+#~ msgid "Number of items to build"
+#~ msgstr "要生产的项目数量"
+
+#~ msgid "Confirm unallocation of stock"
+#~ msgstr "确认取消分配库存"
+
+#~ msgid "Build output stock status"
+#~ msgstr "生产产出库存状态"
+
+#~ msgid "Confirm incomplete"
+#~ msgstr "确认未完成"
+
+#~ msgid "Confirm completion with incomplete stock allocation"
+#~ msgstr "确认以未完成库存分配方式完成"
+
+#~ msgid "Confirm build completion"
+#~ msgstr "确认生产完成"
+
+#~ msgid "Admin view"
+#~ msgstr "管理界面"
+
+#~ msgid "Print Build Order"
+#~ msgstr "打印生产订单"
+
+#~ msgid "Progress"
+#~ msgstr "生产进度"
+
+#~ msgid "Stock allocation is incomplete"
+#~ msgstr "库存分配尚未完成"
+
+#~ msgid "Build Order Details"
+#~ msgstr "生产订单详情"
+
+#~ msgid "Build Order Notes"
+#~ msgstr "生产订单备注"
+
+#~ msgid "All incomplete stock allocations will be removed from the build"
+#~ msgstr "所有未完成的库存分配都将从生产中删除"
+
+#~ msgid "Invalid stock status value selected"
+#~ msgstr "选定的库存状态值无效"
+
+#~ msgid "Build output completed"
+#~ msgstr "生产产出已完成"
+
+#~ msgid "Enable buy"
+#~ msgstr "启用采购"
+
+#~ msgid "Enable buy functionality in InvenTree interface"
+#~ msgstr "在 InventTree 界面中启用采购功能"
+
+#~ msgid "Enable sell"
+#~ msgstr "启用销售"
+
+#~ msgid "Enable sell functionality in InvenTree interface"
+#~ msgstr "在 InventTree 界面中启用销售功能"
+
+#~ msgid "Default"
+#~ msgstr "默认"
+
+#~ msgid "Current value"
+#~ msgstr "当前数值"
+
+#~ msgid "Change Setting"
+#~ msgstr "更改设置"
+
+#~ msgid "Supplied value is not allowed"
+#~ msgstr "提供的值不被允许"
+
+#~ msgid "Supplied value must be a boolean"
+#~ msgstr "提供的值必须为布尔值"
+
+#~ msgid "Change User Setting"
+#~ msgstr "更改用户设置"
+
+#~ msgid "Company Details"
+#~ msgstr "公司详细信息"
+
+#~ msgid "Manufacturer Part Details"
+#~ msgstr "制造商商品详细信息"
+
+#~ msgid "Manufacturer Part Stock"
+#~ msgstr "制造商商品库存"
+
+#~ msgid "Manufacturer Part Orders"
+#~ msgstr "制造商商品订单"
+
+#~ msgid "Manufactured Parts"
+#~ msgstr "制造商商品"
+
+#~ msgid "Supplier Part Details"
+#~ msgstr "供应商商品详细信息"
+
+#~ msgid "All parts"
+#~ msgstr "所有商品"
+
+#~ msgid "Category Details"
+#~ msgstr "类别详细信息"
+
+#~ msgid "View list display"
+#~ msgstr "列表视图"
+
+#~ msgid "View grid display"
+#~ msgstr "网格视图"
+
+#~ msgid "Import Parts"
+#~ msgstr "导入商品"
+
+#~ msgid "Star this part"
+#~ msgstr "标记此商品"
+
+#~ msgid "Hide Part Details"
+#~ msgstr "隐藏商品详细信息"
+
+#~ msgid "Location Details"
+#~ msgstr "仓储地详细信息"
+
+#~ msgid "Location Path"
+#~ msgstr "仓储地路径"
+
+#~ msgid "Location Description"
+#~ msgstr "仓储地描述信息"
+
+#~ msgid "Create new location"
+#~ msgstr "新建仓储地点"
+
+#~ msgid "Starred Parts"
+#~ msgstr "已加星标商品"
+
+#~ msgid "Setting"
+#~ msgstr "设置"
+
+#~ msgid "Account"
+#~ msgstr "帐户"
+
+#~ msgid "Home Page"
+#~ msgstr "主页"
+
+#~ msgid "Labels"
+#~ msgstr "标签"
+
+#~ msgid "Reports"
+#~ msgstr "报表"
+
+#~ msgid "Barcodes"
+#~ msgstr "条形码"
+
+#~ msgid "Currencies"
+#~ msgstr "币种"
+
+#~ msgid "Reporting"
+#~ msgstr "报表"
+
+#~ msgid "Categories"
+#~ msgstr "类别管理"
+
+#~ msgid "Part Options"
+#~ msgstr "商品选项"
diff --git a/InvenTree/order/templates/order/order_wizard/po_upload.html b/InvenTree/order/templates/order/order_wizard/po_upload.html
index a904ba49d8..5c680e509c 100644
--- a/InvenTree/order/templates/order/order_wizard/po_upload.html
+++ b/InvenTree/order/templates/order/order_wizard/po_upload.html
@@ -5,7 +5,8 @@
{% block sidebar %}
{% url "po-detail" order.id as url %}
-{% include "sidebar_item.html" with url=url text='{% trans "Return to Orders" %}' icon="fa-undo" %}
+{% trans "Return to Orders" as text %}
+{% include "sidebar_item.html" with url=url text=text icon="fa-undo" %}
{% endblock %}
{% block page_content %}
diff --git a/InvenTree/order/templates/order/po_sidebar.html b/InvenTree/order/templates/order/po_sidebar.html
index 4c14d1eaf6..298c945d41 100644
--- a/InvenTree/order/templates/order/po_sidebar.html
+++ b/InvenTree/order/templates/order/po_sidebar.html
@@ -2,7 +2,11 @@
{% load static %}
{% load inventree_extras %}
-{% include "sidebar_item.html" with label='order-items' text='{% trans "Line Items" %}' icon="fa-list-ol" %}
-{% include "sidebar_item.html" with label='received-items' text='{% trans "Received Stock" %}' icon="fa-sign-in-alt" %}
-{% include "sidebar_item.html" with label='order-attachments' text='{% trans "Attachments" %}' icon="fa-paperclip" %}
-{% include "sidebar_item.html" with label='order-notes' text='{% trans "Notes" %}' icon="fa-clipboard" %}
\ No newline at end of file
+{% trans "Line Items" as text %}
+{% include "sidebar_item.html" with label='order-items' text=text icon="fa-list-ol" %}
+{% trans "Received Stock" as text %}
+{% include "sidebar_item.html" with label='received-items' text=text icon="fa-sign-in-alt" %}
+{% trans "Attachments" as text %}
+{% include "sidebar_item.html" with label='order-attachments' text=text icon="fa-paperclip" %}
+{% trans "Notes" as text %}
+{% include "sidebar_item.html" with label='order-notes' text=text icon="fa-clipboard" %}
\ No newline at end of file
diff --git a/InvenTree/order/templates/order/so_sidebar.html b/InvenTree/order/templates/order/so_sidebar.html
index b7369d36ea..5f5f040c28 100644
--- a/InvenTree/order/templates/order/so_sidebar.html
+++ b/InvenTree/order/templates/order/so_sidebar.html
@@ -2,7 +2,11 @@
{% load static %}
{% load inventree_extras %}
-{% include "sidebar_item.html" with label='order-items' text='{% trans "Line Items" %}' icon="fa-list-ol" %}
-{% include "sidebar_item.html" with label='order-builds' text='{% trans "Build Orders" %}' icon="fa-tools" %}
-{% include "sidebar_item.html" with label='order-attachments' text='{% trans "Attachments" %}' icon="fa-paperclip" %}
-{% include "sidebar_item.html" with label='order-notes' text='{% trans "Notes" %}' icon="fa-clipboard" %}
+{% trans "Line Items" as text %}
+{% include "sidebar_item.html" with label='order-items' text=text icon="fa-list-ol" %}
+{% trans "Build Orders" as text %}
+{% include "sidebar_item.html" with label='order-builds' text=text icon="fa-tools" %}
+{% trans "Attachments" as text %}
+{% include "sidebar_item.html" with label='order-attachments' text=text icon="fa-paperclip" %}
+{% trans "Notes" as text %}
+{% include "sidebar_item.html" with label='order-notes' text=text icon="fa-clipboard" %}
diff --git a/InvenTree/part/templates/part/bom_upload/upload_file.html b/InvenTree/part/templates/part/bom_upload/upload_file.html
index 99340f6735..6775176ede 100644
--- a/InvenTree/part/templates/part/bom_upload/upload_file.html
+++ b/InvenTree/part/templates/part/bom_upload/upload_file.html
@@ -5,7 +5,8 @@
{% block sidebar %}
{% url "part-detail" part.id as url %}
-{% include "sidebar_link.html" with url=url text='{% trans "Return to BOM" %}' icon="fa-undo" %}
+{% trans "Return to BOM" as text %}
+{% include "sidebar_link.html" with url=url text=text icon="fa-undo" %}
{% endblock %}
{% block heading %}
diff --git a/InvenTree/part/templates/part/category_sidebar.html b/InvenTree/part/templates/part/category_sidebar.html
index cfb9c848fb..3d945d0433 100644
--- a/InvenTree/part/templates/part/category_sidebar.html
+++ b/InvenTree/part/templates/part/category_sidebar.html
@@ -4,12 +4,16 @@
{% settings_value 'PART_SHOW_IMPORT' as show_import %}
-{% include "sidebar_item.html" with label="subcategories" text='{% trans "Subcategories" %}' icon="fa-sitemap" %}
-{% include "sidebar_item.html" with label="parts" text='{% trans "Parts" %}' icon="fa-shapes" %}
+{% trans "Subcategories" as text %}
+{% include "sidebar_item.html" with label="subcategories" text=text icon="fa-sitemap" %}
+{% trans "Parts" as text %}
+{% include "sidebar_item.html" with label="parts" text=text icon="fa-shapes" %}
{% if show_import and user.is_staff and roles.part.add %}
{% url "part-import" as url %}
-{% include "sidebar_link.html" with url=url text='{% trans "Import Parts" %}' icon="fa-file-upload" %}
+{% trans "Import Parts" as text %}
+{% include "sidebar_link.html" with url=url text=text icon="fa-file-upload" %}
{% endif %}
{% if category %}
-{% include "sidebar_item.html" with label="parameters" text='{% trans "Parameters" %}' icon="fa-tasks" %}
+{% trans "Parameters" as text %}
+{% include "sidebar_item.html" with label="parameters" text=text icon="fa-tasks" %}
{% endif %}
\ No newline at end of file
diff --git a/InvenTree/part/templates/part/import_wizard/part_upload.html b/InvenTree/part/templates/part/import_wizard/part_upload.html
index 2dab5274dc..666afad1cb 100644
--- a/InvenTree/part/templates/part/import_wizard/part_upload.html
+++ b/InvenTree/part/templates/part/import_wizard/part_upload.html
@@ -5,7 +5,8 @@
{% block sidebar %}
{% url 'part-index' as url %}
-{% include "sidebar_link.html" with url=url text='{% trans "Return to Parts" %}' icon="fa-undo" %}
+{% trans "Return to Parts" as text %}
+{% include "sidebar_link.html" with url=url text=text icon="fa-undo" %}
{% endblock %}
{% block content %}
diff --git a/InvenTree/part/templates/part/part_sidebar.html b/InvenTree/part/templates/part/part_sidebar.html
index 86d9c41e8d..c590c51c37 100644
--- a/InvenTree/part/templates/part/part_sidebar.html
+++ b/InvenTree/part/templates/part/part_sidebar.html
@@ -5,34 +5,49 @@
{% settings_value "PART_INTERNAL_PRICE" as show_internal_price %}
{% settings_value 'PART_SHOW_RELATED' as show_related %}
-{% include "sidebar_item.html" with label="part-details" text='{% trans "Details" %}' icon="fa-shapes" %}
-{% include "sidebar_item.html" with label="part-parameters" text='{% trans "Parameters" %}' icon="fa-th-list" %}
+{% trans "Details" as text %}
+{% include "sidebar_item.html" with label="part-details" text=text icon="fa-shapes" %}
+{% trans "Parameters" as text %}
+{% include "sidebar_item.html" with label="part-parameters" text=text icon="fa-th-list" %}
{% if part.is_template %}
-{% include "sidebar_item.html" with label="variants" text='{% trans "Variants" %}' icon="fa-shapes" %}
+{% trans "Variants" as text %}
+{% include "sidebar_item.html" with label="variants" text=text icon="fa-shapes" %}
{% endif %}
-{% include "sidebar_item.html" with label="part-stock" text='{% trans "Stock" %}' icon="fa-boxes" %}
+{% trans "Stock" as text %}
+{% include "sidebar_item.html" with label="part-stock" text=text icon="fa-boxes" %}
{% if part.assembly %}
-{% include "sidebar_item.html" with label="bom" text='{% trans "Bill of Materials" %}' icon="fa-list" %}
+{% trans "Bill of Materials" as text %}
+{% include "sidebar_item.html" with label="bom" text=text icon="fa-list" %}
{% if roles.build.view %}
-{% include "sidebar_item.html" with label="build-orders" text='{% trans "Build Orders" %}' icon="fa-tools" %}
+{% trans "Build Orders" as text %}
+{% include "sidebar_item.html" with label="build-orders" text=text icon="fa-tools" %}
{% endif %}
{% endif %}
{% if part.component %}
-{% include "sidebar_item.html" with label="used-in" text='{% trans "Used In" %}' icon="fa-layer-group" %}
+{% trans "Used In" as text %}
+{% include "sidebar_item.html" with label="used-in" text=text icon="fa-layer-group" %}
{% endif %}
-{% include "sidebar_item.html" with label="pricing" text='{% trans "Pricing" %}' icon="fa-dollar-sign" %}
+{% trans "Pricing" as text %}
+{% include "sidebar_item.html" with label="pricing" text=text icon="fa-dollar-sign" %}
{% if part.purchaseable and roles.purchase_order.view %}
-{% include "sidebar_item.html" with label="suppliers" text='{% trans "Suppliers" %}' icon="fa-building" %}
-{% include "sidebar_item.html" with label="purchase-orders" text='{% trans "Purchase Orders" %}' icon="fa-shopping-cart" %}
+{% trans "Suppliers" as text %}
+{% include "sidebar_item.html" with label="suppliers" text=text icon="fa-building" %}
+{% trans "Purchase Orders" as text %}
+{% include "sidebar_item.html" with label="purchase-orders" text=text icon="fa-shopping-cart" %}
{% endif %}
{% if part.salable and roles.sales_order.view %}
-{% include "sidebar_item.html" with label="sales-orders" text='{% trans "Sales Orders" %}' icon="fa-truck" %}
+{% trans "Sales Orders" as text %}
+{% include "sidebar_item.html" with label="sales-orders" text=text icon="fa-truck" %}
{% endif %}
{% if part.trackable %}
-{% include "sidebar_item.html" with label="test-templates" text='{% trans "Test Templates" %}' icon="fa-vial" %}
+{% trans "Test Templates" as text %}
+{% include "sidebar_item.html" with label="test-templates" text=text icon="fa-vial" %}
{% endif %}
{% if show_related %}
-{% include "sidebar_item.html" with label="related-parts" text='{% trans "Related Parts" %}' icon="fa-random" %}
+{% trans "Related Parts" as text %}
+{% include "sidebar_item.html" with label="related-parts" text=text icon="fa-random" %}
{% endif %}
-{% include "sidebar_item.html" with label="part-attachments" text='{% trans "Attachments" %}' icon="fa-paperclip" %}
-{% include "sidebar_item.html" with label="part-notes" text='{% trans "Notes" %}' icon="fa-clipboard" %}
+{% trans "Attachments" as text %}
+{% include "sidebar_item.html" with label="part-attachments" text=text icon="fa-paperclip" %}
+{% trans "Notes" as text %}
+{% include "sidebar_item.html" with label="part-notes" text=text icon="fa-clipboard" %}
diff --git a/InvenTree/stock/templates/stock/location_sidebar.html b/InvenTree/stock/templates/stock/location_sidebar.html
index bcb0e9210d..8a80f8224c 100644
--- a/InvenTree/stock/templates/stock/location_sidebar.html
+++ b/InvenTree/stock/templates/stock/location_sidebar.html
@@ -2,5 +2,7 @@
{% load static %}
{% load inventree_extras %}
-{% include "sidebar_item.html" with label='sublocations' text='{% trans "Sublocations" %}' icon="fa-sitemap" %}
-{% include "sidebar_item.html" with label='stock' text='{% trans "Stock Items" %}' icon="fa-boxes" %}
+{% trans "Sublocations" as text %}
+{% include "sidebar_item.html" with label='sublocations' text=text icon="fa-sitemap" %}
+{% trans "Stock Items" as text %}
+{% include "sidebar_item.html" with label='stock' text=text icon="fa-boxes" %}
diff --git a/InvenTree/stock/templates/stock/stock_sidebar.html b/InvenTree/stock/templates/stock/stock_sidebar.html
index 66184961ed..8161251ad7 100644
--- a/InvenTree/stock/templates/stock/stock_sidebar.html
+++ b/InvenTree/stock/templates/stock/stock_sidebar.html
@@ -2,15 +2,21 @@
{% load static %}
{% load inventree_extras %}
-{% include "sidebar_item.html" with label='history' text='{% trans "Stock Tracking" %}' icon="fa-history" %}
+{% trans "Stock Tracking" as text %}
+{% include "sidebar_item.html" with label='history' text=text icon="fa-history" %}
{% if item.part.trackable %}
-{% include "sidebar_item.html" with label='test-data' text='{% trans "Test Data" %}' icon="fa-vial" %}
+{% trans "Test Data" as text %}
+{% include "sidebar_item.html" with label='test-data' text=text icon="fa-vial" %}
{% endif %}
{% if item.part.assembly %}
-{% include "sidebar_item.html" with label='installed-items' text='{% trans "Installed Items" %}' icon="fa-sign-in-alt" %}
+{% trans "Installed Items" as text %}
+{% include "sidebar_item.html" with label='installed-items' text=text icon="fa-sign-in-alt" %}
{% endif %}
{% if item.child_count > 0 %}
-{% include "sidebar_item.html" with label='children' text='{% trans "Child Items" %}' icon="fa-sitemap" %}
+{% trans "Child Items" as text %}
+{% include "sidebar_item.html" with label='children' text=text icon="fa-sitemap" %}
{% endif %}
-{% include "sidebar_item.html" with label='attachments' text='{% trans "Attachments" %}' icon="fa-paperclip" %}
-{% include "sidebar_item.html" with label='notes' text='{% trans "Notes" %}' icon="fa-clipboard" %}
+{% trans "Attachments" as text %}
+{% include "sidebar_item.html" with label='attachments' text=text icon="fa-paperclip" %}
+{% trans "Notes" as text %}
+{% include "sidebar_item.html" with label='notes' text=text icon="fa-clipboard" %}
diff --git a/InvenTree/templates/InvenTree/settings/sidebar.html b/InvenTree/templates/InvenTree/settings/sidebar.html
index 1a2a38f7fb..93b4ee1fb2 100644
--- a/InvenTree/templates/InvenTree/settings/sidebar.html
+++ b/InvenTree/templates/InvenTree/settings/sidebar.html
@@ -2,29 +2,48 @@
{% load static %}
{% load inventree_extras %}
-{% include "sidebar_header.html" with text='{% trans "User Settings" %} icon='fa-user' %}
+{% trans "User Settings" as text %}
+{% include "sidebar_header.html" with text=text icon='fa-user' %}
-{% include "sidebar_item.html" with label='account' text='{% trans "Account Settings" %}' icon="fa-cog" %}
-{% include "sidebar_item.html" with label='user-display' text='{% trans "Display Settings" %}' icon="fa-desktop" %}
-{% include "sidebar_item.html" with label='user-home' text='{% trans "Home Page" %}' icon="fa-home" %}
-{% include "sidebar_item.html" with label='user-search' text='{% trans "Search Settings" %}' icon="fa-search" %}
-{% include "sidebar_item.html" with label='user-labels' text='{% trans "Label Printing" %}' icon="fa-tag" %}
-{% include "sidebar_item.html" with label='user-reports' text='{% trans "Reporting" %}' icon="fa-file-pdf" %}
+{% trans "Account Settings" as text %}
+{% include "sidebar_item.html" with label='account' text=text icon="fa-cog" %}
+{% trans "Display Settings" as text %}
+{% include "sidebar_item.html" with label='user-display' text=text icon="fa-desktop" %}
+{% trans "Home Page" as text %}
+{% include "sidebar_item.html" with label='user-home' text=text icon="fa-home" %}
+{% trans "Search Settings" as text %}
+{% include "sidebar_item.html" with label='user-search' text=text icon="fa-search" %}
+{% trans "Label Printing" as text %}
+{% include "sidebar_item.html" with label='user-labels' text=text icon="fa-tag" %}
+{% trans "Reporting" as text %}
+{% include "sidebar_item.html" with label='user-reports' text=text icon="fa-file-pdf" %}
{% if user.is_staff %}
-{% include "sidebar_header.html" with text='{% trans "Global Settings" %} icon='fa-cogs' %}
+{% trans "Global Settings" as text %}
+{% include "sidebar_header.html" with text=text icon='fa-cogs' %}
-{% include "sidebar_item.html" with label='server' text='{% trans "Server Configuration" %}' icon="fa-server" %}
-{% include "sidebar_item.html" with label='login' text='{% trans "Login Settings" %}' icon="fa-fingerprint" %}
-{% include "sidebar_item.html" with label='barcodes' text='{% trans "Barcode Support" %}' icon="fa-qrcode" %}
-{% include "sidebar_item.html" with label='currencies' text='{% trans "Currencies" %}' icon="fa-dollar-sign" %}
-{% include "sidebar_item.html" with label='reporting' text='{% trans "Reporting" %}' icon="fa-file-pdf" %}
-{% include "sidebar_item.html" with label='parts' text='{% trans "Parts" %}' icon="fa-shapes" %}
-{% include "sidebar_item.html" with label='category' text='{% trans "Categories" %}' icon="fa-sitemap" %}
-{% include "sidebar_item.html" with label='stock' text='{% trans "Stock" %}' icon="fa-boxes" %}
-{% include "sidebar_item.html" with label='build-order' text='{% trans "Build Orders" %}' icon="fa-tools" %}
-{% include "sidebar_item.html" with label='purchase-order' text='{% trans "Purchase Orders" %}' icon="fa-shopping-cart" %}
-{% include "sidebar_item.html" with label='sales-order' text='{% trans "Sales Orders" %}' icon="fa-truck" %}
+{% trans "Server Configuration" as text %}
+{% include "sidebar_item.html" with label='server' text=text icon="fa-server" %}
+{% trans "Login Settings" as text %}
+{% include "sidebar_item.html" with label='login' text=text icon="fa-fingerprint" %}
+{% trans "Barcode Support" as text %}
+{% include "sidebar_item.html" with label='barcodes' text=text icon="fa-qrcode" %}
+{% trans "Currencies" as text %}
+{% include "sidebar_item.html" with label='currencies' text=text icon="fa-dollar-sign" %}
+{% trans "Reporting" as text %}
+{% include "sidebar_item.html" with label='reporting' text=text icon="fa-file-pdf" %}
+{% trans "Parts" as text %}
+{% include "sidebar_item.html" with label='parts' text=text icon="fa-shapes" %}
+{% trans "Categories" as text %}
+{% include "sidebar_item.html" with label='category' text=text icon="fa-sitemap" %}
+{% trans "Stock" as text %}
+{% include "sidebar_item.html" with label='stock' text=text icon="fa-boxes" %}
+{% trans "Build Orders" as text %}
+{% include "sidebar_item.html" with label='build-order' text=text icon="fa-tools" %}
+{% trans "Purchase Orders" as text %}
+{% include "sidebar_item.html" with label='purchase-order' text=text icon="fa-shopping-cart" %}
+{% trans "Sales Orders" as text %}
+{% include "sidebar_item.html" with label='sales-order' text=text icon="fa-truck" %}
{% endif %}
\ No newline at end of file