From 4b545308560413ea3a87e63d95677100c5dff80b Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Tue, 17 Aug 2021 02:43:57 +0000
Subject: [PATCH] updated translation base
---
InvenTree/locale/de/LC_MESSAGES/django.po | 66 ++++++++++++-----------
InvenTree/locale/el/LC_MESSAGES/django.po | 64 +++++++++++-----------
InvenTree/locale/en/LC_MESSAGES/django.po | 64 +++++++++++-----------
InvenTree/locale/es/LC_MESSAGES/django.po | 64 +++++++++++-----------
InvenTree/locale/fr/LC_MESSAGES/django.po | 64 +++++++++++-----------
InvenTree/locale/he/LC_MESSAGES/django.po | 64 +++++++++++-----------
InvenTree/locale/id/LC_MESSAGES/django.po | 64 +++++++++++-----------
InvenTree/locale/it/LC_MESSAGES/django.po | 64 +++++++++++-----------
InvenTree/locale/ja/LC_MESSAGES/django.po | 64 +++++++++++-----------
InvenTree/locale/ko/LC_MESSAGES/django.po | 64 +++++++++++-----------
InvenTree/locale/nl/LC_MESSAGES/django.po | 66 ++++++++++++-----------
InvenTree/locale/no/LC_MESSAGES/django.po | 64 +++++++++++-----------
InvenTree/locale/pl/LC_MESSAGES/django.po | 66 ++++++++++++-----------
InvenTree/locale/ru/LC_MESSAGES/django.po | 64 +++++++++++-----------
InvenTree/locale/sv/LC_MESSAGES/django.po | 64 +++++++++++-----------
InvenTree/locale/th/LC_MESSAGES/django.po | 64 +++++++++++-----------
InvenTree/locale/tr/LC_MESSAGES/django.po | 66 ++++++++++++-----------
InvenTree/locale/vi/LC_MESSAGES/django.po | 64 +++++++++++-----------
InvenTree/locale/zh/LC_MESSAGES/django.po | 64 +++++++++++-----------
19 files changed, 654 insertions(+), 570 deletions(-)
diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po
index f9ddab74ce..4718950508 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-08-17 00:00+0000\n"
+"POT-Creation-Date: 2021-08-17 02:43+0000\n"
"PO-Revision-Date: 2021-08-16 01:44\n"
"Last-Translator: \n"
"Language-Team: German\n"
@@ -163,7 +163,7 @@ msgstr "Ungültige Auswahl"
#: part/templates/part/part_base.html:234 report/models.py:181
#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
#: templates/js/translated/company.js:592 templates/js/translated/part.js:438
-#: templates/js/translated/part.js:571 templates/js/translated/part.js:1063
+#: templates/js/translated/part.js:571 templates/js/translated/part.js:1075
#: templates/js/translated/stock.js:1345
msgid "Name"
msgstr "Name"
@@ -186,7 +186,7 @@ msgstr "Name"
#: templates/js/translated/company.js:788 templates/js/translated/order.js:267
#: templates/js/translated/order.js:369 templates/js/translated/part.js:497
#: templates/js/translated/part.js:681 templates/js/translated/part.js:858
-#: templates/js/translated/part.js:1075 templates/js/translated/part.js:1143
+#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1155
#: templates/js/translated/stock.js:929 templates/js/translated/stock.js:1357
#: templates/js/translated/stock.js:1402
msgid "Description"
@@ -575,8 +575,8 @@ msgstr "Zieldatum für Bauauftrag-Fertigstellung."
#: templates/js/translated/build.js:271 templates/js/translated/build.js:606
#: templates/js/translated/build.js:1172
#: templates/js/translated/model_renderers.js:56
-#: templates/js/translated/order.js:482 templates/js/translated/part.js:1249
-#: templates/js/translated/part.js:1372 templates/js/translated/part.js:1428
+#: templates/js/translated/order.js:482 templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1384 templates/js/translated/part.js:1440
#: templates/js/translated/stock.js:1537 templates/js/translated/stock.js:1735
msgid "Quantity"
msgstr "Anzahl"
@@ -2117,7 +2117,7 @@ msgid "Price break quantity"
msgstr "Preisstaffelungs Anzahl"
#: common/models.py:990 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1254
+#: templates/js/translated/part.js:1266
msgid "Price"
msgstr "Preis"
@@ -3492,7 +3492,7 @@ msgstr "Summe"
#: order/templates/order/purchase_order_detail.html:361
#: order/templates/order/sales_order_detail.html:377
-#: templates/js/translated/part.js:1229 templates/js/translated/part.js:1419
+#: templates/js/translated/part.js:1241 templates/js/translated/part.js:1431
msgid "Unit Price"
msgstr "Stück-Preis"
@@ -3532,7 +3532,7 @@ msgstr "Ausstehende Teile für %(order)s - %(desc)s empfangen"
#: 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:1087 templates/navbar.html:23
+#: templates/js/translated/part.js:1099 templates/navbar.html:23
#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr "Teile"
@@ -4187,7 +4187,7 @@ msgstr "Test-Vorlagen können nur für verfolgbare Teile angelegt werden"
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:2117 templates/js/translated/part.js:1138
+#: part/models.py:2117 templates/js/translated/part.js:1150
#: templates/js/translated/stock.js:487
msgid "Test Name"
msgstr "Test-Name"
@@ -4204,7 +4204,7 @@ msgstr "Test-Beschreibung"
msgid "Enter description for this test"
msgstr "Beschreibung für diesen Test eingeben"
-#: part/models.py:2129 templates/js/translated/part.js:1147
+#: part/models.py:2129 templates/js/translated/part.js:1159
#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr "Benötigt"
@@ -4213,7 +4213,7 @@ msgstr "Benötigt"
msgid "Is this test required to pass?"
msgstr "Muss dieser Test erfolgreich sein?"
-#: part/models.py:2135 templates/js/translated/part.js:1155
+#: part/models.py:2135 templates/js/translated/part.js:1167
msgid "Requires Value"
msgstr "Erfordert Wert"
@@ -4221,7 +4221,7 @@ msgstr "Erfordert Wert"
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:2141 templates/js/translated/part.js:1162
+#: part/models.py:2141 templates/js/translated/part.js:1174
msgid "Requires Attachment"
msgstr "Anhang muss eingegeben werden"
@@ -4487,7 +4487,7 @@ msgstr "Pfad zur Kategorie"
msgid "Category Description"
msgstr "Kategorie-Beschreibung"
-#: part/templates/part/category.html:88 part/templates/part/category.html:174
+#: 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
msgid "Subcategories"
@@ -4501,7 +4501,7 @@ msgstr "Teile (inklusive Unter-Kategorien)"
msgid "Export Part Data"
msgstr "Teile-Daten exportieren"
-#: part/templates/part/category.html:127 part/templates/part/category.html:141
+#: part/templates/part/category.html:127 part/templates/part/category.html:142
msgid "Export"
msgstr "Exportieren"
@@ -4522,26 +4522,32 @@ msgid "Set Category"
msgstr "Teil-Kategorie auswählen"
#: part/templates/part/category.html:141
+#, fuzzy
+#| msgid "Print Label"
+msgid "Print Labels"
+msgstr "Label drucken"
+
+#: part/templates/part/category.html:142
msgid "Export Data"
msgstr "Exportieren"
-#: part/templates/part/category.html:145
+#: part/templates/part/category.html:146
msgid "View list display"
msgstr "Listenansicht anzeigen"
-#: part/templates/part/category.html:148
+#: part/templates/part/category.html:149
msgid "View grid display"
msgstr "Rasteransicht anzeigen"
-#: part/templates/part/category.html:164
+#: part/templates/part/category.html:165
msgid "Part Parameters"
msgstr "Teilparameter"
-#: part/templates/part/category.html:253
+#: part/templates/part/category.html:254
msgid "Create Part Category"
msgstr "Teil-Kategorie hinzufügen"
-#: part/templates/part/category.html:280
+#: part/templates/part/category.html:281
msgid "Create Part"
msgstr "Teil hinzufügen"
@@ -6905,7 +6911,7 @@ msgid "No builds matching query"
msgstr "Keine Bauaufträge passen zur Anfrage"
#: templates/js/translated/build.js:840 templates/js/translated/part.js:811
-#: templates/js/translated/part.js:1056 templates/js/translated/stock.js:886
+#: templates/js/translated/part.js:1068 templates/js/translated/stock.js:886
#: templates/js/translated/stock.js:1339
msgid "Select"
msgstr "Auswählen"
@@ -7379,46 +7385,46 @@ msgstr "Keine Kategorie"
msgid "Low stock"
msgstr "Bestand niedrig"
-#: templates/js/translated/part.js:1081 templates/js/translated/stock.js:1363
+#: templates/js/translated/part.js:1093 templates/js/translated/stock.js:1363
msgid "Path"
msgstr "Pfad"
-#: templates/js/translated/part.js:1124
+#: templates/js/translated/part.js:1136
msgid "No test templates matching query"
msgstr "Keine zur Anfrage passenden Testvorlagen"
-#: templates/js/translated/part.js:1175 templates/js/translated/stock.js:445
+#: templates/js/translated/part.js:1187 templates/js/translated/stock.js:445
msgid "Edit test result"
msgstr "Testergebnis bearbeiten"
-#: templates/js/translated/part.js:1176 templates/js/translated/stock.js:446
+#: templates/js/translated/part.js:1188 templates/js/translated/stock.js:446
msgid "Delete test result"
msgstr "Testergebnis löschen"
-#: templates/js/translated/part.js:1182
+#: templates/js/translated/part.js:1194
msgid "This test is defined for a parent part"
msgstr "Dieses Testergebnis ist für ein Hauptteil"
-#: templates/js/translated/part.js:1207
+#: templates/js/translated/part.js:1219
#, python-brace-format
msgid "No ${human_name} information found"
msgstr "Keine ${human_name} Informationen gefunden"
-#: templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1273
#, python-brace-format
msgid "Edit ${human_name}"
msgstr "${human_name} bearbeiten"
-#: templates/js/translated/part.js:1262
+#: templates/js/translated/part.js:1274
#, python-brace-format
msgid "Delete ${human_name}"
msgstr "${human_name} löschen"
-#: templates/js/translated/part.js:1363
+#: templates/js/translated/part.js:1375
msgid "Single Price"
msgstr "Einzelpreis"
-#: templates/js/translated/part.js:1382
+#: templates/js/translated/part.js:1394
msgid "Single Price Difference"
msgstr "Einzelpreisdifferenz"
diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po
index 5b26e40fd4..6190e56372 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-08-17 00:00+0000\n"
+"POT-Creation-Date: 2021-08-17 02:43+0000\n"
"PO-Revision-Date: 2021-08-16 01:44\n"
"Last-Translator: \n"
"Language-Team: Greek\n"
@@ -163,7 +163,7 @@ msgstr ""
#: part/templates/part/part_base.html:234 report/models.py:181
#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
#: templates/js/translated/company.js:592 templates/js/translated/part.js:438
-#: templates/js/translated/part.js:571 templates/js/translated/part.js:1063
+#: templates/js/translated/part.js:571 templates/js/translated/part.js:1075
#: templates/js/translated/stock.js:1345
msgid "Name"
msgstr ""
@@ -186,7 +186,7 @@ msgstr ""
#: templates/js/translated/company.js:788 templates/js/translated/order.js:267
#: templates/js/translated/order.js:369 templates/js/translated/part.js:497
#: templates/js/translated/part.js:681 templates/js/translated/part.js:858
-#: templates/js/translated/part.js:1075 templates/js/translated/part.js:1143
+#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1155
#: templates/js/translated/stock.js:929 templates/js/translated/stock.js:1357
#: templates/js/translated/stock.js:1402
msgid "Description"
@@ -575,8 +575,8 @@ msgstr ""
#: templates/js/translated/build.js:271 templates/js/translated/build.js:606
#: templates/js/translated/build.js:1172
#: templates/js/translated/model_renderers.js:56
-#: templates/js/translated/order.js:482 templates/js/translated/part.js:1249
-#: templates/js/translated/part.js:1372 templates/js/translated/part.js:1428
+#: templates/js/translated/order.js:482 templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1384 templates/js/translated/part.js:1440
#: templates/js/translated/stock.js:1537 templates/js/translated/stock.js:1735
msgid "Quantity"
msgstr ""
@@ -2117,7 +2117,7 @@ msgid "Price break quantity"
msgstr ""
#: common/models.py:990 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1254
+#: templates/js/translated/part.js:1266
msgid "Price"
msgstr ""
@@ -3492,7 +3492,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:361
#: order/templates/order/sales_order_detail.html:377
-#: templates/js/translated/part.js:1229 templates/js/translated/part.js:1419
+#: templates/js/translated/part.js:1241 templates/js/translated/part.js:1431
msgid "Unit Price"
msgstr ""
@@ -3532,7 +3532,7 @@ msgstr ""
#: 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:1087 templates/navbar.html:23
+#: templates/js/translated/part.js:1099 templates/navbar.html:23
#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr ""
@@ -4187,7 +4187,7 @@ msgstr ""
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2117 templates/js/translated/part.js:1138
+#: part/models.py:2117 templates/js/translated/part.js:1150
#: templates/js/translated/stock.js:487
msgid "Test Name"
msgstr ""
@@ -4204,7 +4204,7 @@ msgstr ""
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2129 templates/js/translated/part.js:1147
+#: part/models.py:2129 templates/js/translated/part.js:1159
#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
@@ -4213,7 +4213,7 @@ msgstr ""
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2135 templates/js/translated/part.js:1155
+#: part/models.py:2135 templates/js/translated/part.js:1167
msgid "Requires Value"
msgstr ""
@@ -4221,7 +4221,7 @@ msgstr ""
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2141 templates/js/translated/part.js:1162
+#: part/models.py:2141 templates/js/translated/part.js:1174
msgid "Requires Attachment"
msgstr ""
@@ -4487,7 +4487,7 @@ msgstr ""
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:174
+#: 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
msgid "Subcategories"
@@ -4501,7 +4501,7 @@ msgstr ""
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:141
+#: part/templates/part/category.html:127 part/templates/part/category.html:142
msgid "Export"
msgstr ""
@@ -4522,26 +4522,30 @@ msgid "Set Category"
msgstr ""
#: part/templates/part/category.html:141
+msgid "Print Labels"
+msgstr ""
+
+#: part/templates/part/category.html:142
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:145
+#: part/templates/part/category.html:146
msgid "View list display"
msgstr ""
-#: part/templates/part/category.html:148
+#: part/templates/part/category.html:149
msgid "View grid display"
msgstr ""
-#: part/templates/part/category.html:164
+#: part/templates/part/category.html:165
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:253
+#: part/templates/part/category.html:254
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:280
+#: part/templates/part/category.html:281
msgid "Create Part"
msgstr ""
@@ -6905,7 +6909,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:840 templates/js/translated/part.js:811
-#: templates/js/translated/part.js:1056 templates/js/translated/stock.js:886
+#: templates/js/translated/part.js:1068 templates/js/translated/stock.js:886
#: templates/js/translated/stock.js:1339
msgid "Select"
msgstr ""
@@ -7379,46 +7383,46 @@ msgstr ""
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1081 templates/js/translated/stock.js:1363
+#: templates/js/translated/part.js:1093 templates/js/translated/stock.js:1363
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1124
+#: templates/js/translated/part.js:1136
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1175 templates/js/translated/stock.js:445
+#: templates/js/translated/part.js:1187 templates/js/translated/stock.js:445
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1176 templates/js/translated/stock.js:446
+#: templates/js/translated/part.js:1188 templates/js/translated/stock.js:446
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1182
+#: templates/js/translated/part.js:1194
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1207
+#: templates/js/translated/part.js:1219
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1273
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1262
+#: templates/js/translated/part.js:1274
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1363
+#: templates/js/translated/part.js:1375
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1382
+#: templates/js/translated/part.js:1394
msgid "Single Price Difference"
msgstr ""
diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po
index 91e021b263..30a85f2e15 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-08-17 00:00+0000\n"
+"POT-Creation-Date: 2021-08-17 02:43+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -164,7 +164,7 @@ msgstr ""
#: part/templates/part/part_base.html:234 report/models.py:181
#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
#: templates/js/translated/company.js:592 templates/js/translated/part.js:438
-#: templates/js/translated/part.js:571 templates/js/translated/part.js:1063
+#: templates/js/translated/part.js:571 templates/js/translated/part.js:1075
#: templates/js/translated/stock.js:1345
msgid "Name"
msgstr ""
@@ -187,7 +187,7 @@ msgstr ""
#: templates/js/translated/company.js:788 templates/js/translated/order.js:267
#: templates/js/translated/order.js:369 templates/js/translated/part.js:497
#: templates/js/translated/part.js:681 templates/js/translated/part.js:858
-#: templates/js/translated/part.js:1075 templates/js/translated/part.js:1143
+#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1155
#: templates/js/translated/stock.js:929 templates/js/translated/stock.js:1357
#: templates/js/translated/stock.js:1402
msgid "Description"
@@ -576,8 +576,8 @@ msgstr ""
#: templates/js/translated/build.js:271 templates/js/translated/build.js:606
#: templates/js/translated/build.js:1172
#: templates/js/translated/model_renderers.js:56
-#: templates/js/translated/order.js:482 templates/js/translated/part.js:1249
-#: templates/js/translated/part.js:1372 templates/js/translated/part.js:1428
+#: templates/js/translated/order.js:482 templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1384 templates/js/translated/part.js:1440
#: templates/js/translated/stock.js:1537 templates/js/translated/stock.js:1735
msgid "Quantity"
msgstr ""
@@ -2118,7 +2118,7 @@ msgid "Price break quantity"
msgstr ""
#: common/models.py:990 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1254
+#: templates/js/translated/part.js:1266
msgid "Price"
msgstr ""
@@ -3493,7 +3493,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:361
#: order/templates/order/sales_order_detail.html:377
-#: templates/js/translated/part.js:1229 templates/js/translated/part.js:1419
+#: templates/js/translated/part.js:1241 templates/js/translated/part.js:1431
msgid "Unit Price"
msgstr ""
@@ -3533,7 +3533,7 @@ msgstr ""
#: 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:1087 templates/navbar.html:23
+#: templates/js/translated/part.js:1099 templates/navbar.html:23
#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr ""
@@ -4188,7 +4188,7 @@ msgstr ""
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2117 templates/js/translated/part.js:1138
+#: part/models.py:2117 templates/js/translated/part.js:1150
#: templates/js/translated/stock.js:487
msgid "Test Name"
msgstr ""
@@ -4205,7 +4205,7 @@ msgstr ""
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2129 templates/js/translated/part.js:1147
+#: part/models.py:2129 templates/js/translated/part.js:1159
#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
@@ -4214,7 +4214,7 @@ msgstr ""
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2135 templates/js/translated/part.js:1155
+#: part/models.py:2135 templates/js/translated/part.js:1167
msgid "Requires Value"
msgstr ""
@@ -4222,7 +4222,7 @@ msgstr ""
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2141 templates/js/translated/part.js:1162
+#: part/models.py:2141 templates/js/translated/part.js:1174
msgid "Requires Attachment"
msgstr ""
@@ -4488,7 +4488,7 @@ msgstr ""
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:174
+#: 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
msgid "Subcategories"
@@ -4502,7 +4502,7 @@ msgstr ""
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:141
+#: part/templates/part/category.html:127 part/templates/part/category.html:142
msgid "Export"
msgstr ""
@@ -4523,26 +4523,30 @@ msgid "Set Category"
msgstr ""
#: part/templates/part/category.html:141
+msgid "Print Labels"
+msgstr ""
+
+#: part/templates/part/category.html:142
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:145
+#: part/templates/part/category.html:146
msgid "View list display"
msgstr ""
-#: part/templates/part/category.html:148
+#: part/templates/part/category.html:149
msgid "View grid display"
msgstr ""
-#: part/templates/part/category.html:164
+#: part/templates/part/category.html:165
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:253
+#: part/templates/part/category.html:254
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:280
+#: part/templates/part/category.html:281
msgid "Create Part"
msgstr ""
@@ -6906,7 +6910,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:840 templates/js/translated/part.js:811
-#: templates/js/translated/part.js:1056 templates/js/translated/stock.js:886
+#: templates/js/translated/part.js:1068 templates/js/translated/stock.js:886
#: templates/js/translated/stock.js:1339
msgid "Select"
msgstr ""
@@ -7380,46 +7384,46 @@ msgstr ""
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1081 templates/js/translated/stock.js:1363
+#: templates/js/translated/part.js:1093 templates/js/translated/stock.js:1363
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1124
+#: templates/js/translated/part.js:1136
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1175 templates/js/translated/stock.js:445
+#: templates/js/translated/part.js:1187 templates/js/translated/stock.js:445
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1176 templates/js/translated/stock.js:446
+#: templates/js/translated/part.js:1188 templates/js/translated/stock.js:446
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1182
+#: templates/js/translated/part.js:1194
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1207
+#: templates/js/translated/part.js:1219
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1273
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1262
+#: templates/js/translated/part.js:1274
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1363
+#: templates/js/translated/part.js:1375
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1382
+#: templates/js/translated/part.js:1394
msgid "Single Price Difference"
msgstr ""
diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po
index f8529ad2bb..69238a2bea 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-08-17 00:00+0000\n"
+"POT-Creation-Date: 2021-08-17 02:43+0000\n"
"PO-Revision-Date: 2021-08-16 01:44\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
@@ -163,7 +163,7 @@ msgstr ""
#: part/templates/part/part_base.html:234 report/models.py:181
#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
#: templates/js/translated/company.js:592 templates/js/translated/part.js:438
-#: templates/js/translated/part.js:571 templates/js/translated/part.js:1063
+#: templates/js/translated/part.js:571 templates/js/translated/part.js:1075
#: templates/js/translated/stock.js:1345
msgid "Name"
msgstr "Nombre"
@@ -186,7 +186,7 @@ msgstr "Nombre"
#: templates/js/translated/company.js:788 templates/js/translated/order.js:267
#: templates/js/translated/order.js:369 templates/js/translated/part.js:497
#: templates/js/translated/part.js:681 templates/js/translated/part.js:858
-#: templates/js/translated/part.js:1075 templates/js/translated/part.js:1143
+#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1155
#: templates/js/translated/stock.js:929 templates/js/translated/stock.js:1357
#: templates/js/translated/stock.js:1402
msgid "Description"
@@ -575,8 +575,8 @@ msgstr ""
#: templates/js/translated/build.js:271 templates/js/translated/build.js:606
#: templates/js/translated/build.js:1172
#: templates/js/translated/model_renderers.js:56
-#: templates/js/translated/order.js:482 templates/js/translated/part.js:1249
-#: templates/js/translated/part.js:1372 templates/js/translated/part.js:1428
+#: templates/js/translated/order.js:482 templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1384 templates/js/translated/part.js:1440
#: templates/js/translated/stock.js:1537 templates/js/translated/stock.js:1735
msgid "Quantity"
msgstr "Cantidad"
@@ -2117,7 +2117,7 @@ msgid "Price break quantity"
msgstr ""
#: common/models.py:990 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1254
+#: templates/js/translated/part.js:1266
msgid "Price"
msgstr ""
@@ -3492,7 +3492,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:361
#: order/templates/order/sales_order_detail.html:377
-#: templates/js/translated/part.js:1229 templates/js/translated/part.js:1419
+#: templates/js/translated/part.js:1241 templates/js/translated/part.js:1431
msgid "Unit Price"
msgstr ""
@@ -3532,7 +3532,7 @@ msgstr ""
#: 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:1087 templates/navbar.html:23
+#: templates/js/translated/part.js:1099 templates/navbar.html:23
#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr ""
@@ -4187,7 +4187,7 @@ msgstr ""
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2117 templates/js/translated/part.js:1138
+#: part/models.py:2117 templates/js/translated/part.js:1150
#: templates/js/translated/stock.js:487
msgid "Test Name"
msgstr ""
@@ -4204,7 +4204,7 @@ msgstr ""
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2129 templates/js/translated/part.js:1147
+#: part/models.py:2129 templates/js/translated/part.js:1159
#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
@@ -4213,7 +4213,7 @@ msgstr ""
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2135 templates/js/translated/part.js:1155
+#: part/models.py:2135 templates/js/translated/part.js:1167
msgid "Requires Value"
msgstr ""
@@ -4221,7 +4221,7 @@ msgstr ""
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2141 templates/js/translated/part.js:1162
+#: part/models.py:2141 templates/js/translated/part.js:1174
msgid "Requires Attachment"
msgstr ""
@@ -4487,7 +4487,7 @@ msgstr ""
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:174
+#: 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
msgid "Subcategories"
@@ -4501,7 +4501,7 @@ msgstr ""
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:141
+#: part/templates/part/category.html:127 part/templates/part/category.html:142
msgid "Export"
msgstr "Exportar"
@@ -4522,26 +4522,30 @@ msgid "Set Category"
msgstr ""
#: part/templates/part/category.html:141
+msgid "Print Labels"
+msgstr ""
+
+#: part/templates/part/category.html:142
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:145
+#: part/templates/part/category.html:146
msgid "View list display"
msgstr ""
-#: part/templates/part/category.html:148
+#: part/templates/part/category.html:149
msgid "View grid display"
msgstr ""
-#: part/templates/part/category.html:164
+#: part/templates/part/category.html:165
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:253
+#: part/templates/part/category.html:254
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:280
+#: part/templates/part/category.html:281
msgid "Create Part"
msgstr ""
@@ -6905,7 +6909,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:840 templates/js/translated/part.js:811
-#: templates/js/translated/part.js:1056 templates/js/translated/stock.js:886
+#: templates/js/translated/part.js:1068 templates/js/translated/stock.js:886
#: templates/js/translated/stock.js:1339
msgid "Select"
msgstr ""
@@ -7379,46 +7383,46 @@ msgstr ""
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1081 templates/js/translated/stock.js:1363
+#: templates/js/translated/part.js:1093 templates/js/translated/stock.js:1363
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1124
+#: templates/js/translated/part.js:1136
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1175 templates/js/translated/stock.js:445
+#: templates/js/translated/part.js:1187 templates/js/translated/stock.js:445
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1176 templates/js/translated/stock.js:446
+#: templates/js/translated/part.js:1188 templates/js/translated/stock.js:446
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1182
+#: templates/js/translated/part.js:1194
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1207
+#: templates/js/translated/part.js:1219
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1273
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1262
+#: templates/js/translated/part.js:1274
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1363
+#: templates/js/translated/part.js:1375
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1382
+#: templates/js/translated/part.js:1394
msgid "Single Price Difference"
msgstr ""
diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po
index 469926c14f..40ae745c24 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-08-17 00:00+0000\n"
+"POT-Creation-Date: 2021-08-17 02:43+0000\n"
"PO-Revision-Date: 2021-08-16 01:44\n"
"Last-Translator: \n"
"Language-Team: French\n"
@@ -163,7 +163,7 @@ msgstr ""
#: part/templates/part/part_base.html:234 report/models.py:181
#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
#: templates/js/translated/company.js:592 templates/js/translated/part.js:438
-#: templates/js/translated/part.js:571 templates/js/translated/part.js:1063
+#: templates/js/translated/part.js:571 templates/js/translated/part.js:1075
#: templates/js/translated/stock.js:1345
msgid "Name"
msgstr "Nom"
@@ -186,7 +186,7 @@ msgstr "Nom"
#: templates/js/translated/company.js:788 templates/js/translated/order.js:267
#: templates/js/translated/order.js:369 templates/js/translated/part.js:497
#: templates/js/translated/part.js:681 templates/js/translated/part.js:858
-#: templates/js/translated/part.js:1075 templates/js/translated/part.js:1143
+#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1155
#: templates/js/translated/stock.js:929 templates/js/translated/stock.js:1357
#: templates/js/translated/stock.js:1402
msgid "Description"
@@ -575,8 +575,8 @@ msgstr ""
#: templates/js/translated/build.js:271 templates/js/translated/build.js:606
#: templates/js/translated/build.js:1172
#: templates/js/translated/model_renderers.js:56
-#: templates/js/translated/order.js:482 templates/js/translated/part.js:1249
-#: templates/js/translated/part.js:1372 templates/js/translated/part.js:1428
+#: templates/js/translated/order.js:482 templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1384 templates/js/translated/part.js:1440
#: templates/js/translated/stock.js:1537 templates/js/translated/stock.js:1735
msgid "Quantity"
msgstr "Quantité"
@@ -2117,7 +2117,7 @@ msgid "Price break quantity"
msgstr ""
#: common/models.py:990 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1254
+#: templates/js/translated/part.js:1266
msgid "Price"
msgstr ""
@@ -3492,7 +3492,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:361
#: order/templates/order/sales_order_detail.html:377
-#: templates/js/translated/part.js:1229 templates/js/translated/part.js:1419
+#: templates/js/translated/part.js:1241 templates/js/translated/part.js:1431
msgid "Unit Price"
msgstr ""
@@ -3532,7 +3532,7 @@ msgstr ""
#: 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:1087 templates/navbar.html:23
+#: templates/js/translated/part.js:1099 templates/navbar.html:23
#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr ""
@@ -4187,7 +4187,7 @@ msgstr ""
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2117 templates/js/translated/part.js:1138
+#: part/models.py:2117 templates/js/translated/part.js:1150
#: templates/js/translated/stock.js:487
msgid "Test Name"
msgstr ""
@@ -4204,7 +4204,7 @@ msgstr ""
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2129 templates/js/translated/part.js:1147
+#: part/models.py:2129 templates/js/translated/part.js:1159
#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
@@ -4213,7 +4213,7 @@ msgstr ""
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2135 templates/js/translated/part.js:1155
+#: part/models.py:2135 templates/js/translated/part.js:1167
msgid "Requires Value"
msgstr ""
@@ -4221,7 +4221,7 @@ msgstr ""
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2141 templates/js/translated/part.js:1162
+#: part/models.py:2141 templates/js/translated/part.js:1174
msgid "Requires Attachment"
msgstr ""
@@ -4487,7 +4487,7 @@ msgstr ""
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:174
+#: 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
msgid "Subcategories"
@@ -4501,7 +4501,7 @@ msgstr ""
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:141
+#: part/templates/part/category.html:127 part/templates/part/category.html:142
msgid "Export"
msgstr ""
@@ -4522,26 +4522,30 @@ msgid "Set Category"
msgstr ""
#: part/templates/part/category.html:141
+msgid "Print Labels"
+msgstr ""
+
+#: part/templates/part/category.html:142
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:145
+#: part/templates/part/category.html:146
msgid "View list display"
msgstr ""
-#: part/templates/part/category.html:148
+#: part/templates/part/category.html:149
msgid "View grid display"
msgstr ""
-#: part/templates/part/category.html:164
+#: part/templates/part/category.html:165
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:253
+#: part/templates/part/category.html:254
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:280
+#: part/templates/part/category.html:281
msgid "Create Part"
msgstr ""
@@ -6905,7 +6909,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:840 templates/js/translated/part.js:811
-#: templates/js/translated/part.js:1056 templates/js/translated/stock.js:886
+#: templates/js/translated/part.js:1068 templates/js/translated/stock.js:886
#: templates/js/translated/stock.js:1339
msgid "Select"
msgstr ""
@@ -7379,46 +7383,46 @@ msgstr ""
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1081 templates/js/translated/stock.js:1363
+#: templates/js/translated/part.js:1093 templates/js/translated/stock.js:1363
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1124
+#: templates/js/translated/part.js:1136
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1175 templates/js/translated/stock.js:445
+#: templates/js/translated/part.js:1187 templates/js/translated/stock.js:445
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1176 templates/js/translated/stock.js:446
+#: templates/js/translated/part.js:1188 templates/js/translated/stock.js:446
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1182
+#: templates/js/translated/part.js:1194
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1207
+#: templates/js/translated/part.js:1219
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1273
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1262
+#: templates/js/translated/part.js:1274
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1363
+#: templates/js/translated/part.js:1375
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1382
+#: templates/js/translated/part.js:1394
msgid "Single Price Difference"
msgstr ""
diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po
index d6ebffb590..018e2a2f63 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-08-17 00:00+0000\n"
+"POT-Creation-Date: 2021-08-17 02:43+0000\n"
"PO-Revision-Date: 2021-08-16 01:44\n"
"Last-Translator: \n"
"Language-Team: Hebrew\n"
@@ -163,7 +163,7 @@ msgstr ""
#: part/templates/part/part_base.html:234 report/models.py:181
#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
#: templates/js/translated/company.js:592 templates/js/translated/part.js:438
-#: templates/js/translated/part.js:571 templates/js/translated/part.js:1063
+#: templates/js/translated/part.js:571 templates/js/translated/part.js:1075
#: templates/js/translated/stock.js:1345
msgid "Name"
msgstr ""
@@ -186,7 +186,7 @@ msgstr ""
#: templates/js/translated/company.js:788 templates/js/translated/order.js:267
#: templates/js/translated/order.js:369 templates/js/translated/part.js:497
#: templates/js/translated/part.js:681 templates/js/translated/part.js:858
-#: templates/js/translated/part.js:1075 templates/js/translated/part.js:1143
+#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1155
#: templates/js/translated/stock.js:929 templates/js/translated/stock.js:1357
#: templates/js/translated/stock.js:1402
msgid "Description"
@@ -575,8 +575,8 @@ msgstr ""
#: templates/js/translated/build.js:271 templates/js/translated/build.js:606
#: templates/js/translated/build.js:1172
#: templates/js/translated/model_renderers.js:56
-#: templates/js/translated/order.js:482 templates/js/translated/part.js:1249
-#: templates/js/translated/part.js:1372 templates/js/translated/part.js:1428
+#: templates/js/translated/order.js:482 templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1384 templates/js/translated/part.js:1440
#: templates/js/translated/stock.js:1537 templates/js/translated/stock.js:1735
msgid "Quantity"
msgstr ""
@@ -2117,7 +2117,7 @@ msgid "Price break quantity"
msgstr ""
#: common/models.py:990 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1254
+#: templates/js/translated/part.js:1266
msgid "Price"
msgstr ""
@@ -3492,7 +3492,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:361
#: order/templates/order/sales_order_detail.html:377
-#: templates/js/translated/part.js:1229 templates/js/translated/part.js:1419
+#: templates/js/translated/part.js:1241 templates/js/translated/part.js:1431
msgid "Unit Price"
msgstr ""
@@ -3532,7 +3532,7 @@ msgstr ""
#: 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:1087 templates/navbar.html:23
+#: templates/js/translated/part.js:1099 templates/navbar.html:23
#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr ""
@@ -4187,7 +4187,7 @@ msgstr ""
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2117 templates/js/translated/part.js:1138
+#: part/models.py:2117 templates/js/translated/part.js:1150
#: templates/js/translated/stock.js:487
msgid "Test Name"
msgstr ""
@@ -4204,7 +4204,7 @@ msgstr ""
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2129 templates/js/translated/part.js:1147
+#: part/models.py:2129 templates/js/translated/part.js:1159
#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
@@ -4213,7 +4213,7 @@ msgstr ""
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2135 templates/js/translated/part.js:1155
+#: part/models.py:2135 templates/js/translated/part.js:1167
msgid "Requires Value"
msgstr ""
@@ -4221,7 +4221,7 @@ msgstr ""
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2141 templates/js/translated/part.js:1162
+#: part/models.py:2141 templates/js/translated/part.js:1174
msgid "Requires Attachment"
msgstr ""
@@ -4487,7 +4487,7 @@ msgstr ""
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:174
+#: 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
msgid "Subcategories"
@@ -4501,7 +4501,7 @@ msgstr ""
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:141
+#: part/templates/part/category.html:127 part/templates/part/category.html:142
msgid "Export"
msgstr ""
@@ -4522,26 +4522,30 @@ msgid "Set Category"
msgstr ""
#: part/templates/part/category.html:141
+msgid "Print Labels"
+msgstr ""
+
+#: part/templates/part/category.html:142
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:145
+#: part/templates/part/category.html:146
msgid "View list display"
msgstr ""
-#: part/templates/part/category.html:148
+#: part/templates/part/category.html:149
msgid "View grid display"
msgstr ""
-#: part/templates/part/category.html:164
+#: part/templates/part/category.html:165
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:253
+#: part/templates/part/category.html:254
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:280
+#: part/templates/part/category.html:281
msgid "Create Part"
msgstr ""
@@ -6905,7 +6909,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:840 templates/js/translated/part.js:811
-#: templates/js/translated/part.js:1056 templates/js/translated/stock.js:886
+#: templates/js/translated/part.js:1068 templates/js/translated/stock.js:886
#: templates/js/translated/stock.js:1339
msgid "Select"
msgstr ""
@@ -7379,46 +7383,46 @@ msgstr ""
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1081 templates/js/translated/stock.js:1363
+#: templates/js/translated/part.js:1093 templates/js/translated/stock.js:1363
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1124
+#: templates/js/translated/part.js:1136
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1175 templates/js/translated/stock.js:445
+#: templates/js/translated/part.js:1187 templates/js/translated/stock.js:445
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1176 templates/js/translated/stock.js:446
+#: templates/js/translated/part.js:1188 templates/js/translated/stock.js:446
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1182
+#: templates/js/translated/part.js:1194
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1207
+#: templates/js/translated/part.js:1219
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1273
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1262
+#: templates/js/translated/part.js:1274
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1363
+#: templates/js/translated/part.js:1375
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1382
+#: templates/js/translated/part.js:1394
msgid "Single Price Difference"
msgstr ""
diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po
index 2dfdf2df67..de58381a56 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-08-17 00:00+0000\n"
+"POT-Creation-Date: 2021-08-17 02:43+0000\n"
"PO-Revision-Date: 2021-08-16 01:44\n"
"Last-Translator: \n"
"Language-Team: Indonesian\n"
@@ -163,7 +163,7 @@ msgstr ""
#: part/templates/part/part_base.html:234 report/models.py:181
#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
#: templates/js/translated/company.js:592 templates/js/translated/part.js:438
-#: templates/js/translated/part.js:571 templates/js/translated/part.js:1063
+#: templates/js/translated/part.js:571 templates/js/translated/part.js:1075
#: templates/js/translated/stock.js:1345
msgid "Name"
msgstr ""
@@ -186,7 +186,7 @@ msgstr ""
#: templates/js/translated/company.js:788 templates/js/translated/order.js:267
#: templates/js/translated/order.js:369 templates/js/translated/part.js:497
#: templates/js/translated/part.js:681 templates/js/translated/part.js:858
-#: templates/js/translated/part.js:1075 templates/js/translated/part.js:1143
+#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1155
#: templates/js/translated/stock.js:929 templates/js/translated/stock.js:1357
#: templates/js/translated/stock.js:1402
msgid "Description"
@@ -575,8 +575,8 @@ msgstr ""
#: templates/js/translated/build.js:271 templates/js/translated/build.js:606
#: templates/js/translated/build.js:1172
#: templates/js/translated/model_renderers.js:56
-#: templates/js/translated/order.js:482 templates/js/translated/part.js:1249
-#: templates/js/translated/part.js:1372 templates/js/translated/part.js:1428
+#: templates/js/translated/order.js:482 templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1384 templates/js/translated/part.js:1440
#: templates/js/translated/stock.js:1537 templates/js/translated/stock.js:1735
msgid "Quantity"
msgstr ""
@@ -2117,7 +2117,7 @@ msgid "Price break quantity"
msgstr ""
#: common/models.py:990 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1254
+#: templates/js/translated/part.js:1266
msgid "Price"
msgstr ""
@@ -3492,7 +3492,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:361
#: order/templates/order/sales_order_detail.html:377
-#: templates/js/translated/part.js:1229 templates/js/translated/part.js:1419
+#: templates/js/translated/part.js:1241 templates/js/translated/part.js:1431
msgid "Unit Price"
msgstr ""
@@ -3532,7 +3532,7 @@ msgstr ""
#: 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:1087 templates/navbar.html:23
+#: templates/js/translated/part.js:1099 templates/navbar.html:23
#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr ""
@@ -4187,7 +4187,7 @@ msgstr ""
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2117 templates/js/translated/part.js:1138
+#: part/models.py:2117 templates/js/translated/part.js:1150
#: templates/js/translated/stock.js:487
msgid "Test Name"
msgstr ""
@@ -4204,7 +4204,7 @@ msgstr ""
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2129 templates/js/translated/part.js:1147
+#: part/models.py:2129 templates/js/translated/part.js:1159
#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
@@ -4213,7 +4213,7 @@ msgstr ""
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2135 templates/js/translated/part.js:1155
+#: part/models.py:2135 templates/js/translated/part.js:1167
msgid "Requires Value"
msgstr ""
@@ -4221,7 +4221,7 @@ msgstr ""
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2141 templates/js/translated/part.js:1162
+#: part/models.py:2141 templates/js/translated/part.js:1174
msgid "Requires Attachment"
msgstr ""
@@ -4487,7 +4487,7 @@ msgstr ""
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:174
+#: 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
msgid "Subcategories"
@@ -4501,7 +4501,7 @@ msgstr ""
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:141
+#: part/templates/part/category.html:127 part/templates/part/category.html:142
msgid "Export"
msgstr ""
@@ -4522,26 +4522,30 @@ msgid "Set Category"
msgstr ""
#: part/templates/part/category.html:141
+msgid "Print Labels"
+msgstr ""
+
+#: part/templates/part/category.html:142
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:145
+#: part/templates/part/category.html:146
msgid "View list display"
msgstr ""
-#: part/templates/part/category.html:148
+#: part/templates/part/category.html:149
msgid "View grid display"
msgstr ""
-#: part/templates/part/category.html:164
+#: part/templates/part/category.html:165
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:253
+#: part/templates/part/category.html:254
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:280
+#: part/templates/part/category.html:281
msgid "Create Part"
msgstr ""
@@ -6905,7 +6909,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:840 templates/js/translated/part.js:811
-#: templates/js/translated/part.js:1056 templates/js/translated/stock.js:886
+#: templates/js/translated/part.js:1068 templates/js/translated/stock.js:886
#: templates/js/translated/stock.js:1339
msgid "Select"
msgstr ""
@@ -7379,46 +7383,46 @@ msgstr ""
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1081 templates/js/translated/stock.js:1363
+#: templates/js/translated/part.js:1093 templates/js/translated/stock.js:1363
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1124
+#: templates/js/translated/part.js:1136
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1175 templates/js/translated/stock.js:445
+#: templates/js/translated/part.js:1187 templates/js/translated/stock.js:445
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1176 templates/js/translated/stock.js:446
+#: templates/js/translated/part.js:1188 templates/js/translated/stock.js:446
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1182
+#: templates/js/translated/part.js:1194
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1207
+#: templates/js/translated/part.js:1219
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1273
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1262
+#: templates/js/translated/part.js:1274
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1363
+#: templates/js/translated/part.js:1375
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1382
+#: templates/js/translated/part.js:1394
msgid "Single Price Difference"
msgstr ""
diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po
index 74d484e786..2d65c90a6d 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-08-17 00:00+0000\n"
+"POT-Creation-Date: 2021-08-17 02:43+0000\n"
"PO-Revision-Date: 2021-08-16 01:44\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
@@ -163,7 +163,7 @@ msgstr ""
#: part/templates/part/part_base.html:234 report/models.py:181
#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
#: templates/js/translated/company.js:592 templates/js/translated/part.js:438
-#: templates/js/translated/part.js:571 templates/js/translated/part.js:1063
+#: templates/js/translated/part.js:571 templates/js/translated/part.js:1075
#: templates/js/translated/stock.js:1345
msgid "Name"
msgstr ""
@@ -186,7 +186,7 @@ msgstr ""
#: templates/js/translated/company.js:788 templates/js/translated/order.js:267
#: templates/js/translated/order.js:369 templates/js/translated/part.js:497
#: templates/js/translated/part.js:681 templates/js/translated/part.js:858
-#: templates/js/translated/part.js:1075 templates/js/translated/part.js:1143
+#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1155
#: templates/js/translated/stock.js:929 templates/js/translated/stock.js:1357
#: templates/js/translated/stock.js:1402
msgid "Description"
@@ -575,8 +575,8 @@ msgstr ""
#: templates/js/translated/build.js:271 templates/js/translated/build.js:606
#: templates/js/translated/build.js:1172
#: templates/js/translated/model_renderers.js:56
-#: templates/js/translated/order.js:482 templates/js/translated/part.js:1249
-#: templates/js/translated/part.js:1372 templates/js/translated/part.js:1428
+#: templates/js/translated/order.js:482 templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1384 templates/js/translated/part.js:1440
#: templates/js/translated/stock.js:1537 templates/js/translated/stock.js:1735
msgid "Quantity"
msgstr "Quantità"
@@ -2117,7 +2117,7 @@ msgid "Price break quantity"
msgstr ""
#: common/models.py:990 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1254
+#: templates/js/translated/part.js:1266
msgid "Price"
msgstr ""
@@ -3492,7 +3492,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:361
#: order/templates/order/sales_order_detail.html:377
-#: templates/js/translated/part.js:1229 templates/js/translated/part.js:1419
+#: templates/js/translated/part.js:1241 templates/js/translated/part.js:1431
msgid "Unit Price"
msgstr ""
@@ -3532,7 +3532,7 @@ msgstr ""
#: 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:1087 templates/navbar.html:23
+#: templates/js/translated/part.js:1099 templates/navbar.html:23
#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr ""
@@ -4187,7 +4187,7 @@ msgstr ""
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2117 templates/js/translated/part.js:1138
+#: part/models.py:2117 templates/js/translated/part.js:1150
#: templates/js/translated/stock.js:487
msgid "Test Name"
msgstr ""
@@ -4204,7 +4204,7 @@ msgstr ""
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2129 templates/js/translated/part.js:1147
+#: part/models.py:2129 templates/js/translated/part.js:1159
#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
@@ -4213,7 +4213,7 @@ msgstr ""
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2135 templates/js/translated/part.js:1155
+#: part/models.py:2135 templates/js/translated/part.js:1167
msgid "Requires Value"
msgstr ""
@@ -4221,7 +4221,7 @@ msgstr ""
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2141 templates/js/translated/part.js:1162
+#: part/models.py:2141 templates/js/translated/part.js:1174
msgid "Requires Attachment"
msgstr ""
@@ -4487,7 +4487,7 @@ msgstr ""
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:174
+#: 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
msgid "Subcategories"
@@ -4501,7 +4501,7 @@ msgstr ""
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:141
+#: part/templates/part/category.html:127 part/templates/part/category.html:142
msgid "Export"
msgstr ""
@@ -4522,26 +4522,30 @@ msgid "Set Category"
msgstr ""
#: part/templates/part/category.html:141
+msgid "Print Labels"
+msgstr ""
+
+#: part/templates/part/category.html:142
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:145
+#: part/templates/part/category.html:146
msgid "View list display"
msgstr ""
-#: part/templates/part/category.html:148
+#: part/templates/part/category.html:149
msgid "View grid display"
msgstr ""
-#: part/templates/part/category.html:164
+#: part/templates/part/category.html:165
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:253
+#: part/templates/part/category.html:254
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:280
+#: part/templates/part/category.html:281
msgid "Create Part"
msgstr ""
@@ -6905,7 +6909,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:840 templates/js/translated/part.js:811
-#: templates/js/translated/part.js:1056 templates/js/translated/stock.js:886
+#: templates/js/translated/part.js:1068 templates/js/translated/stock.js:886
#: templates/js/translated/stock.js:1339
msgid "Select"
msgstr ""
@@ -7379,46 +7383,46 @@ msgstr ""
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1081 templates/js/translated/stock.js:1363
+#: templates/js/translated/part.js:1093 templates/js/translated/stock.js:1363
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1124
+#: templates/js/translated/part.js:1136
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1175 templates/js/translated/stock.js:445
+#: templates/js/translated/part.js:1187 templates/js/translated/stock.js:445
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1176 templates/js/translated/stock.js:446
+#: templates/js/translated/part.js:1188 templates/js/translated/stock.js:446
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1182
+#: templates/js/translated/part.js:1194
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1207
+#: templates/js/translated/part.js:1219
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1273
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1262
+#: templates/js/translated/part.js:1274
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1363
+#: templates/js/translated/part.js:1375
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1382
+#: templates/js/translated/part.js:1394
msgid "Single Price Difference"
msgstr ""
diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po
index 9b259fd5ce..b3ea382fd2 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-08-17 00:00+0000\n"
+"POT-Creation-Date: 2021-08-17 02:43+0000\n"
"PO-Revision-Date: 2021-08-16 01:44\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
@@ -163,7 +163,7 @@ msgstr "無効な選択です"
#: part/templates/part/part_base.html:234 report/models.py:181
#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
#: templates/js/translated/company.js:592 templates/js/translated/part.js:438
-#: templates/js/translated/part.js:571 templates/js/translated/part.js:1063
+#: templates/js/translated/part.js:571 templates/js/translated/part.js:1075
#: templates/js/translated/stock.js:1345
msgid "Name"
msgstr "お名前"
@@ -186,7 +186,7 @@ msgstr "お名前"
#: templates/js/translated/company.js:788 templates/js/translated/order.js:267
#: templates/js/translated/order.js:369 templates/js/translated/part.js:497
#: templates/js/translated/part.js:681 templates/js/translated/part.js:858
-#: templates/js/translated/part.js:1075 templates/js/translated/part.js:1143
+#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1155
#: templates/js/translated/stock.js:929 templates/js/translated/stock.js:1357
#: templates/js/translated/stock.js:1402
msgid "Description"
@@ -575,8 +575,8 @@ msgstr ""
#: templates/js/translated/build.js:271 templates/js/translated/build.js:606
#: templates/js/translated/build.js:1172
#: templates/js/translated/model_renderers.js:56
-#: templates/js/translated/order.js:482 templates/js/translated/part.js:1249
-#: templates/js/translated/part.js:1372 templates/js/translated/part.js:1428
+#: templates/js/translated/order.js:482 templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1384 templates/js/translated/part.js:1440
#: templates/js/translated/stock.js:1537 templates/js/translated/stock.js:1735
msgid "Quantity"
msgstr ""
@@ -2117,7 +2117,7 @@ msgid "Price break quantity"
msgstr ""
#: common/models.py:990 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1254
+#: templates/js/translated/part.js:1266
msgid "Price"
msgstr ""
@@ -3492,7 +3492,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:361
#: order/templates/order/sales_order_detail.html:377
-#: templates/js/translated/part.js:1229 templates/js/translated/part.js:1419
+#: templates/js/translated/part.js:1241 templates/js/translated/part.js:1431
msgid "Unit Price"
msgstr ""
@@ -3532,7 +3532,7 @@ msgstr "%(order)s - %(desc)s の未処理のパーツを受け取
#: 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:1087 templates/navbar.html:23
+#: templates/js/translated/part.js:1099 templates/navbar.html:23
#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr "パーツ"
@@ -4187,7 +4187,7 @@ msgstr ""
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2117 templates/js/translated/part.js:1138
+#: part/models.py:2117 templates/js/translated/part.js:1150
#: templates/js/translated/stock.js:487
msgid "Test Name"
msgstr ""
@@ -4204,7 +4204,7 @@ msgstr ""
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2129 templates/js/translated/part.js:1147
+#: part/models.py:2129 templates/js/translated/part.js:1159
#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
@@ -4213,7 +4213,7 @@ msgstr ""
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2135 templates/js/translated/part.js:1155
+#: part/models.py:2135 templates/js/translated/part.js:1167
msgid "Requires Value"
msgstr ""
@@ -4221,7 +4221,7 @@ msgstr ""
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2141 templates/js/translated/part.js:1162
+#: part/models.py:2141 templates/js/translated/part.js:1174
msgid "Requires Attachment"
msgstr ""
@@ -4487,7 +4487,7 @@ msgstr ""
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:174
+#: 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
msgid "Subcategories"
@@ -4501,7 +4501,7 @@ msgstr ""
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:141
+#: part/templates/part/category.html:127 part/templates/part/category.html:142
msgid "Export"
msgstr ""
@@ -4522,26 +4522,30 @@ msgid "Set Category"
msgstr ""
#: part/templates/part/category.html:141
+msgid "Print Labels"
+msgstr ""
+
+#: part/templates/part/category.html:142
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:145
+#: part/templates/part/category.html:146
msgid "View list display"
msgstr ""
-#: part/templates/part/category.html:148
+#: part/templates/part/category.html:149
msgid "View grid display"
msgstr ""
-#: part/templates/part/category.html:164
+#: part/templates/part/category.html:165
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:253
+#: part/templates/part/category.html:254
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:280
+#: part/templates/part/category.html:281
msgid "Create Part"
msgstr ""
@@ -6905,7 +6909,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:840 templates/js/translated/part.js:811
-#: templates/js/translated/part.js:1056 templates/js/translated/stock.js:886
+#: templates/js/translated/part.js:1068 templates/js/translated/stock.js:886
#: templates/js/translated/stock.js:1339
msgid "Select"
msgstr ""
@@ -7379,46 +7383,46 @@ msgstr ""
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1081 templates/js/translated/stock.js:1363
+#: templates/js/translated/part.js:1093 templates/js/translated/stock.js:1363
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1124
+#: templates/js/translated/part.js:1136
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1175 templates/js/translated/stock.js:445
+#: templates/js/translated/part.js:1187 templates/js/translated/stock.js:445
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1176 templates/js/translated/stock.js:446
+#: templates/js/translated/part.js:1188 templates/js/translated/stock.js:446
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1182
+#: templates/js/translated/part.js:1194
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1207
+#: templates/js/translated/part.js:1219
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1273
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1262
+#: templates/js/translated/part.js:1274
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1363
+#: templates/js/translated/part.js:1375
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1382
+#: templates/js/translated/part.js:1394
msgid "Single Price Difference"
msgstr ""
diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po
index 777eb1e89a..d12c8e2542 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-08-17 00:00+0000\n"
+"POT-Creation-Date: 2021-08-17 02:43+0000\n"
"PO-Revision-Date: 2021-08-16 01:44\n"
"Last-Translator: \n"
"Language-Team: Korean\n"
@@ -163,7 +163,7 @@ msgstr ""
#: part/templates/part/part_base.html:234 report/models.py:181
#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
#: templates/js/translated/company.js:592 templates/js/translated/part.js:438
-#: templates/js/translated/part.js:571 templates/js/translated/part.js:1063
+#: templates/js/translated/part.js:571 templates/js/translated/part.js:1075
#: templates/js/translated/stock.js:1345
msgid "Name"
msgstr ""
@@ -186,7 +186,7 @@ msgstr ""
#: templates/js/translated/company.js:788 templates/js/translated/order.js:267
#: templates/js/translated/order.js:369 templates/js/translated/part.js:497
#: templates/js/translated/part.js:681 templates/js/translated/part.js:858
-#: templates/js/translated/part.js:1075 templates/js/translated/part.js:1143
+#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1155
#: templates/js/translated/stock.js:929 templates/js/translated/stock.js:1357
#: templates/js/translated/stock.js:1402
msgid "Description"
@@ -575,8 +575,8 @@ msgstr ""
#: templates/js/translated/build.js:271 templates/js/translated/build.js:606
#: templates/js/translated/build.js:1172
#: templates/js/translated/model_renderers.js:56
-#: templates/js/translated/order.js:482 templates/js/translated/part.js:1249
-#: templates/js/translated/part.js:1372 templates/js/translated/part.js:1428
+#: templates/js/translated/order.js:482 templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1384 templates/js/translated/part.js:1440
#: templates/js/translated/stock.js:1537 templates/js/translated/stock.js:1735
msgid "Quantity"
msgstr ""
@@ -2117,7 +2117,7 @@ msgid "Price break quantity"
msgstr ""
#: common/models.py:990 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1254
+#: templates/js/translated/part.js:1266
msgid "Price"
msgstr ""
@@ -3492,7 +3492,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:361
#: order/templates/order/sales_order_detail.html:377
-#: templates/js/translated/part.js:1229 templates/js/translated/part.js:1419
+#: templates/js/translated/part.js:1241 templates/js/translated/part.js:1431
msgid "Unit Price"
msgstr ""
@@ -3532,7 +3532,7 @@ msgstr ""
#: 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:1087 templates/navbar.html:23
+#: templates/js/translated/part.js:1099 templates/navbar.html:23
#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr ""
@@ -4187,7 +4187,7 @@ msgstr ""
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2117 templates/js/translated/part.js:1138
+#: part/models.py:2117 templates/js/translated/part.js:1150
#: templates/js/translated/stock.js:487
msgid "Test Name"
msgstr ""
@@ -4204,7 +4204,7 @@ msgstr ""
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2129 templates/js/translated/part.js:1147
+#: part/models.py:2129 templates/js/translated/part.js:1159
#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
@@ -4213,7 +4213,7 @@ msgstr ""
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2135 templates/js/translated/part.js:1155
+#: part/models.py:2135 templates/js/translated/part.js:1167
msgid "Requires Value"
msgstr ""
@@ -4221,7 +4221,7 @@ msgstr ""
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2141 templates/js/translated/part.js:1162
+#: part/models.py:2141 templates/js/translated/part.js:1174
msgid "Requires Attachment"
msgstr ""
@@ -4487,7 +4487,7 @@ msgstr ""
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:174
+#: 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
msgid "Subcategories"
@@ -4501,7 +4501,7 @@ msgstr ""
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:141
+#: part/templates/part/category.html:127 part/templates/part/category.html:142
msgid "Export"
msgstr ""
@@ -4522,26 +4522,30 @@ msgid "Set Category"
msgstr ""
#: part/templates/part/category.html:141
+msgid "Print Labels"
+msgstr ""
+
+#: part/templates/part/category.html:142
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:145
+#: part/templates/part/category.html:146
msgid "View list display"
msgstr ""
-#: part/templates/part/category.html:148
+#: part/templates/part/category.html:149
msgid "View grid display"
msgstr ""
-#: part/templates/part/category.html:164
+#: part/templates/part/category.html:165
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:253
+#: part/templates/part/category.html:254
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:280
+#: part/templates/part/category.html:281
msgid "Create Part"
msgstr ""
@@ -6905,7 +6909,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:840 templates/js/translated/part.js:811
-#: templates/js/translated/part.js:1056 templates/js/translated/stock.js:886
+#: templates/js/translated/part.js:1068 templates/js/translated/stock.js:886
#: templates/js/translated/stock.js:1339
msgid "Select"
msgstr ""
@@ -7379,46 +7383,46 @@ msgstr ""
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1081 templates/js/translated/stock.js:1363
+#: templates/js/translated/part.js:1093 templates/js/translated/stock.js:1363
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1124
+#: templates/js/translated/part.js:1136
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1175 templates/js/translated/stock.js:445
+#: templates/js/translated/part.js:1187 templates/js/translated/stock.js:445
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1176 templates/js/translated/stock.js:446
+#: templates/js/translated/part.js:1188 templates/js/translated/stock.js:446
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1182
+#: templates/js/translated/part.js:1194
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1207
+#: templates/js/translated/part.js:1219
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1273
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1262
+#: templates/js/translated/part.js:1274
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1363
+#: templates/js/translated/part.js:1375
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1382
+#: templates/js/translated/part.js:1394
msgid "Single Price Difference"
msgstr ""
diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po
index af7e09a3c6..60d9d3d21d 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-08-17 00:00+0000\n"
+"POT-Creation-Date: 2021-08-17 02:43+0000\n"
"PO-Revision-Date: 2021-08-16 01:44\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
@@ -163,7 +163,7 @@ msgstr "Ongeldige keuze"
#: part/templates/part/part_base.html:234 report/models.py:181
#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
#: templates/js/translated/company.js:592 templates/js/translated/part.js:438
-#: templates/js/translated/part.js:571 templates/js/translated/part.js:1063
+#: templates/js/translated/part.js:571 templates/js/translated/part.js:1075
#: templates/js/translated/stock.js:1345
msgid "Name"
msgstr "Naam"
@@ -186,7 +186,7 @@ msgstr "Naam"
#: templates/js/translated/company.js:788 templates/js/translated/order.js:267
#: templates/js/translated/order.js:369 templates/js/translated/part.js:497
#: templates/js/translated/part.js:681 templates/js/translated/part.js:858
-#: templates/js/translated/part.js:1075 templates/js/translated/part.js:1143
+#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1155
#: templates/js/translated/stock.js:929 templates/js/translated/stock.js:1357
#: templates/js/translated/stock.js:1402
msgid "Description"
@@ -575,8 +575,8 @@ msgstr ""
#: templates/js/translated/build.js:271 templates/js/translated/build.js:606
#: templates/js/translated/build.js:1172
#: templates/js/translated/model_renderers.js:56
-#: templates/js/translated/order.js:482 templates/js/translated/part.js:1249
-#: templates/js/translated/part.js:1372 templates/js/translated/part.js:1428
+#: templates/js/translated/order.js:482 templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1384 templates/js/translated/part.js:1440
#: templates/js/translated/stock.js:1537 templates/js/translated/stock.js:1735
msgid "Quantity"
msgstr "Aantal"
@@ -2117,7 +2117,7 @@ msgid "Price break quantity"
msgstr ""
#: common/models.py:990 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1254
+#: templates/js/translated/part.js:1266
msgid "Price"
msgstr ""
@@ -3492,7 +3492,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:361
#: order/templates/order/sales_order_detail.html:377
-#: templates/js/translated/part.js:1229 templates/js/translated/part.js:1419
+#: templates/js/translated/part.js:1241 templates/js/translated/part.js:1431
msgid "Unit Price"
msgstr ""
@@ -3532,7 +3532,7 @@ msgstr ""
#: 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:1087 templates/navbar.html:23
+#: templates/js/translated/part.js:1099 templates/navbar.html:23
#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr ""
@@ -4187,7 +4187,7 @@ msgstr ""
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2117 templates/js/translated/part.js:1138
+#: part/models.py:2117 templates/js/translated/part.js:1150
#: templates/js/translated/stock.js:487
msgid "Test Name"
msgstr ""
@@ -4204,7 +4204,7 @@ msgstr ""
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2129 templates/js/translated/part.js:1147
+#: part/models.py:2129 templates/js/translated/part.js:1159
#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
@@ -4213,7 +4213,7 @@ msgstr ""
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2135 templates/js/translated/part.js:1155
+#: part/models.py:2135 templates/js/translated/part.js:1167
msgid "Requires Value"
msgstr ""
@@ -4221,7 +4221,7 @@ msgstr ""
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2141 templates/js/translated/part.js:1162
+#: part/models.py:2141 templates/js/translated/part.js:1174
msgid "Requires Attachment"
msgstr ""
@@ -4487,7 +4487,7 @@ msgstr ""
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:174
+#: 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
msgid "Subcategories"
@@ -4501,7 +4501,7 @@ msgstr ""
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:141
+#: part/templates/part/category.html:127 part/templates/part/category.html:142
msgid "Export"
msgstr ""
@@ -4522,26 +4522,32 @@ msgid "Set Category"
msgstr ""
#: part/templates/part/category.html:141
+#, fuzzy
+#| msgid "Print actions"
+msgid "Print Labels"
+msgstr "Afdruk acties"
+
+#: part/templates/part/category.html:142
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:145
+#: part/templates/part/category.html:146
msgid "View list display"
msgstr ""
-#: part/templates/part/category.html:148
+#: part/templates/part/category.html:149
msgid "View grid display"
msgstr ""
-#: part/templates/part/category.html:164
+#: part/templates/part/category.html:165
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:253
+#: part/templates/part/category.html:254
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:280
+#: part/templates/part/category.html:281
msgid "Create Part"
msgstr ""
@@ -6905,7 +6911,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:840 templates/js/translated/part.js:811
-#: templates/js/translated/part.js:1056 templates/js/translated/stock.js:886
+#: templates/js/translated/part.js:1068 templates/js/translated/stock.js:886
#: templates/js/translated/stock.js:1339
msgid "Select"
msgstr ""
@@ -7379,46 +7385,46 @@ msgstr ""
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1081 templates/js/translated/stock.js:1363
+#: templates/js/translated/part.js:1093 templates/js/translated/stock.js:1363
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1124
+#: templates/js/translated/part.js:1136
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1175 templates/js/translated/stock.js:445
+#: templates/js/translated/part.js:1187 templates/js/translated/stock.js:445
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1176 templates/js/translated/stock.js:446
+#: templates/js/translated/part.js:1188 templates/js/translated/stock.js:446
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1182
+#: templates/js/translated/part.js:1194
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1207
+#: templates/js/translated/part.js:1219
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1273
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1262
+#: templates/js/translated/part.js:1274
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1363
+#: templates/js/translated/part.js:1375
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1382
+#: templates/js/translated/part.js:1394
msgid "Single Price Difference"
msgstr ""
diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po
index 369c9922e8..5641d4755b 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-08-17 00:00+0000\n"
+"POT-Creation-Date: 2021-08-17 02:43+0000\n"
"PO-Revision-Date: 2021-08-16 01:44\n"
"Last-Translator: \n"
"Language-Team: Norwegian\n"
@@ -163,7 +163,7 @@ msgstr "Ugyldig valg"
#: part/templates/part/part_base.html:234 report/models.py:181
#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
#: templates/js/translated/company.js:592 templates/js/translated/part.js:438
-#: templates/js/translated/part.js:571 templates/js/translated/part.js:1063
+#: templates/js/translated/part.js:571 templates/js/translated/part.js:1075
#: templates/js/translated/stock.js:1345
msgid "Name"
msgstr "Navn"
@@ -186,7 +186,7 @@ msgstr "Navn"
#: templates/js/translated/company.js:788 templates/js/translated/order.js:267
#: templates/js/translated/order.js:369 templates/js/translated/part.js:497
#: templates/js/translated/part.js:681 templates/js/translated/part.js:858
-#: templates/js/translated/part.js:1075 templates/js/translated/part.js:1143
+#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1155
#: templates/js/translated/stock.js:929 templates/js/translated/stock.js:1357
#: templates/js/translated/stock.js:1402
msgid "Description"
@@ -575,8 +575,8 @@ msgstr ""
#: templates/js/translated/build.js:271 templates/js/translated/build.js:606
#: templates/js/translated/build.js:1172
#: templates/js/translated/model_renderers.js:56
-#: templates/js/translated/order.js:482 templates/js/translated/part.js:1249
-#: templates/js/translated/part.js:1372 templates/js/translated/part.js:1428
+#: templates/js/translated/order.js:482 templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1384 templates/js/translated/part.js:1440
#: templates/js/translated/stock.js:1537 templates/js/translated/stock.js:1735
msgid "Quantity"
msgstr ""
@@ -2117,7 +2117,7 @@ msgid "Price break quantity"
msgstr ""
#: common/models.py:990 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1254
+#: templates/js/translated/part.js:1266
msgid "Price"
msgstr ""
@@ -3492,7 +3492,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:361
#: order/templates/order/sales_order_detail.html:377
-#: templates/js/translated/part.js:1229 templates/js/translated/part.js:1419
+#: templates/js/translated/part.js:1241 templates/js/translated/part.js:1431
msgid "Unit Price"
msgstr ""
@@ -3532,7 +3532,7 @@ msgstr ""
#: 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:1087 templates/navbar.html:23
+#: templates/js/translated/part.js:1099 templates/navbar.html:23
#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr ""
@@ -4187,7 +4187,7 @@ msgstr ""
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2117 templates/js/translated/part.js:1138
+#: part/models.py:2117 templates/js/translated/part.js:1150
#: templates/js/translated/stock.js:487
msgid "Test Name"
msgstr ""
@@ -4204,7 +4204,7 @@ msgstr ""
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2129 templates/js/translated/part.js:1147
+#: part/models.py:2129 templates/js/translated/part.js:1159
#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
@@ -4213,7 +4213,7 @@ msgstr ""
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2135 templates/js/translated/part.js:1155
+#: part/models.py:2135 templates/js/translated/part.js:1167
msgid "Requires Value"
msgstr ""
@@ -4221,7 +4221,7 @@ msgstr ""
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2141 templates/js/translated/part.js:1162
+#: part/models.py:2141 templates/js/translated/part.js:1174
msgid "Requires Attachment"
msgstr ""
@@ -4487,7 +4487,7 @@ msgstr ""
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:174
+#: 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
msgid "Subcategories"
@@ -4501,7 +4501,7 @@ msgstr ""
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:141
+#: part/templates/part/category.html:127 part/templates/part/category.html:142
msgid "Export"
msgstr ""
@@ -4522,26 +4522,30 @@ msgid "Set Category"
msgstr ""
#: part/templates/part/category.html:141
+msgid "Print Labels"
+msgstr ""
+
+#: part/templates/part/category.html:142
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:145
+#: part/templates/part/category.html:146
msgid "View list display"
msgstr ""
-#: part/templates/part/category.html:148
+#: part/templates/part/category.html:149
msgid "View grid display"
msgstr ""
-#: part/templates/part/category.html:164
+#: part/templates/part/category.html:165
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:253
+#: part/templates/part/category.html:254
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:280
+#: part/templates/part/category.html:281
msgid "Create Part"
msgstr ""
@@ -6905,7 +6909,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:840 templates/js/translated/part.js:811
-#: templates/js/translated/part.js:1056 templates/js/translated/stock.js:886
+#: templates/js/translated/part.js:1068 templates/js/translated/stock.js:886
#: templates/js/translated/stock.js:1339
msgid "Select"
msgstr ""
@@ -7379,46 +7383,46 @@ msgstr ""
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1081 templates/js/translated/stock.js:1363
+#: templates/js/translated/part.js:1093 templates/js/translated/stock.js:1363
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1124
+#: templates/js/translated/part.js:1136
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1175 templates/js/translated/stock.js:445
+#: templates/js/translated/part.js:1187 templates/js/translated/stock.js:445
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1176 templates/js/translated/stock.js:446
+#: templates/js/translated/part.js:1188 templates/js/translated/stock.js:446
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1182
+#: templates/js/translated/part.js:1194
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1207
+#: templates/js/translated/part.js:1219
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1273
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1262
+#: templates/js/translated/part.js:1274
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1363
+#: templates/js/translated/part.js:1375
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1382
+#: templates/js/translated/part.js:1394
msgid "Single Price Difference"
msgstr ""
diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po
index f61b23beb9..cf47e27ed7 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-08-17 00:00+0000\n"
+"POT-Creation-Date: 2021-08-17 02:43+0000\n"
"PO-Revision-Date: 2021-08-16 01:44\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
@@ -163,7 +163,7 @@ msgstr "Błędny wybór"
#: part/templates/part/part_base.html:234 report/models.py:181
#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
#: templates/js/translated/company.js:592 templates/js/translated/part.js:438
-#: templates/js/translated/part.js:571 templates/js/translated/part.js:1063
+#: templates/js/translated/part.js:571 templates/js/translated/part.js:1075
#: templates/js/translated/stock.js:1345
msgid "Name"
msgstr "Nazwa"
@@ -186,7 +186,7 @@ msgstr "Nazwa"
#: templates/js/translated/company.js:788 templates/js/translated/order.js:267
#: templates/js/translated/order.js:369 templates/js/translated/part.js:497
#: templates/js/translated/part.js:681 templates/js/translated/part.js:858
-#: templates/js/translated/part.js:1075 templates/js/translated/part.js:1143
+#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1155
#: templates/js/translated/stock.js:929 templates/js/translated/stock.js:1357
#: templates/js/translated/stock.js:1402
msgid "Description"
@@ -575,8 +575,8 @@ msgstr ""
#: templates/js/translated/build.js:271 templates/js/translated/build.js:606
#: templates/js/translated/build.js:1172
#: templates/js/translated/model_renderers.js:56
-#: templates/js/translated/order.js:482 templates/js/translated/part.js:1249
-#: templates/js/translated/part.js:1372 templates/js/translated/part.js:1428
+#: templates/js/translated/order.js:482 templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1384 templates/js/translated/part.js:1440
#: templates/js/translated/stock.js:1537 templates/js/translated/stock.js:1735
msgid "Quantity"
msgstr "Ilość"
@@ -2117,7 +2117,7 @@ msgid "Price break quantity"
msgstr ""
#: common/models.py:990 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1254
+#: templates/js/translated/part.js:1266
msgid "Price"
msgstr "Cena"
@@ -3492,7 +3492,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:361
#: order/templates/order/sales_order_detail.html:377
-#: templates/js/translated/part.js:1229 templates/js/translated/part.js:1419
+#: templates/js/translated/part.js:1241 templates/js/translated/part.js:1431
msgid "Unit Price"
msgstr "Cena jednostkowa"
@@ -3532,7 +3532,7 @@ msgstr ""
#: 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:1087 templates/navbar.html:23
+#: templates/js/translated/part.js:1099 templates/navbar.html:23
#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr "Części"
@@ -4187,7 +4187,7 @@ msgstr ""
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2117 templates/js/translated/part.js:1138
+#: part/models.py:2117 templates/js/translated/part.js:1150
#: templates/js/translated/stock.js:487
msgid "Test Name"
msgstr "Nazwa testu"
@@ -4204,7 +4204,7 @@ msgstr ""
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2129 templates/js/translated/part.js:1147
+#: part/models.py:2129 templates/js/translated/part.js:1159
#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr "Wymagane"
@@ -4213,7 +4213,7 @@ msgstr "Wymagane"
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2135 templates/js/translated/part.js:1155
+#: part/models.py:2135 templates/js/translated/part.js:1167
msgid "Requires Value"
msgstr ""
@@ -4221,7 +4221,7 @@ msgstr ""
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2141 templates/js/translated/part.js:1162
+#: part/models.py:2141 templates/js/translated/part.js:1174
msgid "Requires Attachment"
msgstr ""
@@ -4487,7 +4487,7 @@ msgstr ""
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:174
+#: 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
msgid "Subcategories"
@@ -4501,7 +4501,7 @@ msgstr ""
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:141
+#: part/templates/part/category.html:127 part/templates/part/category.html:142
msgid "Export"
msgstr "Eksportuj"
@@ -4522,26 +4522,32 @@ msgid "Set Category"
msgstr "Ustaw kategorię"
#: part/templates/part/category.html:141
+#, fuzzy
+#| msgid "Print Label"
+msgid "Print Labels"
+msgstr "Drukuj etykietę"
+
+#: part/templates/part/category.html:142
msgid "Export Data"
msgstr "Eksportuj dane"
-#: part/templates/part/category.html:145
+#: part/templates/part/category.html:146
msgid "View list display"
msgstr ""
-#: part/templates/part/category.html:148
+#: part/templates/part/category.html:149
msgid "View grid display"
msgstr ""
-#: part/templates/part/category.html:164
+#: part/templates/part/category.html:165
msgid "Part Parameters"
msgstr "Parametry części"
-#: part/templates/part/category.html:253
+#: part/templates/part/category.html:254
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:280
+#: part/templates/part/category.html:281
msgid "Create Part"
msgstr ""
@@ -6905,7 +6911,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:840 templates/js/translated/part.js:811
-#: templates/js/translated/part.js:1056 templates/js/translated/stock.js:886
+#: templates/js/translated/part.js:1068 templates/js/translated/stock.js:886
#: templates/js/translated/stock.js:1339
msgid "Select"
msgstr ""
@@ -7379,46 +7385,46 @@ msgstr ""
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1081 templates/js/translated/stock.js:1363
+#: templates/js/translated/part.js:1093 templates/js/translated/stock.js:1363
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1124
+#: templates/js/translated/part.js:1136
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1175 templates/js/translated/stock.js:445
+#: templates/js/translated/part.js:1187 templates/js/translated/stock.js:445
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1176 templates/js/translated/stock.js:446
+#: templates/js/translated/part.js:1188 templates/js/translated/stock.js:446
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1182
+#: templates/js/translated/part.js:1194
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1207
+#: templates/js/translated/part.js:1219
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1273
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1262
+#: templates/js/translated/part.js:1274
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1363
+#: templates/js/translated/part.js:1375
msgid "Single Price"
msgstr "Cena jednostkowa"
-#: templates/js/translated/part.js:1382
+#: templates/js/translated/part.js:1394
msgid "Single Price Difference"
msgstr ""
diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po
index a68acb4894..5da607e93c 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-08-17 00:00+0000\n"
+"POT-Creation-Date: 2021-08-17 02:43+0000\n"
"PO-Revision-Date: 2021-08-16 01:44\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
@@ -163,7 +163,7 @@ msgstr ""
#: part/templates/part/part_base.html:234 report/models.py:181
#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
#: templates/js/translated/company.js:592 templates/js/translated/part.js:438
-#: templates/js/translated/part.js:571 templates/js/translated/part.js:1063
+#: templates/js/translated/part.js:571 templates/js/translated/part.js:1075
#: templates/js/translated/stock.js:1345
msgid "Name"
msgstr "Название"
@@ -186,7 +186,7 @@ msgstr "Название"
#: templates/js/translated/company.js:788 templates/js/translated/order.js:267
#: templates/js/translated/order.js:369 templates/js/translated/part.js:497
#: templates/js/translated/part.js:681 templates/js/translated/part.js:858
-#: templates/js/translated/part.js:1075 templates/js/translated/part.js:1143
+#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1155
#: templates/js/translated/stock.js:929 templates/js/translated/stock.js:1357
#: templates/js/translated/stock.js:1402
msgid "Description"
@@ -575,8 +575,8 @@ msgstr "Целевая дата для сборки. Сборка будет п
#: templates/js/translated/build.js:271 templates/js/translated/build.js:606
#: templates/js/translated/build.js:1172
#: templates/js/translated/model_renderers.js:56
-#: templates/js/translated/order.js:482 templates/js/translated/part.js:1249
-#: templates/js/translated/part.js:1372 templates/js/translated/part.js:1428
+#: templates/js/translated/order.js:482 templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1384 templates/js/translated/part.js:1440
#: templates/js/translated/stock.js:1537 templates/js/translated/stock.js:1735
msgid "Quantity"
msgstr "Количество"
@@ -2117,7 +2117,7 @@ msgid "Price break quantity"
msgstr ""
#: common/models.py:990 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1254
+#: templates/js/translated/part.js:1266
msgid "Price"
msgstr ""
@@ -3492,7 +3492,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:361
#: order/templates/order/sales_order_detail.html:377
-#: templates/js/translated/part.js:1229 templates/js/translated/part.js:1419
+#: templates/js/translated/part.js:1241 templates/js/translated/part.js:1431
msgid "Unit Price"
msgstr ""
@@ -3532,7 +3532,7 @@ msgstr ""
#: 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:1087 templates/navbar.html:23
+#: templates/js/translated/part.js:1099 templates/navbar.html:23
#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr ""
@@ -4187,7 +4187,7 @@ msgstr ""
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2117 templates/js/translated/part.js:1138
+#: part/models.py:2117 templates/js/translated/part.js:1150
#: templates/js/translated/stock.js:487
msgid "Test Name"
msgstr ""
@@ -4204,7 +4204,7 @@ msgstr ""
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2129 templates/js/translated/part.js:1147
+#: part/models.py:2129 templates/js/translated/part.js:1159
#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
@@ -4213,7 +4213,7 @@ msgstr ""
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2135 templates/js/translated/part.js:1155
+#: part/models.py:2135 templates/js/translated/part.js:1167
msgid "Requires Value"
msgstr ""
@@ -4221,7 +4221,7 @@ msgstr ""
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2141 templates/js/translated/part.js:1162
+#: part/models.py:2141 templates/js/translated/part.js:1174
msgid "Requires Attachment"
msgstr ""
@@ -4487,7 +4487,7 @@ msgstr ""
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:174
+#: 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
msgid "Subcategories"
@@ -4501,7 +4501,7 @@ msgstr ""
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:141
+#: part/templates/part/category.html:127 part/templates/part/category.html:142
msgid "Export"
msgstr ""
@@ -4522,26 +4522,30 @@ msgid "Set Category"
msgstr ""
#: part/templates/part/category.html:141
+msgid "Print Labels"
+msgstr ""
+
+#: part/templates/part/category.html:142
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:145
+#: part/templates/part/category.html:146
msgid "View list display"
msgstr ""
-#: part/templates/part/category.html:148
+#: part/templates/part/category.html:149
msgid "View grid display"
msgstr ""
-#: part/templates/part/category.html:164
+#: part/templates/part/category.html:165
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:253
+#: part/templates/part/category.html:254
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:280
+#: part/templates/part/category.html:281
msgid "Create Part"
msgstr ""
@@ -6905,7 +6909,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:840 templates/js/translated/part.js:811
-#: templates/js/translated/part.js:1056 templates/js/translated/stock.js:886
+#: templates/js/translated/part.js:1068 templates/js/translated/stock.js:886
#: templates/js/translated/stock.js:1339
msgid "Select"
msgstr ""
@@ -7379,46 +7383,46 @@ msgstr ""
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1081 templates/js/translated/stock.js:1363
+#: templates/js/translated/part.js:1093 templates/js/translated/stock.js:1363
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1124
+#: templates/js/translated/part.js:1136
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1175 templates/js/translated/stock.js:445
+#: templates/js/translated/part.js:1187 templates/js/translated/stock.js:445
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1176 templates/js/translated/stock.js:446
+#: templates/js/translated/part.js:1188 templates/js/translated/stock.js:446
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1182
+#: templates/js/translated/part.js:1194
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1207
+#: templates/js/translated/part.js:1219
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1273
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1262
+#: templates/js/translated/part.js:1274
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1363
+#: templates/js/translated/part.js:1375
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1382
+#: templates/js/translated/part.js:1394
msgid "Single Price Difference"
msgstr ""
diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po
index 05a3677e12..1fd518a8c8 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-08-17 00:00+0000\n"
+"POT-Creation-Date: 2021-08-17 02:43+0000\n"
"PO-Revision-Date: 2021-08-16 01:44\n"
"Last-Translator: \n"
"Language-Team: Swedish\n"
@@ -163,7 +163,7 @@ msgstr ""
#: part/templates/part/part_base.html:234 report/models.py:181
#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
#: templates/js/translated/company.js:592 templates/js/translated/part.js:438
-#: templates/js/translated/part.js:571 templates/js/translated/part.js:1063
+#: templates/js/translated/part.js:571 templates/js/translated/part.js:1075
#: templates/js/translated/stock.js:1345
msgid "Name"
msgstr ""
@@ -186,7 +186,7 @@ msgstr ""
#: templates/js/translated/company.js:788 templates/js/translated/order.js:267
#: templates/js/translated/order.js:369 templates/js/translated/part.js:497
#: templates/js/translated/part.js:681 templates/js/translated/part.js:858
-#: templates/js/translated/part.js:1075 templates/js/translated/part.js:1143
+#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1155
#: templates/js/translated/stock.js:929 templates/js/translated/stock.js:1357
#: templates/js/translated/stock.js:1402
msgid "Description"
@@ -575,8 +575,8 @@ msgstr ""
#: templates/js/translated/build.js:271 templates/js/translated/build.js:606
#: templates/js/translated/build.js:1172
#: templates/js/translated/model_renderers.js:56
-#: templates/js/translated/order.js:482 templates/js/translated/part.js:1249
-#: templates/js/translated/part.js:1372 templates/js/translated/part.js:1428
+#: templates/js/translated/order.js:482 templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1384 templates/js/translated/part.js:1440
#: templates/js/translated/stock.js:1537 templates/js/translated/stock.js:1735
msgid "Quantity"
msgstr ""
@@ -2117,7 +2117,7 @@ msgid "Price break quantity"
msgstr ""
#: common/models.py:990 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1254
+#: templates/js/translated/part.js:1266
msgid "Price"
msgstr ""
@@ -3492,7 +3492,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:361
#: order/templates/order/sales_order_detail.html:377
-#: templates/js/translated/part.js:1229 templates/js/translated/part.js:1419
+#: templates/js/translated/part.js:1241 templates/js/translated/part.js:1431
msgid "Unit Price"
msgstr ""
@@ -3532,7 +3532,7 @@ msgstr ""
#: 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:1087 templates/navbar.html:23
+#: templates/js/translated/part.js:1099 templates/navbar.html:23
#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr ""
@@ -4187,7 +4187,7 @@ msgstr ""
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2117 templates/js/translated/part.js:1138
+#: part/models.py:2117 templates/js/translated/part.js:1150
#: templates/js/translated/stock.js:487
msgid "Test Name"
msgstr ""
@@ -4204,7 +4204,7 @@ msgstr ""
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2129 templates/js/translated/part.js:1147
+#: part/models.py:2129 templates/js/translated/part.js:1159
#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
@@ -4213,7 +4213,7 @@ msgstr ""
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2135 templates/js/translated/part.js:1155
+#: part/models.py:2135 templates/js/translated/part.js:1167
msgid "Requires Value"
msgstr ""
@@ -4221,7 +4221,7 @@ msgstr ""
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2141 templates/js/translated/part.js:1162
+#: part/models.py:2141 templates/js/translated/part.js:1174
msgid "Requires Attachment"
msgstr ""
@@ -4487,7 +4487,7 @@ msgstr ""
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:174
+#: 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
msgid "Subcategories"
@@ -4501,7 +4501,7 @@ msgstr ""
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:141
+#: part/templates/part/category.html:127 part/templates/part/category.html:142
msgid "Export"
msgstr ""
@@ -4522,26 +4522,30 @@ msgid "Set Category"
msgstr ""
#: part/templates/part/category.html:141
+msgid "Print Labels"
+msgstr ""
+
+#: part/templates/part/category.html:142
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:145
+#: part/templates/part/category.html:146
msgid "View list display"
msgstr ""
-#: part/templates/part/category.html:148
+#: part/templates/part/category.html:149
msgid "View grid display"
msgstr ""
-#: part/templates/part/category.html:164
+#: part/templates/part/category.html:165
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:253
+#: part/templates/part/category.html:254
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:280
+#: part/templates/part/category.html:281
msgid "Create Part"
msgstr ""
@@ -6905,7 +6909,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:840 templates/js/translated/part.js:811
-#: templates/js/translated/part.js:1056 templates/js/translated/stock.js:886
+#: templates/js/translated/part.js:1068 templates/js/translated/stock.js:886
#: templates/js/translated/stock.js:1339
msgid "Select"
msgstr ""
@@ -7379,46 +7383,46 @@ msgstr ""
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1081 templates/js/translated/stock.js:1363
+#: templates/js/translated/part.js:1093 templates/js/translated/stock.js:1363
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1124
+#: templates/js/translated/part.js:1136
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1175 templates/js/translated/stock.js:445
+#: templates/js/translated/part.js:1187 templates/js/translated/stock.js:445
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1176 templates/js/translated/stock.js:446
+#: templates/js/translated/part.js:1188 templates/js/translated/stock.js:446
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1182
+#: templates/js/translated/part.js:1194
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1207
+#: templates/js/translated/part.js:1219
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1273
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1262
+#: templates/js/translated/part.js:1274
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1363
+#: templates/js/translated/part.js:1375
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1382
+#: templates/js/translated/part.js:1394
msgid "Single Price Difference"
msgstr ""
diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po
index f4a52be3e2..bd8d78785e 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-08-17 00:00+0000\n"
+"POT-Creation-Date: 2021-08-17 02:43+0000\n"
"PO-Revision-Date: 2021-08-16 01:44\n"
"Last-Translator: \n"
"Language-Team: Thai\n"
@@ -163,7 +163,7 @@ msgstr ""
#: part/templates/part/part_base.html:234 report/models.py:181
#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
#: templates/js/translated/company.js:592 templates/js/translated/part.js:438
-#: templates/js/translated/part.js:571 templates/js/translated/part.js:1063
+#: templates/js/translated/part.js:571 templates/js/translated/part.js:1075
#: templates/js/translated/stock.js:1345
msgid "Name"
msgstr ""
@@ -186,7 +186,7 @@ msgstr ""
#: templates/js/translated/company.js:788 templates/js/translated/order.js:267
#: templates/js/translated/order.js:369 templates/js/translated/part.js:497
#: templates/js/translated/part.js:681 templates/js/translated/part.js:858
-#: templates/js/translated/part.js:1075 templates/js/translated/part.js:1143
+#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1155
#: templates/js/translated/stock.js:929 templates/js/translated/stock.js:1357
#: templates/js/translated/stock.js:1402
msgid "Description"
@@ -575,8 +575,8 @@ msgstr ""
#: templates/js/translated/build.js:271 templates/js/translated/build.js:606
#: templates/js/translated/build.js:1172
#: templates/js/translated/model_renderers.js:56
-#: templates/js/translated/order.js:482 templates/js/translated/part.js:1249
-#: templates/js/translated/part.js:1372 templates/js/translated/part.js:1428
+#: templates/js/translated/order.js:482 templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1384 templates/js/translated/part.js:1440
#: templates/js/translated/stock.js:1537 templates/js/translated/stock.js:1735
msgid "Quantity"
msgstr ""
@@ -2117,7 +2117,7 @@ msgid "Price break quantity"
msgstr ""
#: common/models.py:990 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1254
+#: templates/js/translated/part.js:1266
msgid "Price"
msgstr ""
@@ -3492,7 +3492,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:361
#: order/templates/order/sales_order_detail.html:377
-#: templates/js/translated/part.js:1229 templates/js/translated/part.js:1419
+#: templates/js/translated/part.js:1241 templates/js/translated/part.js:1431
msgid "Unit Price"
msgstr ""
@@ -3532,7 +3532,7 @@ msgstr ""
#: 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:1087 templates/navbar.html:23
+#: templates/js/translated/part.js:1099 templates/navbar.html:23
#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr ""
@@ -4187,7 +4187,7 @@ msgstr ""
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2117 templates/js/translated/part.js:1138
+#: part/models.py:2117 templates/js/translated/part.js:1150
#: templates/js/translated/stock.js:487
msgid "Test Name"
msgstr ""
@@ -4204,7 +4204,7 @@ msgstr ""
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2129 templates/js/translated/part.js:1147
+#: part/models.py:2129 templates/js/translated/part.js:1159
#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
@@ -4213,7 +4213,7 @@ msgstr ""
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2135 templates/js/translated/part.js:1155
+#: part/models.py:2135 templates/js/translated/part.js:1167
msgid "Requires Value"
msgstr ""
@@ -4221,7 +4221,7 @@ msgstr ""
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2141 templates/js/translated/part.js:1162
+#: part/models.py:2141 templates/js/translated/part.js:1174
msgid "Requires Attachment"
msgstr ""
@@ -4487,7 +4487,7 @@ msgstr ""
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:174
+#: 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
msgid "Subcategories"
@@ -4501,7 +4501,7 @@ msgstr ""
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:141
+#: part/templates/part/category.html:127 part/templates/part/category.html:142
msgid "Export"
msgstr ""
@@ -4522,26 +4522,30 @@ msgid "Set Category"
msgstr ""
#: part/templates/part/category.html:141
+msgid "Print Labels"
+msgstr ""
+
+#: part/templates/part/category.html:142
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:145
+#: part/templates/part/category.html:146
msgid "View list display"
msgstr ""
-#: part/templates/part/category.html:148
+#: part/templates/part/category.html:149
msgid "View grid display"
msgstr ""
-#: part/templates/part/category.html:164
+#: part/templates/part/category.html:165
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:253
+#: part/templates/part/category.html:254
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:280
+#: part/templates/part/category.html:281
msgid "Create Part"
msgstr ""
@@ -6905,7 +6909,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:840 templates/js/translated/part.js:811
-#: templates/js/translated/part.js:1056 templates/js/translated/stock.js:886
+#: templates/js/translated/part.js:1068 templates/js/translated/stock.js:886
#: templates/js/translated/stock.js:1339
msgid "Select"
msgstr ""
@@ -7379,46 +7383,46 @@ msgstr ""
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1081 templates/js/translated/stock.js:1363
+#: templates/js/translated/part.js:1093 templates/js/translated/stock.js:1363
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1124
+#: templates/js/translated/part.js:1136
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1175 templates/js/translated/stock.js:445
+#: templates/js/translated/part.js:1187 templates/js/translated/stock.js:445
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1176 templates/js/translated/stock.js:446
+#: templates/js/translated/part.js:1188 templates/js/translated/stock.js:446
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1182
+#: templates/js/translated/part.js:1194
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1207
+#: templates/js/translated/part.js:1219
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1273
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1262
+#: templates/js/translated/part.js:1274
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1363
+#: templates/js/translated/part.js:1375
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1382
+#: templates/js/translated/part.js:1394
msgid "Single Price Difference"
msgstr ""
diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po
index be85836284..48dfc0c049 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-08-17 00:00+0000\n"
+"POT-Creation-Date: 2021-08-17 02:43+0000\n"
"PO-Revision-Date: 2021-08-16 01:44\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
@@ -163,7 +163,7 @@ msgstr "Geçersiz seçim"
#: part/templates/part/part_base.html:234 report/models.py:181
#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
#: templates/js/translated/company.js:592 templates/js/translated/part.js:438
-#: templates/js/translated/part.js:571 templates/js/translated/part.js:1063
+#: templates/js/translated/part.js:571 templates/js/translated/part.js:1075
#: templates/js/translated/stock.js:1345
msgid "Name"
msgstr "Adı"
@@ -186,7 +186,7 @@ msgstr "Adı"
#: templates/js/translated/company.js:788 templates/js/translated/order.js:267
#: templates/js/translated/order.js:369 templates/js/translated/part.js:497
#: templates/js/translated/part.js:681 templates/js/translated/part.js:858
-#: templates/js/translated/part.js:1075 templates/js/translated/part.js:1143
+#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1155
#: templates/js/translated/stock.js:929 templates/js/translated/stock.js:1357
#: templates/js/translated/stock.js:1402
msgid "Description"
@@ -575,8 +575,8 @@ msgstr "Yapım işinin tamamlanması için hedef tarih. Bu tarihten sonra yapım
#: templates/js/translated/build.js:271 templates/js/translated/build.js:606
#: templates/js/translated/build.js:1172
#: templates/js/translated/model_renderers.js:56
-#: templates/js/translated/order.js:482 templates/js/translated/part.js:1249
-#: templates/js/translated/part.js:1372 templates/js/translated/part.js:1428
+#: templates/js/translated/order.js:482 templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1384 templates/js/translated/part.js:1440
#: templates/js/translated/stock.js:1537 templates/js/translated/stock.js:1735
msgid "Quantity"
msgstr "Miktar"
@@ -2117,7 +2117,7 @@ msgid "Price break quantity"
msgstr ""
#: common/models.py:990 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1254
+#: templates/js/translated/part.js:1266
msgid "Price"
msgstr "Fiyat"
@@ -3492,7 +3492,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:361
#: order/templates/order/sales_order_detail.html:377
-#: templates/js/translated/part.js:1229 templates/js/translated/part.js:1419
+#: templates/js/translated/part.js:1241 templates/js/translated/part.js:1431
msgid "Unit Price"
msgstr ""
@@ -3532,7 +3532,7 @@ msgstr ""
#: 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:1087 templates/navbar.html:23
+#: templates/js/translated/part.js:1099 templates/navbar.html:23
#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr "Parçalar"
@@ -4187,7 +4187,7 @@ msgstr "Test şablonları sadece takip edilebilir paçalar için oluşturulabili
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2117 templates/js/translated/part.js:1138
+#: part/models.py:2117 templates/js/translated/part.js:1150
#: templates/js/translated/stock.js:487
msgid "Test Name"
msgstr "Test Adı"
@@ -4204,7 +4204,7 @@ msgstr "Test Açıklaması"
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2129 templates/js/translated/part.js:1147
+#: part/models.py:2129 templates/js/translated/part.js:1159
#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr "Gerekli"
@@ -4213,7 +4213,7 @@ msgstr "Gerekli"
msgid "Is this test required to pass?"
msgstr "Testi geçmesi için bu gerekli mi?"
-#: part/models.py:2135 templates/js/translated/part.js:1155
+#: part/models.py:2135 templates/js/translated/part.js:1167
msgid "Requires Value"
msgstr ""
@@ -4221,7 +4221,7 @@ msgstr ""
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2141 templates/js/translated/part.js:1162
+#: part/models.py:2141 templates/js/translated/part.js:1174
msgid "Requires Attachment"
msgstr ""
@@ -4487,7 +4487,7 @@ msgstr ""
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:174
+#: 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
msgid "Subcategories"
@@ -4501,7 +4501,7 @@ msgstr "Parçalar (Alt kategoriler dahil)"
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:141
+#: part/templates/part/category.html:127 part/templates/part/category.html:142
msgid "Export"
msgstr ""
@@ -4522,26 +4522,32 @@ msgid "Set Category"
msgstr "Kategori Ayarla"
#: part/templates/part/category.html:141
+#, fuzzy
+#| msgid "Print Label"
+msgid "Print Labels"
+msgstr "Etiket Yazdır"
+
+#: part/templates/part/category.html:142
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:145
+#: part/templates/part/category.html:146
msgid "View list display"
msgstr ""
-#: part/templates/part/category.html:148
+#: part/templates/part/category.html:149
msgid "View grid display"
msgstr ""
-#: part/templates/part/category.html:164
+#: part/templates/part/category.html:165
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:253
+#: part/templates/part/category.html:254
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:280
+#: part/templates/part/category.html:281
msgid "Create Part"
msgstr ""
@@ -6905,7 +6911,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:840 templates/js/translated/part.js:811
-#: templates/js/translated/part.js:1056 templates/js/translated/stock.js:886
+#: templates/js/translated/part.js:1068 templates/js/translated/stock.js:886
#: templates/js/translated/stock.js:1339
msgid "Select"
msgstr ""
@@ -7379,46 +7385,46 @@ msgstr ""
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1081 templates/js/translated/stock.js:1363
+#: templates/js/translated/part.js:1093 templates/js/translated/stock.js:1363
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1124
+#: templates/js/translated/part.js:1136
msgid "No test templates matching query"
msgstr "Sorgu ile eşleşen test şablonu bulunamadı"
-#: templates/js/translated/part.js:1175 templates/js/translated/stock.js:445
+#: templates/js/translated/part.js:1187 templates/js/translated/stock.js:445
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1176 templates/js/translated/stock.js:446
+#: templates/js/translated/part.js:1188 templates/js/translated/stock.js:446
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1182
+#: templates/js/translated/part.js:1194
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1207
+#: templates/js/translated/part.js:1219
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1273
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1262
+#: templates/js/translated/part.js:1274
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1363
+#: templates/js/translated/part.js:1375
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1382
+#: templates/js/translated/part.js:1394
msgid "Single Price Difference"
msgstr ""
diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po
index 7632c92cf2..e0fdf1f364 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-08-17 00:00+0000\n"
+"POT-Creation-Date: 2021-08-17 02:43+0000\n"
"PO-Revision-Date: 2021-08-16 01:44\n"
"Last-Translator: \n"
"Language-Team: Vietnamese\n"
@@ -163,7 +163,7 @@ msgstr ""
#: part/templates/part/part_base.html:234 report/models.py:181
#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
#: templates/js/translated/company.js:592 templates/js/translated/part.js:438
-#: templates/js/translated/part.js:571 templates/js/translated/part.js:1063
+#: templates/js/translated/part.js:571 templates/js/translated/part.js:1075
#: templates/js/translated/stock.js:1345
msgid "Name"
msgstr ""
@@ -186,7 +186,7 @@ msgstr ""
#: templates/js/translated/company.js:788 templates/js/translated/order.js:267
#: templates/js/translated/order.js:369 templates/js/translated/part.js:497
#: templates/js/translated/part.js:681 templates/js/translated/part.js:858
-#: templates/js/translated/part.js:1075 templates/js/translated/part.js:1143
+#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1155
#: templates/js/translated/stock.js:929 templates/js/translated/stock.js:1357
#: templates/js/translated/stock.js:1402
msgid "Description"
@@ -575,8 +575,8 @@ msgstr ""
#: templates/js/translated/build.js:271 templates/js/translated/build.js:606
#: templates/js/translated/build.js:1172
#: templates/js/translated/model_renderers.js:56
-#: templates/js/translated/order.js:482 templates/js/translated/part.js:1249
-#: templates/js/translated/part.js:1372 templates/js/translated/part.js:1428
+#: templates/js/translated/order.js:482 templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1384 templates/js/translated/part.js:1440
#: templates/js/translated/stock.js:1537 templates/js/translated/stock.js:1735
msgid "Quantity"
msgstr ""
@@ -2117,7 +2117,7 @@ msgid "Price break quantity"
msgstr ""
#: common/models.py:990 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1254
+#: templates/js/translated/part.js:1266
msgid "Price"
msgstr ""
@@ -3492,7 +3492,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:361
#: order/templates/order/sales_order_detail.html:377
-#: templates/js/translated/part.js:1229 templates/js/translated/part.js:1419
+#: templates/js/translated/part.js:1241 templates/js/translated/part.js:1431
msgid "Unit Price"
msgstr ""
@@ -3532,7 +3532,7 @@ msgstr ""
#: 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:1087 templates/navbar.html:23
+#: templates/js/translated/part.js:1099 templates/navbar.html:23
#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr ""
@@ -4187,7 +4187,7 @@ msgstr ""
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2117 templates/js/translated/part.js:1138
+#: part/models.py:2117 templates/js/translated/part.js:1150
#: templates/js/translated/stock.js:487
msgid "Test Name"
msgstr ""
@@ -4204,7 +4204,7 @@ msgstr ""
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2129 templates/js/translated/part.js:1147
+#: part/models.py:2129 templates/js/translated/part.js:1159
#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
@@ -4213,7 +4213,7 @@ msgstr ""
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2135 templates/js/translated/part.js:1155
+#: part/models.py:2135 templates/js/translated/part.js:1167
msgid "Requires Value"
msgstr ""
@@ -4221,7 +4221,7 @@ msgstr ""
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2141 templates/js/translated/part.js:1162
+#: part/models.py:2141 templates/js/translated/part.js:1174
msgid "Requires Attachment"
msgstr ""
@@ -4487,7 +4487,7 @@ msgstr ""
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:174
+#: 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
msgid "Subcategories"
@@ -4501,7 +4501,7 @@ msgstr ""
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:141
+#: part/templates/part/category.html:127 part/templates/part/category.html:142
msgid "Export"
msgstr ""
@@ -4522,26 +4522,30 @@ msgid "Set Category"
msgstr ""
#: part/templates/part/category.html:141
+msgid "Print Labels"
+msgstr ""
+
+#: part/templates/part/category.html:142
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:145
+#: part/templates/part/category.html:146
msgid "View list display"
msgstr ""
-#: part/templates/part/category.html:148
+#: part/templates/part/category.html:149
msgid "View grid display"
msgstr ""
-#: part/templates/part/category.html:164
+#: part/templates/part/category.html:165
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:253
+#: part/templates/part/category.html:254
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:280
+#: part/templates/part/category.html:281
msgid "Create Part"
msgstr ""
@@ -6905,7 +6909,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:840 templates/js/translated/part.js:811
-#: templates/js/translated/part.js:1056 templates/js/translated/stock.js:886
+#: templates/js/translated/part.js:1068 templates/js/translated/stock.js:886
#: templates/js/translated/stock.js:1339
msgid "Select"
msgstr ""
@@ -7379,46 +7383,46 @@ msgstr ""
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1081 templates/js/translated/stock.js:1363
+#: templates/js/translated/part.js:1093 templates/js/translated/stock.js:1363
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1124
+#: templates/js/translated/part.js:1136
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1175 templates/js/translated/stock.js:445
+#: templates/js/translated/part.js:1187 templates/js/translated/stock.js:445
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1176 templates/js/translated/stock.js:446
+#: templates/js/translated/part.js:1188 templates/js/translated/stock.js:446
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1182
+#: templates/js/translated/part.js:1194
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1207
+#: templates/js/translated/part.js:1219
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1273
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1262
+#: templates/js/translated/part.js:1274
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1363
+#: templates/js/translated/part.js:1375
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1382
+#: templates/js/translated/part.js:1394
msgid "Single Price Difference"
msgstr ""
diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po
index 640fed801b..165ca5ce71 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-08-17 00:00+0000\n"
+"POT-Creation-Date: 2021-08-17 02:43+0000\n"
"PO-Revision-Date: 2021-08-16 01:44\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
@@ -163,7 +163,7 @@ msgstr ""
#: part/templates/part/part_base.html:234 report/models.py:181
#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
#: templates/js/translated/company.js:592 templates/js/translated/part.js:438
-#: templates/js/translated/part.js:571 templates/js/translated/part.js:1063
+#: templates/js/translated/part.js:571 templates/js/translated/part.js:1075
#: templates/js/translated/stock.js:1345
msgid "Name"
msgstr "名称"
@@ -186,7 +186,7 @@ msgstr "名称"
#: templates/js/translated/company.js:788 templates/js/translated/order.js:267
#: templates/js/translated/order.js:369 templates/js/translated/part.js:497
#: templates/js/translated/part.js:681 templates/js/translated/part.js:858
-#: templates/js/translated/part.js:1075 templates/js/translated/part.js:1143
+#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1155
#: templates/js/translated/stock.js:929 templates/js/translated/stock.js:1357
#: templates/js/translated/stock.js:1402
msgid "Description"
@@ -575,8 +575,8 @@ msgstr ""
#: templates/js/translated/build.js:271 templates/js/translated/build.js:606
#: templates/js/translated/build.js:1172
#: templates/js/translated/model_renderers.js:56
-#: templates/js/translated/order.js:482 templates/js/translated/part.js:1249
-#: templates/js/translated/part.js:1372 templates/js/translated/part.js:1428
+#: templates/js/translated/order.js:482 templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1384 templates/js/translated/part.js:1440
#: templates/js/translated/stock.js:1537 templates/js/translated/stock.js:1735
msgid "Quantity"
msgstr ""
@@ -2117,7 +2117,7 @@ msgid "Price break quantity"
msgstr ""
#: common/models.py:990 company/templates/company/supplier_part.html:231
-#: templates/js/translated/part.js:1254
+#: templates/js/translated/part.js:1266
msgid "Price"
msgstr ""
@@ -3492,7 +3492,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:361
#: order/templates/order/sales_order_detail.html:377
-#: templates/js/translated/part.js:1229 templates/js/translated/part.js:1419
+#: templates/js/translated/part.js:1241 templates/js/translated/part.js:1431
msgid "Unit Price"
msgstr ""
@@ -3532,7 +3532,7 @@ msgstr ""
#: 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:1087 templates/navbar.html:23
+#: templates/js/translated/part.js:1099 templates/navbar.html:23
#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr ""
@@ -4187,7 +4187,7 @@ msgstr ""
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2117 templates/js/translated/part.js:1138
+#: part/models.py:2117 templates/js/translated/part.js:1150
#: templates/js/translated/stock.js:487
msgid "Test Name"
msgstr ""
@@ -4204,7 +4204,7 @@ msgstr ""
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2129 templates/js/translated/part.js:1147
+#: part/models.py:2129 templates/js/translated/part.js:1159
#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
@@ -4213,7 +4213,7 @@ msgstr ""
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2135 templates/js/translated/part.js:1155
+#: part/models.py:2135 templates/js/translated/part.js:1167
msgid "Requires Value"
msgstr ""
@@ -4221,7 +4221,7 @@ msgstr ""
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2141 templates/js/translated/part.js:1162
+#: part/models.py:2141 templates/js/translated/part.js:1174
msgid "Requires Attachment"
msgstr ""
@@ -4487,7 +4487,7 @@ msgstr ""
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:88 part/templates/part/category.html:174
+#: 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
msgid "Subcategories"
@@ -4501,7 +4501,7 @@ msgstr ""
msgid "Export Part Data"
msgstr ""
-#: part/templates/part/category.html:127 part/templates/part/category.html:141
+#: part/templates/part/category.html:127 part/templates/part/category.html:142
msgid "Export"
msgstr ""
@@ -4522,26 +4522,30 @@ msgid "Set Category"
msgstr ""
#: part/templates/part/category.html:141
+msgid "Print Labels"
+msgstr ""
+
+#: part/templates/part/category.html:142
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:145
+#: part/templates/part/category.html:146
msgid "View list display"
msgstr ""
-#: part/templates/part/category.html:148
+#: part/templates/part/category.html:149
msgid "View grid display"
msgstr ""
-#: part/templates/part/category.html:164
+#: part/templates/part/category.html:165
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:253
+#: part/templates/part/category.html:254
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:280
+#: part/templates/part/category.html:281
msgid "Create Part"
msgstr ""
@@ -6905,7 +6909,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:840 templates/js/translated/part.js:811
-#: templates/js/translated/part.js:1056 templates/js/translated/stock.js:886
+#: templates/js/translated/part.js:1068 templates/js/translated/stock.js:886
#: templates/js/translated/stock.js:1339
msgid "Select"
msgstr ""
@@ -7379,46 +7383,46 @@ msgstr ""
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:1081 templates/js/translated/stock.js:1363
+#: templates/js/translated/part.js:1093 templates/js/translated/stock.js:1363
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1124
+#: templates/js/translated/part.js:1136
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1175 templates/js/translated/stock.js:445
+#: templates/js/translated/part.js:1187 templates/js/translated/stock.js:445
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1176 templates/js/translated/stock.js:446
+#: templates/js/translated/part.js:1188 templates/js/translated/stock.js:446
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1182
+#: templates/js/translated/part.js:1194
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1207
+#: templates/js/translated/part.js:1219
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1261
+#: templates/js/translated/part.js:1273
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1262
+#: templates/js/translated/part.js:1274
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1363
+#: templates/js/translated/part.js:1375
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:1382
+#: templates/js/translated/part.js:1394
msgid "Single Price Difference"
msgstr ""